Zabbix 创建月度统计报表脚本(学习笔记十六)

简介: 一、脚本:#!/bin/bash############################### @version 0.1# @date 2017-12-31##############################USER1="zabbi...

一、脚本:

#!/bin/bash

##############################

# @version 0.1

# @date 2017-12-31

##############################

USER1="zabbix

PASSWORD1="123456"

HOST1="localhost"

DATABASE1="zabbix"

######################

rm -rf /tmp/zabbix_statics.csv

mysql -h${HOST1} -u${USER1} -p${PASSWORD1} -D${DATABASE1}

DROP TABLE if exists tmp_itemhost;

DROP TABLE if exists  tmp_trigger;

DROP TABLE if exists  tmp_triggeritem;

CREATE TABLE tmp_itemhost (

   hostid int(20),

   host   varchar(1280),

   hostname varchar(1280),

   itemid  int(20),

   itemname varchar(1280),

   itemkey varchar(1280),

   itemport varchar(128) null,

   itemstate int(20)

) ;

INSERT INTO tmp_itemhost(hostid,host,hostname,itemid,itemname,itemkey,itemport,itemstate)

(

select hosts.hostid,hosts.host,hosts.name,items.itemid,items.name,items.key_,items.port,items.state

from items left join hosts

on items.hostid=hosts.hostid

);

CREATE TABLE tmp_trigger(

triggerid int(20),

itemid int(20),

description varchar(1280),

priority int(20)

);

INSERT INTO tmp_trigger(triggerid,itemid,description,priority)

select triggers.triggerid,functions.itemid,triggers.description,triggers.priority

from triggers left join functions

on triggers.triggerid=functions.triggerid;

CREATE TABLE tmp_triggeritem(

   triggerid int(20),

   triggerdescription varchar(1280),

   triggerpriority int(20),

   hostid int(20),

   host   varchar(1280),

   hostname varchar(1280),

   itemid  int(20),

   itemname varchar(1280),

   itemkey varchar(1280),

   itemport varchar(128) null,

   itemstate int(20)

) ;

INSERT INTO tmp_triggeritem(triggerid,triggerdescription,triggerpriority,hostid,host,hostname,itemid,itemname,itemkey,itemport,itemstate)

(

select tmp_trigger.triggerid,tmp_trigger.description,tmp_trigger.priority,hostid,host,hostname,tmp_itemhost.itemid,itemname,itemkey,itemport,itemstate

from tmp_trigger left join tmp_itemhost

on tmp_trigger.itemid=tmp_itemhost.itemid

);

EOF

mysql -hIP -uroot -p密码 -Dzabbix -e "select count(*),host,hostname,triggerdescription

into outfile '/tmp/zabbix_statics.csv' fields terminated by ',' optionally enclosed by ' ' lines terminated by '\r\n' from events left join tmp_triggeritem

on events.objectid=tmp_triggeritem.triggerid where events.source=0 and events.object=0 and events.value=1

and date_format(FROM_UNIXTIME(clock),'%Y-%m')=date_format(now(),'%Y-%m') group by host,hostname,triggerdescription order by count(*) desc;"

sed -i "1i告警次数,主机名,主机IP,告警消息" /tmp/zabbix_statics.csv

sed -i "s/{HOST.NAME}//g" /tmp/zabbix_statics.csv

sed -i "s#\\\# #g" /tmp/zabbix_statics.csv

yy=$(date +%Y)

mm=$(date +%m)

aa=`cat /tmp/zabbix_statics.csv`

mv /tmp/zabbix_statics.csv /tmp/zabbix_${yy}${mm}_statics.csv


二、报表格式如下:


img_506548de0a19e80fb0c20e8862722241.png

三、zabbix表参考:

https://www.cnblogs.com/learningJAVA/p/7886164.html

https://blog.csdn.net/hy_timer/article/details/72082004

目录
相关文章
|
监控 BI API
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
|
监控 Ubuntu Shell
用shell脚本部署zabbix
用shell脚本部署zabbix
169 1
|
监控 网络协议 Shell
使用脚本安装zabbix agent 6.0(新手友好)
使用脚本安装zabbix agent 6.0(新手友好)
|
监控 数据安全/隐私保护
zabbix 5.0 一键部署脚本
zabbix 5.0 一键部署脚本
434 0
|
监控 Shell
项目采坑日志——zabbix agent执行脚本,提示 Permission denied
项目采坑日志——zabbix agent执行脚本,提示 Permission denied
747 0
|
运维 监控
一键部署zabbix监控平台脚本
应一位网友的要求,让我帮忙写个关于一键部署zabbix监控平台的脚本。这个脚本的思路,与我前面写的一个脚本是很相似的,所以用下班时间匆忙写了一个,算是能跑起来吧。
184 0
一键部署zabbix监控平台脚本
|
监控 数据建模 BI
Zabbix自动生成报表并发送邮件
Zabbix自动生成报表并发送邮件
Zabbix自动生成报表并发送邮件
|
运维 监控 Java
shell脚本配合zabbix实现tomcat的故障自愈
shell脚本配合zabbix实现tomcat的故障自愈 1.背景及实现方式方法 Tomcat运行JAVA类的程序代码经常会导致内存溢出,往往都是收到告警后再去处理,收到报警再处理就会拖延故障解决的时间,因此就需要靠故障自愈的机制来解决人为干预的成本。
410 0
shell脚本配合zabbix实现tomcat的故障自愈
|
监控 网络协议 Shell
shell脚本实现zabbix监控信息收集
zabbix信息收集 一般zabbix信息收集都是写成脚本 思路:将监控的信息写成函数,使用位置参数$1来调用函数即可,一般都是zabbix来传参
528 0
|
运维 监控 关系型数据库
Zabbix 配置 | 学习笔记
快速学习Zabbix 配置,进行运维监控系统的配置。
Zabbix 配置 | 学习笔记

推荐镜像

更多
下一篇
无影云桌面