Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 구성 보다 우선합니다.

...

  1. Token
    봇의 API access token을 기입합니다.

  2. Chat ID
    알람 메세지를 받을 계정의 Chat ID를 기입합니다.

  3. Select the alert message format. 알람 메시지 형식을 선택합니다.
    알람 메시지의 형식을 지정하려면 마크다운(기본) 또는 HTML을 선택합니다.

  4. Disable link previews in alert messages. 링크 미리보기 비활성화
    알람 메시지에서 링크 미리보기를 비활성화하려면 이 옵션을 선택합니다.

  5. Disable notifications on iOS devices and disable sounds on Android devices. Android users continue to receive notifications. 알람 비활성화
    iOS 장치 및 안드로이드 장치의 사운드에 대한 알람을 비활성화하려면 이 옵션을 선택합니다. 안드로이드 사용자는 계속 알람을 수신합니다.

  6. Send Test Alert 버튼을 클릭하면 아래의 이미지처럼 테스트 메시지가 전송됩니다.

...