zabbix4 ---- template
zabbix4 ---- template
zabbix 模板
共享模板:https://share.zabbix.com/
自定义添加监控项TCP连接数
修改配置文件
/etc/zabbix/zabbix_agentd.d/userparameter_tcp_conn_status.conf
UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/tcp_conn_status.sh "$1" "$2"
UserParameter固定参数 tcp_status监控项中的值 [*]脚本中所有参数 脚本路径 脚本参数
添加脚本
/etc/zabbix/zabbix_agentd.d/tcp_conn_status.sh
#!/bin/bash
tcp_conn_status(){
TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2)
if [ -z $TCP_STAT_VALUE ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
main(){
case $1 in
tcp_status)
tcp_conn_status $2;
;;
*)
echo "$0 + tcp_status + Status"
esac
}
main $1 $2
测试脚本
bash tcp_conn_status.sh tcp_status ESTAB
重启agent服务
systemctl restart zabbix-agent
测试是否能获取脚本中的数据
zabbix_get -s 192.168.10.11 -k "linux_status[tcp_status,ESTAB]"
导入模板
模板 --> 导入 --> Template Linux TCP_CONN Status.xml
对主机添加一个模板
查看数据
注意事项
1、监控项确认是否正常
2、脚本是否有执行权限
3、配置文件是否可以zabbix用户读取
自定义添加memcahced模板
数据采集测试
echo -e "stats\nquit" | nc 127.1 11211 | grep "STAT curr_connections" | awk '{print $NF}'
echo -e "stats\nquit" | nc 127.1 11211 | grep "STAT threads" | awk '{print $NF}'
编写脚本采集数据
#!/bin/bash
memcached_status(){
M_PORT=$1
M_CMD=$2
echo -e "stats\nquit" | nc 127.1 "$M_PORT" | grep "STAT $M_CMD" | awk '{print $NF}'
}
main(){
case $1 in
memcached_status)
memcached_status $2 $3
;;
*)
echo $0 memcached_status PORT STATUS/threads
esac
}
main $@
配置agent并启动
grep ^[a-Z] ../zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.10.3 #允许谁访问
ServerActive=192.168.10.3 #写zabbix server地址或者zabbix proxy地址
Hostname=192.168.10.13
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl restart zabbix-agent
采集数据验证
zabbix_get -s 192.168.10.13 -k "memcached_status["memcached_status","11211","threads"]"
创建一个memcached模板
应用集,多个监控项的集合
可以不创建,推荐创建,便于直观显示
监控项,核心监控功能,用于采集数据
创建图形
创建触发器
此处需要在自己的模板定义,可创建多个触发器