...
Nginx stub status module
Make sure that the server process is configured with the stub status module. Use the command:
Code Block language bash theme RDark 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/
Add a new server block configuration inside /etc/nginx/sites-enabled/default
Code Block language bash theme RDark 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; } }
.
Restart nginx service
Code Block language bash theme RDark root@linux:~# systemctl restart nginx
.
Now the Url 127.0.0.1:8081/nginx_status should be available
Code Block language bash theme RDark 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
.
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 language bash theme RDark 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.
Specific list of instances: You can specify NGINX instances
Test the plugin
...
Check_MK will create one service for each web server.
Debugging
Port Checking
...