zabbix报警信息提取

zabbix报警信息提取

    在日常的监控中,我们除了日常的zabbix操作外,我们有的时候还涉及到与其他公司进行数据对接。由于别的公司的数据对接很多时候并不是按照zabbix的数据结构(尤其是大型厂家,或是专业监控厂家,并不会直接使用zabbix,多数是自己开发或是对其他监控软件进行二次开发之类),在这种需求基础上,我们就需要整理下zabbix的数据库,将需要的数据提取出来,并转化成我们需要的格式。

对接格式:

对接数据库设计
库名 字段
表名 表含义 字段 字段名称 含义
alarmreport report 故障表 reportid 告警流水号 主键
reportip 网元名称 报警的IP
reporttype 网元类别 报警IP的类别(服务器/交换机)
alarmid 告警ID 可以从字典里查询
alarmname 告警名称 可以从字典里查询
alarmlevel 告警级别
alarmstat 告警状态 是否恢复
alarmtime 发生时间
alarmcause 故障定位 可以从字典里查询
sendstatus 发送状态 报警是否发送
dictionary 字典表 alarmid 告警ID 主键
alarmname 告警名称
alarmcause 故障定位

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_event
AFTER INSERT ON zabbix.`events`
FOR EACH ROW
BEGIN
        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,如若转载,请注明出处:http://www.178linux.com/9976

(1)
grayskygraysky
上一篇 2015-12-19 20:48
下一篇 2015-12-19 21:02

相关推荐

  • Linux发展史

    Linux发展史 操作系统出现前:   1946年第一台计算机诞生–20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片…

    Linux干货 2016-10-14
  • Keepalives+lvs实现高可用httpd的双主模型

    基础环境:Centos 7.3 最小化安装四台 关闭防火墙及selinux 简单原理: keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouter Redundancy Protocol,即虚拟路由冗余协议。 虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个mas…

    2017-05-15
  • shell编程if及find查找作业

    写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息 [root@www sh.log]# cat createuser.sh  #!/bin/bash #author #使用一个用户名作为参数,如…

    Linux干货 2016-08-16
  • N26 第六周博客作业

    请详细总结 vim 编辑器的使用并完成以下练习题 ## VIM 使用总结 首先 VIM 是 VI IMproved 的缩写,是 vi 编辑器的增强型。它与 sed awk 并称为文本处理三剑客。其主要作者 Bram Moolenaar 也是个非常有爱心的人,在 vim 的[官网](http://www.vim.org/) 和 在命令行中直接输入 vim 的命…

    Linux干货 2017-03-11
  • crond实现邮件告警

    实验环境:centos 6.8 所需软件:mailx或msmtp或smtpEmail等 smtp客户端程序 所需帐号:我这使用的是163邮箱。 本方案优点:安装软件少,无须启动postfix等邮件服务。无须配置postfix邮件服务。由于调用的是注册邮箱,所以也不会给移入到垃圾邮件中。  建议:生产中,不管是什么服务发送邮件的建议使用外部smtp帐…

    Linux干货 2016-07-10
  • 20161014作业

    2016/10/14作业: ##操作类: 1. 设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 2、使用shutdown命令于5分钟后重启自己的PC机 3. 学习man,学会使用a> ls递归列出/usr目录下所有文件, b> 列出目录…

    Linux干货 2016-10-20

评论列表(2条)

  • stanley
    stanley 2015-12-19 20:59

    比上次好了非常多,但还有很大提升空间

  • 贪婪
    贪婪 2015-12-21 14:36

    执行不过去啊。还有 那个new.eventid; 是怎么来的?