暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于Zabbix监控配置键值与自定义键值

浙金科技无限 2021-06-25
3216

Zabbix的监控配置流程


#1

  监控项说明

● 监控项(iterm)就是需要监控的指标,比如cpu利用率,cpu负载,内存使用率等。


● 监控项一般关联指定模板(只有应用此模板的主机才有此监控项),也可以将监控项关联指定主机(某个独有监控项)。


 监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。


●  监控项都是基于键值进行监控,键值有包含zabbix自带的内置键值,通过shell/python等脚本抓取的参数自定义的键值。

#2

  为指定模板配置监控项

配置→模板→监控项(需要添加监控项的模板)→创建监控项


常用监控键值

监控项的键以类似 xxx.yyy.zzz[mm,<nn>] 方式组织,xxx.yyy.zzz是键名,[mm,<nn>]为键的参数,mm表必填参数,<nn>表可选参数。


net.if.collisions[if] 

网络冲突数量,返回整型。


net.if.in[if,<mode>] 

网络接口上传流量统计,返回 整数。网卡流入量统计,mode:bytes

(默认)/packets/errors/dropped


net.if.out[if,<mode>] 

上行流量统计,返回整数。网卡流出量统计,mode:bytes(默认)/packets/errors/dropped


net.if.total[if,<mode>] 

网络接口上传下载的流量总和,返回整数。网卡的进出流量统计信息总和,mode:bytes(默认)/packets/errors/dropped


net.tcp.listen[port] 

检查 TCP 端口 是否处于侦听状态,返回 0 - 未侦听;1 - 正在侦听。


net.tcp.port[<ip>,port] 

检查是否能将 TCP 连接到指定端口,返回 0 - 不能连接;1 - 可以连接。


net.tcp.service[service,<ip>,<port>] 

检查服务是否运行并接受 TCP 连接,返回 0 - 服务关闭;1 - 服务运行。


proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>] 

CPU进程百分比,返回浮点值。

进程的CPU利用率百分比,name:进程名,默认所有进程;user:指定用户名,默认所有用户;type:CPU利用率类型,user/system,默认是两者;cmdline:提供命令行用以过滤,支持正则;mode:数据收集模式,avg1(默认)/avg5/avg15;zone:仅用于Solaris。


proc.num[<name>,<user>,<state>,<cmdline>] 

进程数量,返回整数。

name:进程名称(默认是all processes) user:用户名(默认是all users) state:可选的值: all (default),run,sleep,zomb cmdline:按命令行过滤(正则表达式)system.cpu.intr

设备的中断数,返回整数。


system.cpu.load[<cpu>,<mode>] 

CPU 负载,返回浮点数。

cpu:all (default), percpu (总负载除以在线CPU数) 

mode:avg1 (一分钟平均值, 默认值), avg5, avg15。


system.cpu.util[<cpu>,<type>,<mode>] 

CPU 使用率,返回浮点数。

cpu:<CPU数量> 或者all(默认值) 

type:idle,nice,user(默认值),system (Windows系统默认值),

iowait,interrupt,softirq,steal,guest,guest_nice mode:可能的值: avg1 (默认值), avg5, avg15


vfs.dev.read[<device>,<type>,<mode>] 

磁盘读取数据,类型是sectors, operations, bytes;返回整数,类型是 sps, ops, bps则返回浮点。

device:磁盘设备 (默认为 all) 

type:sectors,operations,bytes,sps,ops,bps(必须指定此参数,因为各种操作系统的默认值不同) sps,ops,bps表示:[sectors/operations/bytes] per second。 

mode:avg1(1分钟平均值, 默认),avg5,avg15.此参数仅支持的类型为: sps,ops,bps.


vfs.dev.write[<device>,<type>,<mode>] 

磁盘写入数据,类型是sectors, operations, bytes;返回整数,类型是 sps, ops, bps则返回浮点。


vfs.fs.size[fs,<mode>] 

磁盘容量,如果返回的是字节则是整数,如果返回的是百分比则是浮点。

fs:文件系统 

mode:total(默认),free,used,pfree(剩余百分比),pused(已用百分比)。


vm.memory.size[<mode>] 

占字节或总百分比的内存大小,它返回一个整数值,如果字节,只要百分比返回浮点值。内存大小,以字节为单位,以百分比表示。整数用于字节,浮点用于百分比。


自定义监控项键值



zabbix自带的默认模版里包括了很多监控项,有时候为了满足业务需求,需要根据自己的监控项目自定义监控项。


1、首先需要编写一个自定义的监控脚本,以监控httpd进程是否存在为例。

脚本名字

check_httpd.sh


脚本目录

/usr/local/etc/zabbix_scripts


脚本内容

#!/bin/bash

result=`ps -ef | grep httpd | grep -v grep`

if [ -n "$result" ]

then

        echo '0'

else

        echo '1'

fi


脚本说明

通过ps检查httpd进程是否存在,如果存在则脚本反馈1,如果不存在则返回0


2、修改zabbix_agentd.conf配置文件。

vi /etc/zabbix/zabbix_agent.conf

UnsafeUserParameters=1 


◼  UnsafeUserParameters默认为0,此处我们将它改为1,改为1以后,表示用户自定义的脚本中可以包含特殊字符。

UserParameter=check_httpd,

sh /usr/local/etc/zabbix_scripts/check_httpd.sh


◼ 增加一行我们自定义监控项,格式为:UserParameter=<键值>,<命令>。这里我们自定义键值为:check_httpd,要执行的命令为执行check_httpd.sh这个脚本。


说明:等号后面,逗号前面是定义的监控项的键值,逗号后面是脚本存放的路径,添加完成以后,需要重启zabbix_agentd才会生效。重启过后监控项中可以使用check_httpd键值来监控httpd进程是否存在。


点击蓝字关注我们

文章转载自浙金科技无限,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论