Zabbix(3.x)에서 Slack에 그래프가 있는 알림 보내기

2969 단어 슬랙Python3zabbix
여러가지 실장이 있지만 마음에 드는 것이 없었기 때문에 만들어 보았다.

특징


  • 그래프 이미지를 Gyazo에 보내 표시하기 때문에 Slack에서 직접 연결되지 않는 Zabbix 서버의 그래프에서도 표시할 수 있다
  • 운영여부에서는 호스트명이 외부에 새는 등 일어날 수 있으므로, 거기는 요주의


  • 설치 방법


  • Python3.x가 들어있는 머신으로 pip 당 requests를 설치.

  • 삭크. py 을 AlertScriptPath 이하( /usr/lib/zabbix/alertscripts/ 등)에 넣어 chmod +x
  • zabbix의 호스트 사용자 비밀번호 설정. 이 사용자로 로그인하여 알림 할 때 그래프를 가져옵니다


  • 아자 에서 토큰을 가져옵니다.
  • Application을 등록한 후 앱 상세 화면에서 Your access token에 쓰는 것이 토큰

  • Gyazo 토큰을 slack.py의 gyazo_token으로 설정

  • 설정 방법



    미디어에 스크립트 추가





    스크립트 인수는 「메시지」 「Incoming-hook URL」 「채널명」 「유저명」 「아이콘 emoji」의 5개로, 메세지와 Incoming-hook URL은 필수입니다. 메시지는 {ALERT.MESSAGE}이고 Incoming-hook URL은 Slack 설정에서 복사해야 합니다. 채널명은 고정 캐릭터 라인(#zabbix라든지)라든지, {ALERT.SENDTO} 1 를 넣는 등 임의입니다.

    미디어를 추가한 후 사용자 설정에서 해당 사용자에게 추가한 미디어에서 알림을 허용하지 않으면 작업이 실행될 때 알림이 불가능하며 오류가 발생합니다.

    액션 설정



    2

    메시지 내용에 다음과 같은 설정을 합니다. 트리거 조건에 사용되고 있고, 통지시에 표시하고 싶은 값이 있는 경우는 ITEM_ 어떻게든 계를 증분해 추가해 주세요.
    HOST: {HOST.NAME}
    TRIGGER_NAME: {TRIGGER.NAME}
    TRIGGER_STATUS: {TRIGGER.STATUS}
    TRIGGER_SEVERITY: {TRIGGER.SEVERITY}
    
    ITEM_ID1: {ITEM.ID1}
    ITEM_NAME1: {ITEM.NAME1}
    ITEM_VALUE1: {ITEM.VALUE1}
    
    ITEM_ID2: {ITEM.ID2}
    ITEM_NAME2: {ITEM.NAME2}
    ITEM_VALUE2: {ITEM.VALUE2}
    
    ITEM_ID3: {ITEM.ID3}
    ITEM_NAME3: {ITEM.NAME3}
    ITEM_VALUE3: {ITEM.VALUE3}
    
    ITEM_ID4: {ITEM.ID4}
    ITEM_NAME4: {ITEM.NAME4}
    ITEM_VALUE4: {ITEM.VALUE4}
    
    MESSAGE_PREFIX: @walkure
    

    MESSAGE_PREFIX를 설정하면 알림 시작 부분에 추가합니다. @channel 등 취향에.

    실행 내용은 조금 더 추가한 미디어에 알림을 선택합니다.


    알림 예







    「관리」→「유저」→「미디어」의 「송신처」에 들어가 있는 것이 반영되는 모습.

    실행할 때까지 눈치 채지 못하고 빠졌습니다.

    좋은 웹페이지 즐겨찾기