zabbix客户端配置文件/etc/zabbix_agentd.conf
UserParameter=memory.free,cat /proc/meminfo | awk '/^MemFree:/{print $2}'
UserParameter=memory.total,cat /proc/meminfo | awk '/^MemTotal:/{print $2}'
#手动获取
zabbix-get -s 192.168.0.150 -k "memory.free"
zabbix_get -s 192.168.0.150 -k 'memory.total'
UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'
zabbix_get -s 192.168.0.150 -k 'memory.usage[MemFree]'
[#这里的参数是cat /proc/meminfo 看到的#]
zabbix监控nginx连接数
yum install nginx
启用nginx状态连接数
location /status {
stub_status on;
access_log on;
allow 192.168.0.0/24
deny all;
}
因实验80端口和httpd冲突端口nginx改为8080
获取状态信息
[root@localhost conf.d]# curl http://192.168.0.150:8080/status
Active connections: 3
server accepts handled requests
3 3 7
Reading: 0 Writing: 1 Waiting: 2
获取活动连接数
[root@localhost conf.d]# curl -s "http://192.168.0.150:8080/status" |awk '/^Active/ {print $NF}'
写成脚本用来掉
UserParameter=Nginx.Active[*],/usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}' #活动连接数
UserParameter=Nginx.reading[*],/usr/bin/curl -s "http://$1:$2/status" | grep 'Reading' | awk '{print $$2}'#正在进行的请求数
UserParameter=Nginx.writing[*],/usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | awk '{print $$4}'#正在处理或者已经返回给用户的信息
UserParameter=Nginx.waiting[*],/usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | awk '{print $$6}' #活动连接数
UserParameter=Nginx.accepted[*],/usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}' #已接受过的连接数
UserParameter=Nginx.handled[*],/usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}' #已处理过的连接数
UserParameter=Nginx.requests[*]/usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}' #处理的请求数
#测试
[root@localhost conf.d]# zabbix_get -s 192.168.0.150 -k "Nginx.accepted[192.168.0.150,8080]"
13
[root@localhost conf.d]# zabbix_get -s 192.168.0.150 -k "Nginx.Active[192.168.0.150,8080]"
1
。。。以此类推
Active connections:活动连接数
server accepts handled requests下的三个数:
accepts:已接受过的连接数
handled:已处理过的连接数
requests:处理的请求数
(连接和请求的区别:当开启keepalive之后一个连接可发起多个请求)
Reading:正在接进的请求数
Writing:正在处理或已经返回给用户信息
Waiting:活动连接数(Writing+Reading)
我自己添加了3个item看下生成的图像