<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      Zabbix如何將告警信息寫入日志文件

      2024-09-29 08:18  瀟湘隱者  閱讀(402)  評論(0)    收藏  舉報

      這里介紹一下如何將Zabbix的告警信息寫入日志文件。至于為什么要將Zabbix的告警信息寫入日志文件呢?因為公司里面有兩套監控系統,現在想將Zabbix的告警信息同步到另外一套監控系統中去,現在的方案是將Zabbix的告警寫入一個日志文件,另外一套監控系統的Agent會定期掃描日志文件(增量),然后將日志文件中的告警信息采集過去。這里簡單介紹一下這個需求的前因后果。

      1. 檢查/修改Zabbix Server的參數文件zabbix_server.conf,如下所示,需要設置下面兩個參數
      AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
      ExternalScripts=/usr/local/zabbix/share/zabbix/externalscripts

      修改參數文件zabbix_server.conf后重啟Zabbix Server使之生效。

      # systemctl restart zabbix_server

      注意:其實當前情況下,只需設置設置參數AlertScriptsPath即可。

      1. 上傳腳本zabbix_alert_log.sh

      往/usr/local/zabbix/share/zabbix/alertscripts目錄上傳腳本zabbix_alert_log.sh,腳本內容如下所示:

      #!/bin/bash

      PARM1=$1

      echo "$PARM1 " >> /home/zabbix/zabbix.alert.log

      上傳腳本后授予執行權限。

      1. 創建媒介類型

      Zabbix 6: 在Zabbix左邊的菜單“管理”—>“媒介“下,點擊右上角的“創建媒介類型“

      Zabbix 7:

      Zabbix 7跟Zabbix 6的界面有所不同了,需要在Zabbix的左側菜單”告警”—>”媒介”下,點擊右上角的“創建媒介類型”,如下截圖所示:

      具體設置如下:

      1. 修改用戶的報警媒介

      在用戶里面設置“報警媒介“,如下截圖所示:

      1. 設置觸發器動作

      在Zabbix的左側菜單“告警“—》“動作”—》“觸發器動作“里面,點擊右上角的”創建動作“,如下所示,創建一個名為”zabbix_alert_log“的動作。

      可以在條件中設置過濾條件,對告警信息進行過濾,符合條件的才會觸發觸發器。然后點擊“操作1“,執行下面修改。

      其中步驟輸入1-1,后面一個數字不要輸入大于1,這個會導致告警信息多次寫入

      勾選“自定義消息內容”,然后再主題和消息中填寫下面內容:

      主題:Problem: {EVENT.NAME}
      消息:{EVENT.DATE} {EVENT.TIME} {EVENT.SEVERITY} {EVENT.ID} {HOST.NAME}   {EVENT.NAME}

      這里的ENVET.NAME,EVENT.DATE其實是Zabbix的宏變量,具體代表的意義可以參考官方文檔[1],這里就不做重復述說了。

      其實這些值就是zabbix數據庫events表的相關數據。

      至此,配置成功,如果Zabbix出現告警或錯誤,就會將其對應的宏信息寫入日志。

      前面的腳本,是將告警日志寫入一個文件,如果出現大量的告警,以及隨著時間的推移,zabbix.alert.log將會變得越來越大,這樣也會影響Agent工具掃描讀取新增的告警。 那么我們有必要每天切換、歸檔這個日志文件,于是寫了下面腳本rotation_log.sh

      #!/bin/bash
      #source /etc/profile

      #########################################################################################
      #                                                                                       #
      # This script is used for rotation log                                                  #
      #                                                                                       #
      # #######################################################################################
      #                                                                                       #
      # ScriptName            :    rotation_log.sh                                            #
      # Author                :    Kerry                                                      #
      # CerateDate            :    2024-09-12                                                 #
      # Blogs                 :    http://www.rzrgm.cn/kerrycode                          #
      # Email                 :    kerry2008code@qq.com                                       #
      #***************************************************************************************#
      # 變量配置                                                                              #
      #---------------------------------------------------------------------------------------#
      # 注意,需要設置腳本的下面變量                                                          #
      #---------------------------------------------------------------------------------------#
      # MAIL_FROM      郵件發送人                                                             #
      # MAIL_TO        郵件接收人                                                             #
      # LOG_FILE       設置腳本的輸出日志文件                                                 #
      # LOG_KEEP_DAYS  設置輪轉日志保留天數                                                   #
      #***************************************************************************************#
      # 腳本參數                                                                              #
      # $1             日志文件(絕對路徑)                                                     #
      # $2             日志文件后綴                                                           #
      #***************************************************************************************#
      # Version        Modified Date            Description                                   #
      #***************************************************************************************#
      # V.1.0          2024-09-12              創建此腳本                                     #
      #########################################################################################

      #輪轉日期改為前一天
      LOG_ROTATION_DATE=$(date -d yesterday +%Y%m%d)
      MAIL_SUBJECT=""
      MAIL_FROM="`hostname`@yict.com.cn"
      MAIL_TO="ts-dba@yict.com.cn"
      LOG_KEEP_DAYS=30
      # Log輸出方式:log或out或mail或log_out或all
      LOG_OUT_TYPE=log_out
      LOG_FILE=/home/zabbix/logs/rotation.log

      ARGS=$#
      SOURCE_LOG_FILE=$1
      LOG_TYPE=$2


      # 記錄腳本的輸出日志信息
      function log_info()
      {
          #判斷參數個數
          if [ $# -eq 1 ];then
              local log_msg=$1
          else
              echo "[error]:`date '+%Y%m%d %H:%M:%S'`> the number of parameters is incorrect!"
          fi

          case $LOG_OUT_TYPE in
              out)
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg"
                  ;;
              log)
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                  ;;
              mail)
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                  ;;
              log_out)
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg"
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                  ;;
              all)
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg"
                  echo "[info ]: `date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                  ;;
              *)
          esac

      }

      # 記錄腳本的錯誤信息
      function log_error()
      {
          #判斷參數個數
          if [ $# -eq 1 ];then
              local log_msg=$1
          else
              echo "[error]:`date '+%Y%m%d %H:%M:%S'`> the number of parameters is incorrect!"
          fi

          case $LOG_OUT_TYPE in
              out)
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg"
                   ;;
              log)
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                   ;;
              mail)
                   echo "$1" | mailx -s "rotation_log.sh on the `hostname` failed ,please check the log!" -r ${MAIL_FROM} ${MAIL_TO}
                   ;;
              log_out)
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg"
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                   ;;
              all)
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg"
                   echo  "[error]:`date '+%Y%m%d %H:%M:%S'`> $log_msg" >> $LOG_FILE
                   echo "$1" | mailx -s "rotation_log.sh on the `hostname` failed ,please check the log!" -r ${MAIL_FROM} ${MAIL_TO}
                   ;;
              *)
          esac

      }

      # 環境變量檢查
      function check_enviroment(){

      # 此處不檢查是否安裝mailx
      :<<!
      if [ ! -x /bin/mailx ];then
          log_error "`date`>usage:mailx did not exists!"
          exit -1
      fi
      !

      LOG_FILE_PATH=$(dirname $LOG_FILE)
      #ALERT_LOG_PATH目錄不存在則創建目錄
      if [ ! -d $LOG_FILE_PATH ] ; then
        log_error "the $LOG_FILE_PATH didn't exists"
        exit 1
      fi

      }

      # 輪轉日志文件
      function rotation_log(){

          #輪換/切換日志文件
          #注意:賦值的=號前后不要有空格
          NEW_LOG_NAME=$(basename $SOURCE_LOG_FILE .$LOG_TYPE)
          LOG_PATH=$(dirname $SOURCE_LOG_FILE)
          if [ -f "$LOG_PATH/${NEW_LOG_NAME}.$LOG_TYPE".${LOG_ROTATION_DATE} ] ; then
              log_info "the log file have been rotated!" 
          else
            cat $SOURCE_LOG_FILE > $LOG_PATH/${NEW_LOG_NAME}.$LOG_TYPE.${LOG_ROTATION_DATE}

            #最后運行的命令的結束代碼(返回值)
            if [ $? -eq 0 ]; then
              cat /dev/null > $SOURCE_LOG_FILE
            else
              log_error "failed to rotate the log file"
            fi
          fi
      }

      # 刪除過期日志
      function delete_old_log(){

          #LOG_PATH=$(dirname $SOURCE_LOG_FILE)
          #刪除指定天數前的日志文件
          #find $LOG_PATH -name ${LOG_TYPE} -type f -mtime +$LOG_KEEP_DAYS -delete
          
          # 寫死目錄,避免調用是誤刪文件。
          find /home/zabbix -name ${LOG_TYPE} -type f -mtime +$LOG_KEEP_DAYS -delete
      }

      main(){
          if [ $ARGS != 2 ]; then
            log_error "This script must be run with one parameter"
            log_info "Usage:sh rotation_log.sh /home/mysql/test.log  log"
            exit 1
          fi
          
          if [ ! -f $SOURCE_LOG_FILE ];then
              log_error "$SOURCE_LOG_FILE didn't exists, please check it"
              exit 1
          fi
          check_enviroment
          rotation_log 
      }

      main

      然后設置一個crotab作業,定期運行這個腳本

      ##############################################################################################
      0 0 * * * /home/zabbix/scripts/rotation_log.sh /home/zabbix/zabbix.alert.log log
      ##############################################################################################
      參考資料
      [1]

      1: https://www.zabbix.com/documentation/7.0/zh/manual/appendix/macros/supported_by_location

      主站蜘蛛池模板: 国产麻豆一区二区精彩视频| 韩日午夜在线资源一区二区| 人妻出轨av中文字幕| 国产精品一区二区蜜臀av| 亚洲成av人片在www色猫咪| 精品一区二区免费不卡| 在线观看亚洲欧美日本| 在线观看成人年视频免费| 霍邱县| 日本五十路熟女一区二区| 无码专区 人妻系列 在线| 精品无码一区二区三区在线| 亚洲综合网国产精品一区| 日韩乱码人妻无码中文字幕视频 | 日韩在线视频一区二区三| 亚洲精品人成网线在线| 国产成熟女人性满足视频| 亚洲国产亚洲综合在线尤物| 免费播放一区二区三区| 国产午夜精品理论大片| 国产永久免费高清在线观看| 欧美精品日韩精品一卡| 欧美成人精品手机在线| 久久99九九精品久久久久蜜桃 | 中文国产不卡一区二区| 狠狠躁夜夜躁人人爽天天古典| xxxxbbbb欧美残疾人| 极品蜜桃臀一区二区av| 国产精品欧美一区二区三区不卡| 国产成人午夜福利精品| 粉嫩在线一区二区三区视频| 果冻传媒色av国产在线播放| 久久亚洲精品亚洲人av| 国产精品成人午夜久久| 18无码粉嫩小泬无套在线观看| 国产一区二三区日韩精品| 精品国产一区二区三区av性色| 国产果冻豆传媒麻婆| 少妇高潮潮喷到猛进猛出小说| 717午夜伦伦电影理论片| 欧美日韩精品一区二区视频|