zabbix主要用来做监控。监控什么呢?比如日常巡检的CPU、内存、磁盘、swap交换分区和各端口进程等。
以往日常巡检,通过df -h命令获得磁盘的使用量和剩余量、top命令获得cpu和内存的利用率等全手动方式巡检,到
后来遇到一个叫shell的,一个shell脚本只需sh执行,便可以获得所有巡检的相关的信息。
shell脚本如下:
#!/bin/bash
CIPAN=`df -h |awk -F '' "NR==2{print }"|awk '{print $(NF-1)}' |tr -d %`
SWAP=`free -m |awk -F ' ' "NR==4{print}"|awk '{print $(NF-1)}' `
if [ $SWAP -eq 0 ];then
echo -e " "
else
SWAP=`free -m |awk -F '' "NR==4{print}"|awk '{print $(NF-1)/$(NF-2) *100} '|head -c 6 `
fi
FREE=`free -m | grep cache: |awk '{print $3 }'`
TOTAL=`free -m | grep Mem: |awk '{print $2 }'`
#NEICUN=$(awk 'BEGIN{print ($FREE *100)/ $TOTAL }')
NEICUN=`awk 'BEGIN{print ( "'$FREE'"/"'$TOTAL'")*100}'|head -c 5`
US=`top -bn1 |grep Cpu|awk -F " " '{print $2}'|tr -d %us,`
SY=`top -bn1 |grep Cpu|awk -F " " '{print $3}'|tr -d %sy,`
LOAD=`top -bn1 |grep average|awk -F " " '{print $(NF-2),$(NF-1),$NF}'`
echo "磁盘剩余空间 交换空间 内存占用率 cpu_us cpu_sy 负载 网络环境"
PING=`ping -c 1 IP &> /dev/null`
if [ $? -eq 0 ];then
echo "$CIPAN% / $SWAP $NEICUN $US $SY $LOAD 正常"
else
echo "$CIPAN% / $SWAP $NEICUN $US $SY $LOAD failed,需要检验"
fi
FANG=`curl -I -s IP:80/qykh |grep -E "200|302 "|wc -l`
if [ $FANG -eq 1 ];then
echo -e "业务正常访问,无需处理"
else
echo -e "你该检查服务了.."
fi
if [ $CIPAN -gt 80];then
echo "系统磁盘空间占用过多,需要清理"
else
echo "系统磁盘空间还算正常... "
fi
二、zabbix初次监控
1.首先在浏览器输入你的IP地址/zabbix/index.php 进入zabbix Web页面,然后点击主机,进入主机点击创建主机,然后只需填入主机名、可见名、群组、agent代理程序的接口
输入完上述信息,点击save保存。
2.创建完主机后,点击监控项,创建监控项,监控项需要填写监控项名称、类型(zabbix客户端和zabbix客户端(主动式)、键值(可以使用zabbix提供的键值和自己定义键值),
,然后点击添加即可创建。
键值不知道什么意思可进入该网址查文档:http://blog.csdn.net/chuang3344/article/details/74081682 常用的键值应用尽有
说明:监控项就是你要监控的目标,比如cpu等,名称自定义,通常要有意义,类型常用两种(zabbix客户端和zabbix客户端(主动式)),zabbix客户端默认是被动模式,
什么是被动模式?被动模式就是zabbix中的server端主动去agent端取数据,这就叫被动模式。主动模式就是agent端主动将搜集到的数据给server端。两者agent.conf配置文件中的信息略有差别。
主动模式可参考此网址学习:http://blog.csdn.net/lamyuqingcsdn/article/details/52512603
3.创建触发器,触发器主要用处是:当监控项的监控条件超过监控标准就会报警,就会在前台的问题一栏活仪表盘显示。
触发器的创建也很简单,主要要填写的名称、严重性(分类)、表达式(表达式就是监控项中定义的键值)、描述等。
4.创建图形,创建图形要填写的如图形名称、监控项等。
简单的监控就此创建完毕了。
三、模板、应用集、动作
模板:模板包括监控项、触发器、图形、自动发现等,有系统自带的模板和zabbix使用者自己创建的模板。通常生产环境更符合为了更符合实际情况,我们采取自定义模板,自己写一个模板,
按照公司生产环境的规范。
创建模板,和创建主机同理,填写模板名称、可见名称、群组、描述等。
应用集:应用集的目的在于分类,比如cpu的所有监控项我们可以放到cpu的应用集中,disk所有的监控项放到disk的应用集中。
动作:动作主要目的在于报警,当监控项超过触发器的限定条件时,就会触发一个动作,这个动作就是报警(邮件、短信报警等)
邮件报警可参照此网址学习:https://www.cnblogs.com/zoulongbin/p/6420239.html
四、zabbix中文官方文档(比较详细,初次学习可以做比较好的参考)
网址为:https://www.zabbix.com/documentation/3.4/zh/manual/web_interface/frontend_sections/monitoring
五、监控TCP连接数
参考学习网址如下:http://blog.51cto.com/john88wang/1586234
六、自动发现(主机自动发现)
参考学习网址如下:http://www.jianshu.com/p/3cb9073ea6af
zabbix远远不止这些,还有更多的好东西等着探索