zatree for zabbix
一、zatree for zabbix-2.4.61、下载zatree
git clone https://github.com/spide4k/zatree.git zatree
git clone https://github.com/BillWang139967/zatree.git//3.0+
2、复制zatree至httpd访问目录下:
sudo cp zatree/zabbix-2.4.5/zatree-zabbix-2.4.5 /var/www/html/zabbix
3、修改权限
sudo chown -R apache.apache /var/www/html/zabbix
4、修改zabbix配置,以使能够连接至数据库
cd /var/www/html/zabbix
sudo vim conf/zabbix.conf.php
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.10.15';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';//数据库名
$DB['USER'] = 'zabbix';//数据库用户
$DB['PASSWORD'] = 'zabbix';//数据库密码
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '192.168.10.15';
$ZBX_SERVER_PORT = '10051'; //zabbix监听端口
$ZBX_SERVER_NAME = 'zabbix'; //主机名
5、修改zabbix登录用的用户名和密码
sudo vim zatree/zabbix_config.php
'api_url'=>'api_jsonrpc.php',
'user'=>'admin',
'password'=>'zabbix',
6、删除没用的图片信息
sudo vim zatree/graph.php
7、修改zatree标签的链接的错误(红色处为修改的地方)
sudo vim zatree/header.php
首页
HostGraph
Peckvalue-Table
Peckvalue-Echart
sudo vim zatree/echart.php
sudo vim zatree/peckvalue.php
sudo vim zatree/zabbix.php
页面效果:
http://s1.运维网.com/wyfs02/M02/75/BD/wKioL1ZBsGzyDzQvAAAcnyhVJeE343.png
8、如果出现下面的警告,可在php的配置文件中增加一行
Warning:Cannot modify header information - headers already sent by (output started at /var/www/html/zabbix/zatree/graph.php:9) in /var/www/html/zabbix/zatree/graph.php
sudo vim /etc/php.ini
output_buffering = on
9、重启zabbix_server服务
sudo /etc/init.d/zabbix_server restart
完成zatree的配置。
二、zabbix discovery
Configuration --> Discovery --> Create discovery rule
配置name,IP range(支持网段),Delay,Check type,port range,key
http://s1.运维网.com/wyfs02/M01/86/BD/wKiom1fJCxTCvhuYAAAz7GRD-iA758.png
Configuration --> Actions --> Create action (Event source Discovery)
配置name
http://s3.运维网.com/wyfs02/M01/86/BD/wKioL1fJDASi8MvrAABGDhU_eDw563.png
添加定义好的discovery rule,
Received value 模糊匹配主机名
http://s3.运维网.com/wyfs02/M00/86/BD/wKioL1fJDASTnJOdAAA9PoncaV8081.png
添加配置后的主机放置的组Add to host groups
发现的主机使用的模板Link to templates
http://s3.运维网.com/wyfs02/M01/86/BD/wKiom1fJDASxDJEvAAAn1fsrFME082.png
配置zabbix server的/etc/hosts 增加要发现的主机ip和对应的主机名,效果如下:
http://s4.运维网.com/wyfs02/M02/86/BD/wKiom1fJDI-w43G6AAAWIT8SJ9o520.png
三、进程发现及监控
1、发现进程名(合并数组)
vim check_process_jqlm.sh
#!/bin/bash
array1=($(ps aux|grep eam|awk '{print $36}'|awk '/data/{print $0}'|awk -F "/" '{print $(NF)}'|awk '{sub(/"$/,"")}1'))
array2=($(ps aux|grep eam|awk '{print $37}'|awk '/data/{print $0}'|awk -F "/" '{print $(NF)}'|awk '{sub(/"$/,"")}1'))
array=(${array1[@]} ${array2[@]})
COUNT=${#array[@]}
INDEX=0
echo '{"data":['
for a in ${array[@]};do
echo -n '{"{#PROCESSNAME}":"'$a'"} '
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ]; then
echo ','
fi
done
echo ']}'
结果:
http://s3.运维网.com/wyfs02/M01/87/D8/wKioL1fjU_XSq6WiAABwnC07-KQ313.png
PS:非数组格式保存的情况下
#!/bin/bash
array=$(ps aux|egrep "amed|orldd" --color|awk -F "/" '{print $NF}')
COUNT=`echo "$array" |wc -l`
INDEX=0
echo '{"data":['
# echo "$array" | while read LINE; do
for a in ${array[@]};do
echo -n '{"{#PROCESSNAME}":"'$a'"}'
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ]; then
echo ','
fi
done
echo ']}'
2、获取该进程的cpu,mem,status
vim check_resource_jqlm.sh
#!/bin/bash
process=$1
if [ ! -n "${process}" ];then
exit 1
else
if [ $# -eq 2 ] ; then
basename=$(echo $0|awk -F "." '{print $1}')
name=$2
case $2 in
cpu)
ps aux|grep "${process}" -w|egrep -v "grep|${basename}" |awk '{print $3}'
;;
mem)
ps aux|grep "${process}" -w|egrep -v "grep|${basename}"|awk '{print $6/1024}'
;;
"${process}")
ps aux|grep "${process}" -w|egrep -v "grep|${basename}"|wc -l
;;
esac
else
echo 0
fi
fi
3、配置zabbix_agentd.conf并重启
UnsafeUserParameters=1
UserParameter=jqlm_proc.discovery,/tmp/check_process_jqlm.sh
UserParameter=jqlm_proc.rec
[*],/tmp/check_resource_jqlm.sh $1 $2
4、zabbix面板配置
1)、创建发现规则名字
http://s2.运维网.com/wyfs02/M01/87/DC/wKiom1fjVaKBvzovAAAhYlygjdw990.png
2)、创建发现items
http://s4.运维网.com/wyfs02/M02/87/DC/wKiom1fjVgDjxUQVAABAK6KCPMw442.png
3)、依次创建相关items
http://s2.运维网.com/wyfs02/M00/87/DC/wKiom1fjVjyBIQoiAABb2c6wk4w338.png
四、zabbix3.0实现告警配置
1)、邮件
http://s2.运维网.com/wyfs02/M00/87/F8/wKiom1fk9xHRuDsnAABbTvMWyYk391.png
故障{TRIGGER.STATUS},服务器:{HOSTNAME}发生:{TRIGGER.NAME}
告警主机:{HOSTNAME} {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
2、短信
http://s3.运维网.com/wyfs02/M01/87/F8/wKiom1fk9zmyCNsFAABRLv4id0M382.png
{TRIGGER.STATUS}:{HOSTNAME}: {TRIGGER.NAME}
页:
[1]