自定义监控,调用脚本。
一、监控nginx服务器
1、环境准备: 主机192.168.80.138,nginx支持状态查询 tar -xvf nginx-1.17.3.tar.gz cd nginx-1.17.3 ./configure --with-http_stub_status_module make && make install 2、修改nginx配置文件 vim /usr/local/nginx/conf/nginx.conf server { ... location /status { stub_status on; #开启状态页面,通过192.168.80.138/status访问 } ... } 3、编写脚本: # 通过curl -s获取状态页面上的信息,这里只获取部分信息 vim /usr/local/bin/nginx_status.sh #!/bin/bash case $1 in "active") curl -s http://192.168.80.138/status | awk 'NR==1{print $3}';; #第一行,第三列 "accepts") curl -s http://192.168.80.138/status | awk 'NR==3{print $1}';; #第三行,第一列 "waiting") curl -s http://192.168.80.138/status | awk 'NR==4{print $6}';; #第一行,第三列 esac 4、创建自定义监控项: # 首先要在配置文件开启自定义监控,并且指定监控文件的目录 vim /usr/local/etc/zabbix_agentd.conf.d/nginx.status UserParameter=nginx.status[*],/usr/local/bin/nginx_status.sh $1 # [*]表示获取的参数,然后把获取到的参数传递给$1 # 调用方式:nginx.status[active] 5、测试: killall -9 zabbix_agentd zabbix_agentd zabbix_get -s 127.0.0.1 -k nginx.status[active] 6、配置监控服务器:(通过web页面) 配置-->模板-->创建模板 nginx_status模板-->应用集-->创建应用集nginx_status模板-->监控项-->创建监控项 # 一个监控项对应一条命令 # nginx.status[active],nginx.status[accepts],nginx.status[waiting] 键值对应了自定义监控文件中的命令 这里只创建了一个nginx.status[active] 配置-->主机-->nginx_client1-->模板 检测中-->最新数据
写总结的第五十八天!!!
