...
Status | ||||
---|---|---|---|---|
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Step-by-step guide
After installing and configuring Nginx, you can follow these steps to monitor Nginx status.
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
UrlURL 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
Now you can execute the plugin manually and see if it works:
...
Check_MK will create one service for each web server.
Debugging
Port Checking
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
root@linux:~# netstat -tulpen |grep 8081 tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 0 43044 1353/nginx: master tcp6 0 0 :::8081 :::* LISTEN 0 43045 1353/nginx: master |
Nginx Service
Code Block | ||||
---|---|---|---|---|
| ||||
root@linux:~# systemctl status nginx |
Stub status module
Code Block | ||||
---|---|---|---|---|
| ||||
root@linux:~# nginx -V 2>&1 | grep -o with-http_stub_status_module with-http_stub_status_module |
Checking the status page
Code Block | ||||
---|---|---|---|---|
| ||||
root@linux:~# wget -qO - http://127.0.0.1:8081/nginx_status Active connections: 1 server accepts handled requests 398 398 398 Reading: 0 Writing: 1 Waiting: 0 |
...
Note |
---|
We also have detailed documentation about nginx_status: https://checkmk.com/cms_check_nginx_status.html. Do you want to learn more about monitoring web servers? Check out our blog page: https://blog.checkmk.com/deblog/how-to-monitor-webserverweb-server. |
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...