Bosun보순 시작하기

비고

Bosun은 스택 오버 플로우 (Stack Overflow)에 의해 생성 된 오픈 소스, MIT 라이센스, 모니터링 및 경고 시스템입니다. 알림을 평가하고 상세한 알림을 작성하기위한 명시적인 도메인 별 언어가 있습니다. 또한 신속한 개발 경험을 위해 과거 데이터에 대한 경고를 테스트 할 수 있습니다. 자세한 내용은 http://bosun.org/에서 확인할 수 있습니다.

Bosun은 설정 파일을 사용하여 모든 시스템 설정, 매크로, 조회, 알림, 템플릿 및 경고 정의를 저장합니다. 서버 시작시 사용할 구성 파일을 지정합니다 (예 : /opt/bosun/bosun -c /opt/bosun/config/prod.conf . bosun이 다시 시작될 때까지 파일에 대한 변경 사항이 활성화되지 않으므로 파일을 버전 제어에 저장하는 것이 좋습니다.

버전

번역 출시일
0.3.0 2015-06-13
0.4.0 2015-09-18
0.5.0 2016-03-15

샘플 경고

Bosun 경고는 사용자 정의 DSL을 사용하여 구성 파일에 정의 됩니다. 그들은 함수를 사용하여 시계열 데이터를 평가하고 warn 또는 crit 표현식이 0이 아닌 경우 경고를 생성합니다. 알림은 템플릿을 사용하여 알림에 추가 정보 (대개 전자 메일 메시지 및 / 또는 HTTP POST 요청)를 포함시킵니다.

template sample.alert {
    body = `<p>Alert: {{.Alert.Name}} triggered on {{.Group.host}}
    <hr>
    <p><strong>Computation</strong>
    <table>
        {{range .Computations}}
            <tr><td><a href="{{$.Expr .Text}}">{{.Text}}</a></td><td>{{.Value}}</td></tr>
        {{end}}
    </table>
    <hr>
    {{ .Graph .Alert.Vars.metric }}`

    subject = {{.Last.Status}}: {{.Alert.Name}} cpu idle at {{.Alert.Vars.q | .E}}% on {{.Group.host}}
}

notification sample.notification {
    email = alerts@example.com
}

alert sample.alert {
    template = sample.template
    $q = avg(q("sum:rate:linux.cpu{host=*,type=idle}", "1m"))
    crit = $q < 40
    notification = sample.notification
}

알림은 지난 1 분 동안 평균 CPU 사용량이 평균 40 % 미만인 Critical: sample.alert cpu idle at 25% on hostname 대해 Critical: sample.alert cpu idle at 25% on hostname 의 전자 메일을 보냅니다. 이 예제는 "호스트 범위"경고이지만 Bosun은 클러스터, 데이터 센터 또는 전역 범위 경보도 지원합니다 (자세한 내용은 기본 비디오 시리즈 참조).

샘플 구성 파일

다음은 개발 환경에서 사용되는 Bosun 구성 파일의 예입니다.

tsdbHost = localhost:4242
httpListen = :8070
smtpHost = localhost:25
emailFrom = bosun@example.org
timeAndDate = 202,75,179,136
ledisDir = ../ledis_data
checkFrequency = 5m

notification example.notification {
        email = alerts@example.org
        print = true
}

이 경우 구성 파일은 Bosun이 포트 4242에서 로컬 OpenTSDB 인스턴스에 연결하고 포트 8070 (호스트에 바인딩 된 모든 IP 주소)에서 요청을 수신 대기해야하며 전자 메일에 localhost SMTP 시스템을 사용하고 추가 표준 시간대를 표시하며 시스템 상태의 경우 외부 Redis 대신 Ledis에 내장되고 5 분 간격으로 기본 경고가 표시됩니다.

config는 또한 경고에 할당 할 수있는 example.notification을 정의합니다.이 경고는 일반적으로 구성 파일의 끝에 포함됩니다 (예제 경고 예제 참조).

도커 빠른 시작

요약 설명서 에는 Docker를 사용하여 Bosun 인스턴스를 사용하는 방법에 대한 정보가 포함되어 있습니다.

$ docker run -d -p 4242:4242 -p 80:8070 stackexchange/bosun

이렇게하면 http : // docker-server-ip 브라우저를 열어서 액세스 할 수있는 Bosun의 새 인스턴스가 생성됩니다. 도커 이미지에는 시계열 데이터를 저장하는 HBase / OpenTSDB, Bosun 서버 및 Bosun 컨테이너 내부에서 메트릭을 수집하는 Scollector가 포함됩니다. 그런 다음 Bosun 서버에서 추가 scollector 인스턴스를 가리키고 Grafana를 사용하여 OpenTSDB 또는 Bosun 메트릭의 대시 보드를 만들 수 있습니다.

Stackexchange / Bosun 이미지는 테스트 용으로 만 설계되었습니다. 구성 파일에 정의 된 경고가 없으며 고정 표시기 이미지가 제거되면 데이터가 삭제되지만 bosun의 작동 방식을 파악하는 데는 매우 유용합니다. Bosun의 프로덕션 인스턴스 생성에 대한 자세한 내용은 http://bosun.org/resources를 참조하십시오.