zabbix告警统计方法

在zabbix界面貌似没有找到比较好的统计途径, 所以直接从zabbix数据库下手进行统计

zabbix version 3.0.4


要点:

  • 通过查看zabbix前端 auditacts.php 源代码了解告警存放位置, 在 zabbix 库中的 alerts 表
  • 数据库中, 统计其中一个运维人员的ID收到的告警, 前提是该人员基本上会收到所有告警
  • 主要是把告警的标题和内容拿出来, 后面的数据怎么grep, 怎么wc, 怎样做图表, 自己发挥吧
getRaw(){
    ### userid=81 somebody's id
    userid=81
    for i in `seq 31 -1 1`;do
        tStr1=`date -d"$i days ago" +%Y-%m-%d`
        tStr2=`date -d"$(( $i - 1 )) days ago" +%Y-%m-%d`
        #echo $tStr1 $tStr2
        dStr1=`date -d"$tStr1" +%s`
        dStr2=`date -d"$tStr2" +%s`
        sql="select subject,message from alerts where clock >= $dStr1 and clock < $dStr2 and userid = $userid group by eventid"
        mysql -h 1.1.1.1 -uUserName -p"xxxx" dbName -N -e "$sql" > raw/$tStr1
        sed -i 's#^M#\t#g' raw/$tStr1               ####### !!!!! 这里有个换行符, 先按CTRL+v, 松开, 接着按CTRL+SHIFT+m !!!!! ########
        grep adn raw/$tStr1 > adn/$tStr1
        echo -e "$tStr1\t`wc -l adn/$tStr1 | awk '{print $1}'`" # > fullCount.xls
    done
}


 

你可能感兴趣的:(zabbix告警统计方法)