自学内容网 自学内容网

Zabbix(三)

监控Nginx服务

nginx配置

增加location{}
[root@wenzi ~]#vim /etc/nginx/sites-enabled/default
    server_name _;    #_是通配符。服务器将响应任何域名的请求
...
    location /status {    
        stub_status;
    }
...

访问 http://IP/status 即可

zabbix配置

Nginx by HTTP:无需安装zabbix agent

Template App Nginx by Zabbix agent:需要安装zabbix agent

此次使用Nginx by HTTP

方法一:修改模板级别配置

宏-模板宏;将此处默认的nginx状态页路径从 basic_status 改为 status。

和nginx配置location /status {} 匹配的路径名字相同

为方便测试,将监控项更新间隔改为10s。生产5分钟比较合适

在部署nginx的主机上链接此模板

方法二:修改主机级别配置

在部署nginx的主机上链接此模板

配置-主机-宏-继承以及主机宏; 修改宏的值,仅对该主机生效,不影响模板原内容

 更新后再次点开该主机,主机宏显示配置的nginx状态页路径status

修改监控项间隔时间为10s

 

更新完毕后,可查看模板Nginx by HTTP,里面nginx状态页路径依旧是默认的stub_status,间隔时间仍是1m,未受影响。

监控PHP-FPM

php-fpm配置

[root@wenzi ~]#vim /etc/php/8.1/fpm/pool.d/www.conf
listen = /run/php/php8.1-fpm.sock

pm.status_path = /php_status    #zabbix系统默认监控路径/status
ping.path = /ping

 nginx配置

[root@wenzi ~]#vim /etc/nginx/sites-enabled/default
location ~ \.php|/php_status|/ping {
    root /data/php;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

访问 http://IP/php_status 即可

zabbix配置

将部署php-fpm的主机链接PHP-FPM by Zabbix-agent 模板

 修改状态页路径,由默认的status改为php_status

监控连接状态为ESTABLISHED数量

自定义监控配置文件

[root@wenzi ~]#vim /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp_state_est,netstat -tna | awk '/ESTABLISHED$/' | wc -l

在客户端本机测试
[root@wenzi ~]#zabbix_agentd -t tcp_state_est
tcp_state_est                                 [t|2]

重启服务
[root@wenzi ~]#systemctl restart zabbix-agent.service

在控制端zabbix server验证
[root@wenzi ~]#zabbix_get -s 192.168.28.61 -p 10050 -k "tcp_state_est"
3

在zabbix配置自定义监控项。键值必须和自定义的键名一致。

多主机监控多个状态数量

自定义监控配置文件

[root@wenzi ~]#vim /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp_state_est,netstat -tna | awk '/ESTABLISHED$/' | wc -l
UserParameter=tcp_state_time,netstat -tna | awk '/TIME_WAIT$/' | wc -l

创建自定义模板

在自定义模板里创建自定义监控项

再将模板链接到主机即可。

查看最新数据

监控TCP11种有限状态机

准备脚本

[root@wenzi ~]#cat /etc/zabbix/zabbix_agentd.d/tcp.sh
#!/bin/bash
#********************************************************************
#FileName:     /etc/zabbix/zabbix_agentd.d/tcp.sh
#Version:      1.0
#Date:         2024-03-07
#Author:       wenzi
#Description: This is description
#********************************************************************
state=$1
netstat -tna | awk -v st=$state '$NF ~ st' | wc -l

准备自定义key监控配置文件

[root@wenzi ~]#cat /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp_state[*],/etc/zabbix/zabbix_agentd.d/tcp.sh $1

[root@wenzi ~]#zabbix_agentd -t tcp_state[ESTABLISHED]
tcp_state[ESTABLISHED]                        [t|2]
[root@wenzi ~]#zabbix_agentd -t tcp_state[LISTEN]
tcp_state[LISTEN]                             [t|23]
[root@wenzi ~]#zabbix_agentd -t tcp_state[TIME_WAIT]
tcp_state[TIME_WAIT]                          [t|12]

 配置zabbix,创建新的模板,在新模板中新增监控项,通过克隆,完成11个监控项

将模板链接到该主机

若其它主机也要监控,需要将脚本/etc/zabbix/zabbix_agentd.d/tcp.sh、自定义key/etc/zabbix/zabbix_agentd.d/tcp.conf 也复制到其它主机中,再配置Zabbix。


原文地址:https://blog.csdn.net/qq_40875048/article/details/136512341

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!