...
CloudHub Portal은 InfluxData의 데이터 처리 플랫폼과 Kapacitor를 통합하여 이벤트 핸들러에 알람 메시지를 전송합니다. CloudHub Portal는 다음 이벤트 핸들러를 지원합니다.
...
CloudHub Portal에서 Kapacitor 이벤트 핸들러를 구성하려면 Kapacitor를 설치하고 이를 CloudHub Portal에 연결합니다. Kapacitor 구성 페이지에는 이벤트 핸들러 구성 옵션이 포함됩니다.
...
CloudHub Portal의 Configure Kapacitor 페이지에서는 알람 엔드포인트 구성이 나타납니다. 구성에 액세스하려면 연결된 Kapacitor 인스턴스가 있어야 합니다. 자세한 내용은 Kapacitor 설치 지침 및 CloudHub Portal에 Kapacitor 인스턴스 연결방법을 참조하세요.
알람 엔드포인트 구성 섹션의 구성 옵션이 모두 포함되지 않는 점을 유의하세요. 일부 이벤트 핸들러는 사용자가 알람 규칙에 의해 이벤트 핸들러 구성을 사용자 정의할 수 있도록 합니다. 예를 들어 CloudHub Portal에서 Slack Integration을 통해 사용자는 알람 엔드포인트 구성 섹션에서 Default Channel과 개별 알람 규칙 설정으로 다른 Channel을 지정할 수 있습니다.
...
exec
이벤트 핸들러는 외부 프로그램을 실행한다. 이벤트 데이터는 STDIN
을 통해 프로세스에 전달됩니다.
옵션
다음은 exec
이벤트 핸들러 옵션은 핸들러 파일 또는 TICKscript에서 .exec()
을 설정할 때 사용할 수 있습니다.
...
post
이벤트 핸들러의 구성 및 기본 옵션 값은 kapacitor.conf
에 설정됩니다. 아래는 예제 구성입니다.
Post Settings in kapacitor.conf
Code Block |
---|
[[httppost]] endpoint = "example" url = "http://example.com/path" headers = { Example = "your-key" } basic-auth = { username = "my-user", password = "my-pass" } alert-template = "{{.Message}}:{{range .Data.Series}}{{.Tags}},{{range .Values}}{{.}}{{end}}{{end}}" alert-template-file = "/path/to/template/file" row-template = "{{.Name}} host={{index .Tags \"host\"}}{{range .Values}} {{index . "time"}} {{index . "value"}}{{end}}" row-template-file = "/path/to/template/file" |
...
kapacitor.conf
는 여러 [httppost] 섹션을 지원합니다. 각 구성의 endpoint
구성 옵션은 해당 특정 구성에 대해 고유한 식별자로 사용됩니다. Post Alert 핸들러와 함께 특정 [httppost] 구성을 사용하려면 Post 알람 핸들러 파일 또는 TICKscript에 엔드포인트를 지정하세요.
kapacitor.conf
...
Code Block |
---|
kapacitor define-topic-handler post_cpu_handler.yaml |
Post templating
Post 이벤트 핸들러를 사용하면 알람 및 Row template를 사용하여 POST의 컨텐츠 및 구조를 사용자 정의 할 수 있습니다.
Alert templates
Alert template는 사용자 정의 HTTP body를 구성하는 데 사용됩니다. 알람 데이터를 사용할 때 post 알람 관리자와 사용됩니다. 템플릿은 alert-template
구성을 사용하여 kapacitor.conf
에 인라인으로 정의되거나 별도의 파일로 정의되며 alert-template-file
구성을 사용하여 참조됩니다.
알람 템플릿은 Golang Template 을 사용하며 다음 필드에 액세스 할 수 있습니다:
Field | Description |
---|---|
.ID | 알람의 고유 ID |
.Message | 알람 메시지 |
.Details | 알람의 세부 사항 |
.Time | 알람 이벤트가 발생한 시간 |
.Duration | 알람 이벤트의 지속 기간 |
.Level | 알람의 레벨 (예 : INFO, WARN 또는 CRITICAL) |
.Data | 알람을 트리거 한 데이터 |
.PreviousLevel | 알람 이전 수준 (예 : INFO, WARN 또는 CRITICAL) |
.Recoverable | 알람이 자동 복구 가능한지 여부를 나타냅니다. |
Inline alert template
kapacitor.conf
Code Block |
---|
[[httppost]] endpoint = "example" url = "http://example.com/path" alert-template = "{{.Message}}:{{range .Data.Series}}{{.Tags}},{{range .Values}}{{.}}{{end}}{{end}}" |
Alert template file
kapacitor.conf
Code Block |
---|
[[httppost]] endpoint = "example" url = "http://example.com/path" alert-template-file = "/etc/templates/alert.html" |
...
Code Block |
---|
{{.Message}}:{{range .Data.Series}}{{.Tags}},{{range .Values}}{{.}}{{end}}{{end}} |
Row templates
Row templates는 custom HTTP body를 구성하는 데 사용됩니다. 한 번에 한 행씩 소비하므로 httpPost 핸들러와 함께 사용됩니다. row-template
구성을 사용하여 kapacitor.conf
에 인라인으로 정의되거나 별도의 파일로 정의되며 row-template-file
구성을 사용하여 참조됩니다.
...
이 필드가 비어 있거나 지정되지 않은 경우 CloudHub Portal은 Slack WebHook URL에 의해 지정된 Channel 또는 DM에 알람 메세지를 보내거나 알람 규칙에서 지정된 Channel 또는 DM으로 알람 메세지를 전송합니다. 알람 규칙에서 지정된 Channel 또는 DM은 Slack Channel
구성 옵션과 WebHook URL 구성 보다 우선합니다.
...
Token
봇의 API access token을 기입합니다.Chat ID
알람 메세지를 받을 계정의 Chat ID를 기입합니다.Select the alert message format. 알람 메시지 형식을 선택합니다.
알람 메시지의 형식을 지정하려면 마크다운(기본) 또는 HTML을 선택합니다.Disable link previews in alert messages. 링크 미리보기 비활성화
알람 메시지에서 링크 미리보기를 비활성화하려면 이 옵션을 선택합니다.Disable notifications on iOS devices and disable sounds on Android devices. Android users continue to receive notifications. 알람 비활성화
iOS 장치 및 안드로이드 장치의 사운드에 대한 알람을 비활성화하려면 이 옵션을 선택합니다. 안드로이드 사용자는 계속 알람을 수신합니다.Send Test Alert 버튼을 클릭하면 아래의 이미지처럼 테스트 메시지가 전송됩니다.
...