Sensu Filter 사례

4067 단어 Sensu
며칠 전Sensu Deep Talks #2에'DoCoro 사용'을 발표했다.
이번에는 보완으로 실제연구실에 사용된 Filter의 설정을 소개한다.
경고 통지수 감소
실험 등 과정에서 서버에 부하를 계속 가하면 대량의 경보 알림이 있을 수 있다.
이러한 상황을 방지하기 위해서 우리는 다음과 같은 두 가지 조건하에서 여과를 진행한다.
  • Check의 종료 상태가 2(CRITIL) 이상인 경우
  • 최초 경고(Occurrences가 1)인 경우
  • 정식 사용 환경에서는 사용하기 어려울 수 있지만 Pager Duty에서 걸려오는 전화가 계속 울리는 것을 막을 수 있다고 생각합니다.
    /etc/sensu/conf.d/filter-recurrence.json
    {
      "filters": {
        "recurrence": {
          "attributes": {
            "check": {
              "status": "eval: value > 1"
            },
            "occurrences": 1
          }
        }
      }
    }
    
    서버 유지 보수 중 잘못된 알림
    연구실은 금요일 20-21시에 정기적으로 서버 유지보수를 진행한다.
    (모든 서버의 앱을 업데이트하고 필요에 따라 다시 시작합니다.)
    포장을 업데이트할 때 부하가 증가하거나 한꺼번에 진행하기 때문에 슈퍼유저가 비명을 질렀다.
    이 때문에 강행적이지만 유지보수 중인 경보는 무조건 통지되지 않았다.
    유지 관리 시간 동안 체크의 실행 시간을 필터링합니다.
    주의해야 할 것은 조건이 역전되었다는 것이다.
    이렇게 하면 유지 보수 시간 이외에 여과되지 않을 것이다.
    /etc/sensu/conf.d/filter-maintenance.json
    {
      "filters": {
        "maintenance": {
          "attributes": {
            "check": {
              "executed": "eval: Time.at(value).wday == 5 && Time.at(value).hour == 20"
            }
          },
          "negate": true
        }
      }
    }
    

    최근에 나는 연구실에서 사용하던 채팅을 슬랙으로 바꿨다.
    이와 함께 Sensu는 Go 언어로 Slack에 Handler를 알립니다.
    (이전에 사용Incoming Webhooks하여 Typetalk에 경고를 알렸습니다.)
  • hubot-sensu
  • hico-horiuchi/sensu-plugins-go/handler-slack.go

    좋은 웹페이지 즐겨찾기