nginx日志里的连接数如何监控

1061
2025/3/25 12:32:09
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要监控Nginx日志中的连接数,您可以采用以下几种方法:

使用Nginx内置状态页面

Nginx提供了一个内置的状态信息监控页面,可用于监控Nginx的整体访问情况。首先,确保Nginx已安装并启用了http_stub_status_module模块。然后,在Nginx配置文件中添加以下内容:

server {
    listen 80;
    server_name localhost;

    location /status {
        stub_status on;
        allow 127.0.0.1;
        deny all;
    }
}

修改配置文件后,重启Nginx以应用更改。之后,您可以通过访问http://localhost/status来查看Nginx的状态信息,包括活动连接数、已接受的连接总数、已处理的连接总数等。

使用Zabbix监控工具

  1. 查看当前Nginx是否已安装内置运行状态模块
nginx -V

从命令返回值中出现“–with-http_stub_status_module”这一个模块即代表内置运行状态模块已开启。

  1. 修改Nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf

server段中添加以下内容:

location /status {
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    deny all;
}
  1. 检查配置文件语法是否正确
nginx -t
  1. 重启nginx
nginx -s reload
  1. 在Zabbix中添加监控项

    • nginx_status.sh脚本放在路径/zabbix/script/下。
    • 创建自定义监控项userparameter_nginx.conf,添加以下内容:
UserParameter active_connections http://127.0.0.1:8080/status | awk '/Active connections:/ {print $NF}'
UserParameter accepted_connections http://127.0.0.1:8080/status | awk '/Accepts:/ {print $NF}'
UserParameter handled_connections http://127.0.0.1:8080/status | awk '/Handled:/ {print $NF}'
UserParameter requests http://127.0.0.1:8080/status | awk '/Requests:/ {print $NF}'
UserParameter reading http://127.0.0.1:8080/status | awk '/Reading:/ {print $NF}'
UserParameter writing http://127.0.0.1:8080/status | awk '/Writing:/ {print $NF}'
UserParameter waiting http://127.0.0.1:8080/status | awk '/Waiting:/ {print $NF}'
  1. 在Zabbix前端添加监控图表

    • 在Zabbix前端添加图表,并将上述用户参数添加到图表中,以实时监控Nginx的连接数。

使用命令行工具

您可以使用命令行工具如netstatawk等来统计Nginx的连接数。例如,使用以下命令可以查看当前TCP连接数:

netstat -tun | awk '/tcp/ {print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

或者,使用goaccess等工具来分析Nginx访问日志,获取连接数和其他性能指标。

通过上述方法,您可以有效地监控Nginx日志中的连接数,从而了解服务器的性能状况和访问量。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux共享文件夹无权限怎么解决