概述:zabbix是一套非常完善和优秀的监控系统,具备了在互联网应用中所需的完备的监控功能和体系,默认情况下,zabbix客户端(zabbix-agent)是处于被动工作模式,被动与主动模式是争对zabbix客户端(zabbix-agent)而言,在较新版本中zabbix默认在服务端的模板中提供了主动和被动的监控模板,但在老版本中没有默认提供,下面来看看在centos(7.0)与debian(9)下, zabbix客户端(zabbix-agent)的快速安装。这里介绍的是yum与apt安装的方式,版本都是3.0,适用于快速安装,如果需要最新版本,可以获取最新安装源或编译最新包即可。
centos:
#rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
#yum install -y zabbix-agent.x86_64
#systemctl enable zabbix-agent && systemctl restart zabbix-agent
#cat /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=server01.xinyuer.cn
ServerActive=server01.xinyuer.cn
HostMetadata=Linux aliyun-test-group-md5sum24bit
UnsafeUserParameters=1
UserParameter=portstatus[*],/etc/zabbix/portstatusnp.sh $1 $2
UserParameter=checkping[*],/etc/zabbix/checkping.sh $1 $2
UserParameter=process[*],/etc/zabbix/process.sh $1 $2
Include=/etc/zabbix/zabbix_agentd.d/*.conf
debian:
#apt-get install zabbix-agent
#systemctl enable zabbix-agent && systemctl restart zabbix-agent
#cat /etc/zabbix/zabbix_agentd.conf
PidFile=/var/log/zabbix-agent/zabbix_agentd.pid
LogFile=/var/log/zabbix-agent/zabbix_agentd.log
LogFileSize=0
Server=server01.xinyuer.cn
ServerActive=server01.xinyuer.cn
HostMetadata=Linux aliyun-test-group-md5sum24bit
UnsafeUserParameters=1
UserParameter=checkping[*],/etc/zabbix/checkping.sh $1 $2
UserParameter=portstatus[*],/etc/zabbix/portstatusnp.sh $1 $2
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
UserParameter=errorlog[*],/etc/zabbix/nginxerror.sh $1
另外再附上zabbix上测试几个监控脚本:
1、监控nginx错误日志数量的变化脚本 (nginxerror.sh)
#!/bin/bash
_date=`date +%Y/%m/%d`
_nginxsub1_errorlog=/var/log/nginx/nginxsub1_errorlog.log
_nginxsub2_errorlog=/var/log/nginx/nginxsub2_errorlog.log
case $1 in
nginxsub1_errorlog)
errornum=`cat $_nginxsub1_errorlog | grep $_date | wc -l`
echo $errornum
;;
nginxsub2_errorlog)
errornum=`cat $_nginxsub1_errorlog | grep $_date | wc -l`
echo $errornum
;;
*)
echo "parameter input error !"
;;
esac


2、监控服务(java、mysql、redis)进程数变化的脚本(process.sh)
#!/bin/bash
case $1 in
java)
echojava=`ps -ef | grep java | grep -v grep | grep -v $2 | wc -l`
echo $echojava
;;
mysql)
echomysql=`ps -ef | grep mysql | grep -v grep | grep -v $2 | wc -l`
echo $echomysql
;;
redis)
echoredis=`ps -ef | grep redis | grep -v grep | grep -v $2 | wc -l`
echo $echoredis
;;
*)
echo "input error"
;;
esac


3、监控服务器上端口连接状态(ESTABLISHED、TIME_WAIT、CLOSE_WAIT)的变动数目 (portstatusnp.sh)
#!/bin/bash
case $1 in
ESTABLISHED)
echoESTABLISHED=`netstat -na | grep $2 | grep ESTABLISHED | wc -l`
echo $echoESTABLISHED
;;
TIME_WAIT)
echoTIME_WAIT=`netstat -na | grep $2 | grep TIME_WAIT | wc -l`
echo $echoTIME_WAIT
;;
CLOSE_WAIT)
echoCLOSE_WAIT=`netstat -na | grep $2 | grep CLOSE_WAIT | wc -l`
echo $echoCLOSE_WAIT
;;
TOTAL_CONNECTIONS)
echoTOTAL_CONNECTIONS=`netstat -na | grep -E "ESTABLISHED|TIME_WAIT|LISTEN|CLOSE_WAIT" | grep -v unix | grep -v ACC | grep -v $2 | wc -l`
echo $echoTOTAL_CONNECTIONS
;;
*)
echo "input error"
;;
esac

4、监控ping值的测试脚本(checkping.sh)
centos上先执行:yum install -y fping.x86_64 bc
debian上先执行:apt-get install -y fping bc
#!/bin/bash
case $1 in
-e)
fpinge=`/usr/bin/fping $1 $2 | awk '{print $4}' | awk -F "(" '{print $2}' | bc`
echo $fpinge
;;
*)
echo "input error"
;;
esac

内容版权声明:【蓝色网居】部分资源来源于网络,如有侵犯您的所有权,请随时告知我们,我们将立即删除!感谢配合!
转载请注明出处:https://blog.ff56.cn/tinggushi/1657870847.html