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)
上一篇 2015-12-19 20:48
下一篇 2015-12-19 21:02

相关推荐

  • linux进程管理相关工具

    linux进程管理相关工具: pstree ,ps ,pidof ,pgrep ,top ,htop ,glances ,pmap ,vmstat ,kill ,killall ,job ,bg ,fg ,nohup ,nice ,renice ,pkill…… 1、pstree:查看进程树 2、ps:显示执行命令时间的进程状态信息 /proc 目录下存放内…

    Linux干货 2016-09-11
  • 第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; [root@CentOS7 ~]# iptables -P INPUT DROP [root@CentOS7 ~]# iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服…

    Linux干货 2017-08-13
  • shell进阶之循环

    循环执行,将某代码段重复运行多次

    重复运行多少次:

    循环次数事先已知

    循环次数事先未知

    有进入条件和退出条件

    for, while, until

    Linux干货 2017-12-24
  • 文本处理三剑客之sed

    文本处理三剑客之sed sed概述 sed使用示例 sed的高级应用 sed概述 sed, 作为文本三剑客之一,其定位就是一个编辑器, 而且sed是一个流式编辑器(stream editor),其主要功能是过滤和转换文本。 sed – stream editor for filtering and&…

    Linux干货 2016-08-12
  • 关于绑定与不绑定CPU的对比

        此文严格意义上说,我没有很大的把握,其中关于CPU调度域的概念现在还有些混淆,但还是发出来,希望能做点铺路的贡献吧。    另外CPU调度域的原理我没办法自己写,能力尚浅, 只能将IBM知识库 和 另一位博主的文章摘录如下,并添加了些帮助理解的图片,希望能帮助到初学者。 …

    Linux干货 2016-05-03

评论列表(2条)

  • stanley
    stanley 2015-12-19 20:59

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

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

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