zabbix中常用key值、自定义key值和Items、Triggers、Graphs创建
zabbix中常用key值[*] 监控端口的key值:net.tcp.port[,port_number]
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k net.tcp.port[,21]
1
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k net.tcp.port[,1433]
0
# 返回1为10.10.2.32的端口21存在,0为端口1433不存在。
[*] 监控进程的key值:proc.num
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num
1
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num
0
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num[]
59
# /app/zabbix/bin/zabbix_get -s 10.10.2.131 -k proc.num
1
# proc.num返回值为10.10.2.32中WinRAR.exe的进程数量; proc.num[]返回值为10.10.2.32中所有的进程数量。
[*] 查看CPU核数的key值:system.cpu.num 返回值为服务器CPU的核数
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k system.cpu.num
16
#
[*] 查看系统的系统启动时间和当前时间的key值:system.boottime、system.localtime
返回值为系统启动时间和当前时间,为时间戳格式
[*] 查看系统的简单信息的key值:system.uname
# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k system.uname
Windows WGQ-DBF 6.1.7601 Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 x64
#
[*] 查看磁盘容量息的key值:vfs.fs.size[/,pfree]
# /app/zabbix/bin/zabbix_get -s 10.10.2.83 -k vfs.fs.size[/,pfree]
70.659044
# vfs.fs.size[/,pfree]:取/领域的剩余空间率。p是percentage,
vfs.fs.size[/,free]:取/领域的剩余空间。对应的单位就是B(这里的意思是Byte)
vfs.fs.size[/,pused]:取/领域的使用空间率。
vfs.fs.size[/,used]:取/领域的使用空间。
如果要创建触发器表达式可以使用{ZABBIX-CC:vfs.fs.size[/,pfree].last(0)}type C:\zabbix_zgent\conf\zabbix_agentd.win.conf
# Mandatory: no
# Default:
# EnableRemoteCommands=0
EnableRemoteCommands=1
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0
UnsafeUserParameters=1
UserParameter=tcp.timewait,C:\zabbix_zgent\bat\net-time-wait.bat
Client:10.15.44.161
# cat /usr/local/zabbix/alertscripts/uptime.sh
#!/bin/bash
up_time=`uptime|cut -d ' ' -f 3-6|cut -d',' -f 1,2`
echo $up_time
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1
UserParameter=uptime,/usr/local/zabbix/alertscripts/uptime.sh
# service zabbix_agentd restart Server:
# /app/zabbix/bin/zabbix_get -s 10.15.44.161 -k uptime
up 2 days, 22:03
# 自定义key时提示:NOT Supported by zabbix agent
1、zabbix在自定义的Item时N提示ot Supported,Zabbix Agent默认的超时时间是3秒,自定义的Item由于各种原因返回时间会比较长。
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=10
# service zabbix_agentd restart 2、取到的值和key的类型不符。在相应主机的监控项中进行查看。
3、zabbix_server取不到监控项的值:在server上使用命令zabbix_get获取当前key
添加自定义监控项
上面配置自定义key值后我们需要把他应用到监控里,作为监控项应用到主机。
以使用zabbix监控TCP连接状态为例:
# /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S}'
TIME_WAIT 1956
CLOSE_WAIT 95
SYN_SENT 40
ESTABLISHED 738
FIN_WAIT2 25
LISTEN 35
#
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood***了)
ESTABLISHED:代表一个打开的连接/当前并发连接数
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被***)
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态。
被监控端:
# cat Tcp_Connection_Status.sh
#!/bin/bash
#This script is used to get tcp and udp connection status!
#by Justin Peng
#2016-10-26
Tcp_Status=$1
Tmp_File=/tmp/Tcp_Status.txt
/bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S}' > $Tmp_File
case $Tcp_Status in
TIME_WAIT)
num=`awk '/TIME_WAIT/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
CLOSE_WAIT)
num=`awk '/CLOSE_WAIT/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
SYN_SENT)
num=`awk '/SYN_SENT/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
ESTABLISHED)
num=`awk '/ESTABLISHED/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
FIN_WAIT2)
num=`awk '/FIN_WAIT2/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
LISTEN)
num=`awk '/LISTEN/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
SYN-RECEIVED)
num=`awk '/SYN-RECEIVED/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
FIN-WAIT-1)
num=`awk '/FIN-WAIT-1/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
CLOSING)
num=`awk '/CLOSING/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
LAST-ACK)
num=`awk '/LAST-ACK/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
CLOSED)
num=`awk '/CLOSED/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
UNKNOWN)
num=`awk '/UNKNOWN/ {print $NF}' $Tmp_File`
if [ -z $num ];then
echo 0
else
echo $num
fi
;;
*)
echo -e "\033\033[0m"
;;
esac
# vim ../etc/zabbix_agentd.conf
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1
UserParameter=tcp.status
[*],/usr/local/zabbix/etc/Tcp_Connection_Status.sh $1
# service zabbix_agentd restart Zabbix端
命令行测试
# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status
1727
# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status
738
# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status
105
# web端配置
添加zabbix监控模板
Configuration--Templates --Create template
http://s5.运维网.com/wyfs02/M00/89/63/wKiom1gRmAmAsC1AAAB1Q36FBag353.png
添加监控项
Configuration--Templates --TCP连接状态模版中的Items--Create item
http://s3.运维网.com/wyfs02/M00/89/63/wKiom1gRmdKBA3Q1AABntofTQ9I741.png
http://s3.运维网.com/wyfs02/M02/89/60/wKioL1gRmiiyHrHjAABwEFJYrx0435.png键值就是上面自定义的键值tcp.status,这里监控的是TIME_WAIT,查看键值就是根据命令返回结果展示的状态,如果是监控服务状态可以选择service state,具体展示状态和返回值关系可以点击后面的展示值映射查看。
名称中可以使用变量$1、$2...,直接调用键值的第一、二...个参数,如:Name填写Free disk space on $1 (percentage),key填写vfs.fs.size[/,pfree],name就会显示Free disk space on / (percentage)。
应用集类似分类,根据自己需求添加,也可以不填写。
这里查看值保持不变,
数据更新间隔(秒)根据实际情况填写。
以此类推添加其他状态的监控项。
http://s5.运维网.com/wyfs02/M02/89/61/wKioL1gRnHigANTSAAEUm_6BEf0132.png
至此,tcp连接状态项添加完成,
添加图形
Configuration--Templates --TCP连接状态模版中的Graphs--Create Graph-添加-全选,或者选择你要添加图形展示的项目
http://s1.运维网.com/wyfs02/M01/89/63/wKiom1gRngqwHFiKAADnHjS4j64369.png
添加触发器
Configuration--Templates --TCP连接状态模版中的Triggers --Create trigger
http://s1.运维网.com/wyfs02/M02/89/64/wKioL1gRxgDCpWVOAACQmLbRQkE185.png
当TIME_WAIT连接数大于1700触发,这里是用作测试的,具体数值更具实际情况设置。
以此类推添加其他的触发器,我这里指添加了2个
http://s4.运维网.com/wyfs02/M02/89/64/wKioL1gRxzOCGorhAABvjooDrkQ402.png
至此监控tcp连接数添加完成,后面就是应用到主机中。
http://s1.运维网.com/wyfs02/M02/89/6A/wKioL1gSndSRYMpjAAEFTlEYSj0429.png
页:
[1]