IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 立即注册 - 请先获取邀请码

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 125|回复: 0

[Zabbix专区] zabbix报警信息提取可从数据库入手

[复制链接]
来自- 湖南娄底

参加活动:0

组织活动:12

发表于 2017-9-10 10:38:52 | 显示全部楼层 |阅读模式 来自- 湖南娄底
zabbix报警信息提取在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司
进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构
(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发
或是对其他监控软件进行二次开发之类),在这种需求基础上,我们就需要整理下
zabbix的数据库,将需要的数据提取出来,并转化成我们需要的格式。
对接格式:
0?wx_fmt=png.jpg
1.创建对接库:
DROP DATABASE IF EXISTS `alarmreport`;CREATE DATABASE alarmreport;USE alarmreport;DROP TABLE IF EXISTS `report`;CREATE TABLE `report` (  `reportid` int(11) NOT NULL AUTO_INCREMENT,  `reportip` varchar(64) NOT NULL,  `reporttype` varchar(64) NOT NULL,  `alarmid` int(11) NOT NULL,  `alarmname` varchar(64) NOT NULL,  `alarmlevel` varchar(64) NOT NULL,  `alarmstat` varchar(64) NOT NULL,  `alarmtime` varchar(64) NOT NULL,  `alarmcause` varchar(64) NOT NULL,  `sendstatus` varchar(64) NOT NULL,  PRIMARY KEY(reportid)) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `dictionary`;CREATE TABLE `dictionary` (  `alarmid` int(11) NOT NULL,  `alarmname` varchar(64) NOT NULL,  `alarmcause` varchar(64) NOT NULL,  PRIMARY KEY(alarmid)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.创建触发器,实时同步zabbix库的报警信息
DROP TRIGGER IF EXISTS Ysten_afterinsert_on_event;CREATE TRIGGER Ysten_afterinsert_on_eventAFTER INSERT ON zabbix.`events`FOR EACH ROWBEGIN        INSERT INTO alarmreport.report (            alarmreport.report.reportip,            alarmreport.report.reporttype,            alarmreport.report.alarmid,            alarmreport.report.alarmname,            alarmreport.report.alarmlevel,            alarmreport.report.alarmstat,            alarmreport.report.alarmtime        )        SELECT            zabbix.`hosts`.`host`,            CONCAT('服务器'),            zabbix.`triggers`.triggerid,            zabbix.`triggers`.description,            zabbix.`triggers`.priority,            zabbix.`events`.`value`,            FROM_UNIXTIME(zabbix.`events`.clock)        FROM            zabbix.`hosts`,            zabbix.`triggers`,            zabbix.`events`,            zabbix.items,            zabbix.functions,            zabbix.groups,            zabbix.hosts_groups        WHERE            zabbix.`hosts`.hostid = zabbix.hosts_groups.hostid            AND zabbix.hosts_groups.groupid = zabbix.groups.groupid            AND zabbix.`triggers`.triggerid = zabbix.`events`.objectid            AND zabbix.`hosts`.hostid = zabbix.items.hostid            AND zabbix.items.itemid = zabbix.functions.itemid            AND zabbix.functions.triggerid = zabbix.`triggers`.triggerid            AND zabbix.`events`.eventid=new.eventid;END;
这样我们就能在alarmreport这个库里面实时存储报警信息了
原创:graysky

本版积分规则

团购课程最新动态

 

 

高品质!好口碑!

百分百通过率!

PeopleCertEXIN

国际授权资质!

ITIL Foundation北上广

2天精华班,包证书

ITIL Foundation三天精

讲,知名讲师,包证书

ITIL Expert 金牌讲师北

上广深11天,包证书

DevOps Foundation

2天热点认证班,包证书

ITSS 认证IT服务经理

4天课程,包证书

Prince2双证4天高级班

Cobit高端课程2天班

Togaf高端课程4天班

 

报名热线: 4008-060-230


QQ|小黑屋|手机版|Archiver|ITIL先锋论坛万人社区 ( 粤ICP备17056641号|网站地图

Baidu

GMT+8, 2018-2-22 18:41 , Processed in 0.224785 second(s), 37 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表