zabbix 监控中的报告

2018年3月2日 0 条评论 3.37k 次阅读 1 人点赞

安装zabbix_manager

git clone https://github.com/BillWang139967/zabbix_manager.git
cd zabbix_manager
sh start.sh
git clone https://github.com/BillWang139967/zabbix_manager.git
cd zabbix_manager
sh start.sh

添加已使用内存监控:

配置-模板-Template OS Linux-监控项

键值:可自定义

vm.memory.usage[percent]

公式: 固定为计算方式,去掉前面的 “100-” 就是可用内存

100-100*last("vm.memory.size[available]")/last("vm.memory.size[total]")

 

[v_blue]

附录:

常用的计算类型key定义时用的有以下几种公式(注意一下公式在写入Formula时要加一个小括号):
1、计算空闲磁盘空间的比例:

100*last("vfs.fs.size[/,free]")/last("vfs.fs.size[/,total]")

2、计算10分钟主机出流量的平均值:

avg("Zabbix Server:net.if.out[eth0,bytes]",600)

3、计算网卡总流量:

last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]")

4、计算进流量占网卡总流量的比例:

100*last("net.if.in[eth0,bytes]")/(last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]"))

5、在计算项目中正确使用聚合条目,注意双引号如何被转义:

last("grpsum[\"video\",\"net.if.out[eth0,bytes]\",\"last\",\"0\"]")/last("grpsum[\"video\",\"nginx_stat.sh[active]\",\"last\",\"0\"]")

6、计算多台主机出流量的和:

last("192.168.1.100:net.if.out[eth0,bytes]")+last("192.168.1.200:net.if.out[eth0,bytes]")+last("192.168.1.110:net.if.out[eth0,bytes]")

[/v_blue]

[v_warn]

对于需要导出至一个表格中的监控内容,可以将监控名称修改为一个开头值,这样在导出的时候就在一张表格中了
[/v_warn]

#/bin/bash
basepath=$(cd `dirname $0`; pwd)
day_start=$(date +"%Y-%m-%d" --date '7 days ago')
day_end=$(date +"%Y-%m-%d")
num_start=$(date -d "${day_start} 00:00:00"  +"%s")
num_end=$(date -d "${day_end} 00:00:00"  +"%s")
mkdir -p ${basepath}/${day_end}
#dump alert counts and subject
mysql zabbix -uusername -ppassword -e "set character_set_client=utf8;set character_set_results=gb2312;select subject,count(1) 'count' from alerts where clock >= '${num_start}' and clock <= '${num_end}' and sendto='[email protected]' and p_eventid is NULL group by subject order by 2 desc;" > ${basepath}/${day_end}/alert_subject_${day_start}_${day_end}.xls
#dump CPU iowait time
zabbix_api --report "ly_io" "${day_start} 00:00:00" "${day_end} 00:00:00" --table --xls "${basepath}/${day_end}/cpu_iowait_${day_start}_${day_end}.xls" --title "cpu_iowait_${day_start}_${day_end}" > /dev/null
#dump CPU sys+user time
zabbix_api --report "ly_cpu time" "${day_start} 00:00:00" "${day_end} 00:00:00" --table --xls "${basepath}/${day_end}/cpu_time_${day_start}_${day_end}.xls" --title "cpu_time_${day_start}_${day_end}" > /dev/null
#dump memory free percent
zabbix_api --report "ly memory usage" "${day_start} 00:00:00" "${day_end} 00:00:00" --xls "${basepath}/${day_end}/memory_usage_${day_start}_${day_end}.xls" --title "memory_usage_${day_start}_${day_end}" > /dev/null
#dump disk free percent
zabbix_api --report "Free disk space" "${day_start} 00:00:00" "${day_end} 00:00:00" --xls "${basepath}/${day_end}/free_disk_${day_start}_${day_end}.xls" --title "free_disk_${day_start}_${day_end}" > /dev/null
cd ${basepath}
tar czf zabbix_report_${day_end}.tar.gz ${day_end}

对于告警数量的导出,需要填写zabbix链接的数据库账号密码,还有接收告警邮件的邮箱地址。

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)