Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Nginx stub status module

    Make sure that the server process is configured with the stub status module. Use the command:

    Code Block
    languagebash
    themeRDark
    root@linux:~# nginx -V 2>&1 | grep -o with-http_stub_status_module   
    with-http_stub_status_module

    If the stub status module is not installed, you can follow this guide for the installation: https://www.tecmint.com/enable-nginx-status-page/

  2. Add a new server block configuration inside /etc/nginx/sites-enabled/default

    Code Block
    languagebash
    themeRDark
    title/etc/nginx/sites-enabled/default
    server {
            listen 8081;
            listen [::]:8081;
    
            server_name _;
    
            root /var/www/html;
            index index.html;
    
            location /nginx_status
    {
                    stub_status on;
                    access_log off;
                    allow 127.0.0.1;
                    deny all;
    
            }
    }

    .

  3. Restart nginx service

    Code Block
    languagebash
    themeRDark
    root@linux:~# systemctl restart nginx

    .

  4. Now the Url 127.0.0.1:8081/nginx_status should be available

    Code Block
    languagebash
    themeRDark
    root@linux:~# wget -qO - http://127.0.0.1:8081/nginx_status
    Active connections: 1 
    server accepts handled requests
     1 1 1 
    Reading: 0 Writing: 1 Waiting: 0 

    .

  5. Configure nginx_status

    • Manually
      You must install the agent plugin nginx_status into your agent's plugins directory (usually /usr/lib/check_mk_agent/plugins). The plugin tries to autodetect all running NGINX servers. If that fails, you must create the configuration file /etc/check_mk/nginx_status.cfg. Here is one example:

      Code Block
      languagebash
      themeRDark
      servers = [{'address': '127.0.0.1',
        'page': 'nginx_status',
        'port': 8081,
        'protocol': 'http'}]


    • via Bakery
      Setup → Agents → Windows, Linux, Solaris... → Agent rules →NGINX webservers (Linux)

      • Autodetect instances expect HTTPS on the following ports: nginx_status will try to autodetect all running NGINX servers.
        Screenshot of New rule for Nginx webserver. Autodetect instances, expect HTTPS on the following ports enabled. Port 443 selected.Image Modified

      • Specific list of instances: You can specify NGINX instances
        Screenshot of New rule for Nginx webserver. Specific list of instances enabled. Protocol set to HTTP. IP address used in this example is 127.0.0.1. TCP port number set to 8081. URI set to nginx_status.Image Modified


  6. Test the plugin

...

Check_MK will create one service for each web server.
Screenshot of Undecided services, currently not monitored 1. Check reports pending.Image Modified

Debugging

Port Checking

...