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.www58058.com/9976

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

相關推薦

  • Python基礎篇之過程型程序設計

    一、Python過程型程序設計 面向過程 以指令為中心,由指令處理數據 如何組織代碼解碼問題 面向對象 以數據為中心,所有的處理代碼都圍繞數據展開 如何設計數據結構組織數據,并提供對此類數據所允許處理操作 簡單方法: 1)、編譯安裝新版本至某特定路徑 # yum install readline-devel # tar xf Python-2.7.6.tar…

    2018-01-11
  • LVS集群類型

     lvs:Linux Virtual Server         l4:四層路由、四層交換          根據請求報文的目標IP和目標PORT將其調度轉發至后端的某主機;      IPTABLES:  …

    Linux干貨 2017-01-10
  • AIX下NFS共享導致命令行輸入卡住

     1、事件描述:之前公司測試某廠商存儲一體機的NFS共享功能,將該NFS目錄共享給AIX主機使用(用于備份對應對應的數據庫,因為數據庫版本太老,Oracle8i的,不支持存儲廠商的備份代理),測試完成后,廠商將設備直接關機(這時候在AIX上掛載的NFS目錄沒有進行卸載)。然后,當我們登陸到AIX服務器上的時候,發現每次敲入“df -g”或者“ls”…

    Linux干貨 2016-07-07
  • 第八周

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;      在線的主機使用綠色顯示;      不在線的主使用紅色顯示; #!/bin/bash # for i in 172.16.250.{…

    Linux干貨 2017-05-23
  • 任務計劃

    Linux 任務計劃、周期性任務執行 未來的某時間點執行一次任務 at batch :系統 自行選擇空閑時間去執行此處指定的任務 周期性運行某任務 cron [root@localhost ~]# rpm -q at (CentOS6中使用) at-3.1.10-48.el6.x86_64 [root@localhost ~]# rpm -ql at /et…

    Linux干貨 2017-05-13
  • M20 – 1- 第三周博客:Linux中的權限以及特殊權限

    上一篇講到了用戶與用戶組,相信大家都明白了Linux中用戶與用戶組的含義和用處,那接下來講的就是Linux中設置用戶與用戶組有使用權限。 Linux用戶權限 何為權限,權限(privilege)是指某個特定的用戶具有特定的系統資源使用權力,而權限又有哪幾種呢。 Linux用戶中主要針對三類著三種權限:讀、寫、執行,而Linux中存在著目錄與文件,而目錄的權限…

    Linux干貨 2016-08-08

評論列表(2條)

  • stanley
    stanley 2015-12-19 20:59

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

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

    執行不過去啊。還有 那個new.eventid; 是怎么來的?

欧美性久久久久