Zabbix常用监控项

栏目: 服务器 · 发布时间: 5年前

内容简介:Zabbix的大用处Zabbix从3.0之后就多了许多自带的监控项,比较常用的主要是CPU、内存、网卡这几方面的监控,但是作为一个合格的运维这远远的不够的,比如一些进程的状态,Nginx的会话情况,PHP的进程服务状态,Redis的键值,数据库的查询情况,服务器的温度等等这些都是我们应该时刻关注的,以为这些都对开发有一定的帮助,假如MySQL的查询过大多慢,那么开发看对应的监控找出问题所在,然后进行优化处理,还有就是可以对监控项设定一定的触发器完成自动化的操作,比如说,nginx无缘无故的挂掉了,那么可以

Zabbix常用监控项

Zabbix的大用处

Zabbix从3.0之后就多了许多自带的监控项,比较常用的主要是CPU、内存、网卡这几方面的监控,但是作为一个合格的运维这远远的不够的,比如一些进程的状态,Nginx的会话情况,PHP的进程服务状态,Redis的键值,数据库的查询情况,服务器的温度等等这些都是我们应该时刻关注的,以为这些都对开发有一定的帮助,假如 MySQL 的查询过大多慢,那么开发看对应的监控找出问题所在,然后进行优化处理,还有就是可以对监控项设定一定的触发器完成自动化的操作,比如说,nginx无缘无故的挂掉了,那么可以设置一个动作,先发一封邮件警告,然后尝试帮你重启服务,如果尝试重启不行,那么就再发邮件通知你问题严重了。

Zabbix自带的常用项

agent.ping --- 检测客户端可达性。返回nothing表示不可达,1表示可达

system.cpu.load[] --- 检测CPU 负载。返回浮点数

system.cpu.util[] --- 检测CPU 使用率。返回浮点数

vfs.dev.read[] --- 检测磁盘读取数据。返回是 sps, ops, bps浮点类型,需要定义1024倍

vfs.dev.write[] --- 检测磁盘写入数据。返回是 sps, ops, bps浮点类型,需要定义1024倍

...

还有很多很多,但是我这里就不一一列举了,因为从3.0开始Zabbix支持中文还不错,小伙伴们可以看描述即可

Zabbix的自定义常用项

内存相关的自定义项

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/catram.conf
UserParameter=ram.info[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'
ram.info[Cached] --- 检测内存的缓存使用量,返回整数,需要定义1024倍
ram.info[MemFree] --- 检测内存的空余量,返回整数,需要定义1024倍
ram.info[Buffers] --- 检测内存的使用量,返回整数,需要定义1024倍

TCP相关的自定义项

vim /usr/local/zabbix/share/zabbix/alertscripts/tcp_connection.sh
#!/bin/bash
function ESTAB {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'ESTAB' | awk '{print $2}'
}
function TIMEWAIT {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'TIME-WAIT' | awk '{print $2}'
}
function LISTEN {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'LISTEN' | awk '{print $2}'
}
$1


vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/cattcp.conf
UserParameter=tcp[*],/usr/local/zabbix/share/zabbix/alertscripts/tcp_connection.sh $1
tcp[TIMEWAIT] --- 检测TCP的驻留数,返回整数
tcp[ESTAB] --- 检测TCP的连接数,返回整数
tcp[LISTEN] --- 检测TCP的监听数,返回整数

Nginx相关的自定义项

vim /etc/nginx/conf.d/default.conf
    location /nginx-status
    {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }

    
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx.conf
UserParameter=Nginx.active,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | awk '/Active/ {print $NF}'
UserParameter=Nginx.read,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | grep 'Reading' | cut -d" " -f2
UserParameter=Nginx.wrie,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | grep 'Writing' | cut -d" " -f4
UserParameter=Nginx.wait,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | grep 'Waiting' | cut -d" " -f6
UserParameter=Nginx.accepted,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $127.0.0.1}'
UserParameter=Nginx.handled,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $80}'
UserParameter=Nginx.requests,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}'

Nginx.active --- 检测Nginx正处理连接数,返回整数

Nginx.read --- 检测Nginx读取信息数,返回整数

Nginx.wrie --- 检测Nginx返回信息数,返回整数

Nginx.wait --- 检测Nginx驻留连接数,返回整数

Nginx.accepted --- 检测Nginx已处理连接数,返回整数

Nginx.handled --- 检测Nginx成功握手数,返回整数

Nginx.requests --- 检测Nginx成功请求数,返回整数

PHP相关的自定义项

