Zabbix经常使用key和自定义key的讲解

 zabbix中经常使用到的几个key:mysql

一、监控端口的:net.tcp.port[,3306],能够在服务器端对被监控端测试。linux

 /usr/local/zabbix/bin/ -s192.168.8.120 -k net.tcp.port[,3306] 返回1为192.168.8.120的端口3306存在,0为不存在sql

#-k 表示键值windows

二、监控进程的:proc.num[mysqld]
 /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -k proc.num[mysqld] 返回值为192.168.8.120中mysqld的进程数量
 /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -k proc.num[] 返回值为192.168.8.120中全部的进程数量服务器

能够在触发器的条件中设置返回为0的话触发动做,报警啥的。
三、查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数tcp


四、查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式
五、查看系统的简单信息:system.uname 返回值为192.168.8.120的系统信息,相似于linux系统的uname -a命令
六、查看windowns系统当前网卡的进出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]同样
 /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值为IP为192.168.8.120的进流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
 /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值为IP为192.168.8.120的出流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
七、查看系统内存大小:mory.size[total],返回值单位bytes
八、查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes
九、查看文件是否存在:vfs.file.exists[file] 文件若是存在返回0,不存在返回1
十、查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)
十一、自动发现网卡并监控流量和自动发现分区及分区挂载状况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用便可
 
以上是经常使用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等状况。若是要监控其余的能够自定义key来实现,本人喜欢自定义key,写个脚原本返回,获得本身想要的监控结果,zabbix在这块作的很是好,扩展性很强,支持各类脚原本实现自定义的key。
要启用自定义key,须要在客户端的配置文件中启用UnsafeUserParameters=1参数,而后在配置文件的最下面来定义key,如:
UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本能够是任何能够运行的脚本语言。ide

使用自定义key常见错误。测试

 Zabbix客户端日志出现(Not all processes could be identified, 解决spa

场景:由于使用了netstat -p参数。日志

权限问题,zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,致使从服务器取到的自动发现脚本为空

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
解决方法 :
chmod +s /bin/netstat

chmod +s是为了方便普通用户执行一些特权命令,SUID/SGID程序容许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。

相关文章
相关标签/搜索