zabbix的常用模板
zabbix的rpm包下载地址 http://repo.zabbix.com/zabbix/注意,本文所有内容都是基于 zabbix 3.x 版本的!!!
1、Tcp连接监控相关设置
模板
Templates TCP Connection Status.xml 已上传到附件,导入到web zabbix即可
客户端脚本
cat Tcp_Status.sh
#!/bin/bash
#scripts for tcp status
function SYNRECV {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'SYN-RECV' | awk '{print $2}'
}
function ESTAB {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'ESTAB' | awk '{print $2}'
}
function FINWAIT1 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'FIN-WAIT-1' | awk '{print $2}'
}
function FINWAIT2 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'FIN-WAIT-2' | awk '{print $2}'
}
function TIMEWAIT {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'TIME-WAIT' | awk '{print $2}'
}
function LASTACK {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'LAST-ACK' | awk '{print $2}'
}
function LISTEN {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'LISTEN' | awk '{print $2}'
}添加脚本x权限
chmod +x Tcp_Status.sh 在zabbix_agentd .conf 添加如下代码,注意脚本路径
UserParameter=Tcp.Status
[*],/etc/zabbix/Tcp_Status.sh $1 zabbix-agent重启即可
2、Nginx的连接监控设置
提供模板
Template Nginx Connection.xml 已上传到附件,导入到web zabbix即可
客户端脚本
cat nginx_status.sh
#!/bin/bash
# Info: zabbix 监控 nginx 性能以及进程状态
# 检查nginx 进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
# 检查nginx 性能
# 活动连接数
function active {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
# 处理的连接数
function accepts {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
# 成功创建的握手次数
function handled {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
# 处理的请求数
function requests {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 读取客户端的连接数
function reading {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
# 响应数据到客户端的数量
function writing {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
# 已经处理完正在等候下一次请求指令的驻留连接
function waiting {
/usr/bin/curl "http://127.0.0.1/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
# 执行function
$1 添加x权限
在zabbix_agentd .conf 添加如下代码,注意脚本路径
UserParameter=Nginx.Status
[*],/etc/zabbix/nginx_status.sh $1 最后zabbix-agent重启即可
3、RabbitMQ的连接监控设置
提供模板
Template RabbitMQ Connection.xml 已上传到附件,导入到web zabbix即可
客户端脚本
cat Rabbitmq_status.sh
#!/bin/bash
#Info: check rabbitMQ messqges_ready value,if >10 action
USER='admin'
PASSWD='admin'
URL1='http://127.0.0.1:15672/api/vhosts'
COMMAD='/opt/application/rabbitmq_server-3.6.5/sbin/rabbitmqctl'
OPTION='list_queues'
PATH='/tmp/rabbitmq_messages.html'
/usr/bin/curl -s -u $USER:$PASSWD $URL1 > $PATH
VALUE=`/bin/grep -oP '(?
页:
[1]