vim /etc/nginx/conf.d/default.conf
 location /status {
      allow 127.0.0.1;
      deny all;
      fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
      include        fastcgi_params;
      fastcgi_pass unix:/dev/shm/php5-fpm.sock;
    }
vi /etc/php-fpm.d/www.conf
pm.status_path = /status


vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/php.conf
UserParameter=PHP.listenqueue,/usr/bin/wget --quiet -O - http://127.0.0.1:80/status?auto | grep "listen queue:" | grep -vE "len|max" | awk '{print$$3}'
UserParameter=PHP.idle,wget --quiet -O - http://127.0.0.1:80/status?auto | grep "idle processes" | awk '{print$$3}'
UserParameter=PHP.active,wget --quiet -O - http://127.0.0.1:80/status?auto | grep "active" | awk '{print$$3}'| grep -v "process"
UserParameter=PHP.conn,wget --quiet -O - http://127.0.0.1:80/status?auto | grep "accepted conn" | awk '{print$$3}'
UserParameter=PHP.reached,wget --quiet -O - http://127.0.0.1:80/status?auto | grep "max children reached" | awk '{print$$4}'
UserParameter=PHP.requests,wget --quiet -O - http://127.0.0.1:80/status?auto | grep "slow requests" | awk '{print$$3}'
PHP.listenqueue --- 检测 PHP 队列数,返回整数
PHP.idle --- 检测PHP空闲进程数,返回整数
PHP.active --- 检测PHP活动进程数,返回整数
PHP.conn --- 检测PHP请求数,返回整数
PHP.reached --- 检测PHP达到限制次数,返回整数
PHP.requests --- 检测PHP慢请求数,返回整数

Redis相关的自定义项

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/redis.conf
UserParameter=Redis.Status,/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 ping |grep -c PONG
UserParameter=Redis_conn[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "connected_clients" | awk -F':' '{print $$2}'
UserParameter=Redis_rss_mem[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_memory_rss" | awk -F':' '{print $$2}'
UserParameter=Redis_lua_mem[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_memory_lua" | awk -F':' '{print $$2}'
UserParameter=Redis_cpu_sys[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_cpu_sys" | awk -F':' '{print $$2}'
UserParameter=Redis_cpu_user[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_cpu_user" | awk -F':' '{print $$2}'
UserParameter=Redis_cpu_sys_cline[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_cpu_sys_children" | awk -F':' '{print $$2}'
UserParameter=Redis_cpu_user_cline[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "used_cpu_user_children" | awk -F':' '{print $$2}'
UserParameter=Redis_keys_num[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep -w "$$1" | grep -w "keys" | grep db$3 | awk -F'=' '{print $$2}' | awk -F',' '{print $$1}'
UserParameter=Redis_loading[*],/usr/local/redis/bin/redis-cli -h $1 -p $2 info | grep loading | awk -F':' '{print $$2}'
Redis.Status --- 检测 Redis 运行状态,返回整数
Redis_conn --- 检测Redis成功连接数,返回整数
Redis_rss_mem --- 检测Redis系统分配内存,返回整数
Redis_lua_mem --- 检测Redis引擎消耗内存,返回整数
Redis_cpu_sys --- 检测Redis主程序核心CPU消耗率,返回整数
Redis_cpu_user --- 检测Redis主程序用户CPU消耗率,返回整数
Redis_cpu_sys_cline --- 检测Redis后台核心CPU消耗率,返回整数
Redis_cpu_user_cline --- 检测Redis后台用户CPU消耗率,返回整数
Redis_keys_num --- 检测库键值数,返回整数
Redis_loading --- 检测Redis持久化文件状态,返回整数

欢迎提出需求

后续如果遇到新的监控项需求,这篇博客也会更新上去,假如你有什么想要监控的,但有不知道该怎么监控可以在下方的评论区留言我看到后将第一时间为你解答,就算我不会,也会有其他的小伙伴和你一起思考

当然,如果你非常关注监控运维的话,可以收藏这篇博客

待续。。。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

技术管理之巅

技术管理之巅

黄哲铿 / 电子工业出版社 / 2015-6 / 49.00元

《技术管理之巅——如何从零打造高质效互联网技术团队?》为您解密国内顶级互联网公司技术团队管理的精髓。作者结合自己十余年在国内知名互联网公司MySteel、1号店等担任PMO总监、技术总监的丰富经验,进行归纳和总结。书中围绕着技术管理中的热点“如何搭建扁平化、去中心化的技术团队”、“大数据下的技术管理创新”、“目标管理方法OKR”、“阿米巴生产模式”、“Scrum和Kanban的实践”逐渐展开,从技......一起来看看 《技术管理之巅》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具