상세 컨텐츠

본문 제목

Terraform을 이용하여 Splunk Observability의 detector 생성

Splunk/Observability

by 야솔아빠 2022. 12. 23. 16:26

본문

반응형

https://registry.terraform.io/providers/splunk-terraform/signalfx/latest/docs/resources/detector

 

Terraform Registry

 

registry.terraform.io

 

위 예제를 참고하여 실습을 진행.

example 소스에 빨간색 박스 관련 내용을 추가해야 한다.

 

최종 테라폼 파일 (detector.tf)

resource "signalfx_detector" "application_delay" {
  count = length(var.clusters)

  name        = "Inho max average delay - ${var.clusters[count.index]}"
  description = "my application is slow - ${var.clusters[count.index]}"
  max_delay   = 30
  tags        = ["app-backend", "staging"]

  # Note that if you use these features, you must use a user's
  # admin key to authenticate the provider, lest Terraform not be able
  # to modify the detector in the future!
  #authorized_writer_teams = [signalfx_team.mycoolteam.id]
  #authorized_writer_users = ["Splunk Korea"]

  program_text = <<-EOF
        signal = data('app.delay', filter('cluster','${var.clusters[count.index]}'), extrapolation='last_value', maxExtrapolations=5).max()
        detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
        detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
    EOF
  rule {
    description   = "maximum > 60 for 5m"
    severity      = "Warning"
    detect_label  = "Processing old messages 5m"
    notifications = ["Email,foo-alerts@bar.com"]
  }
  rule {
    description   = "maximum > 60 for 30m"
    severity      = "Critical"
    detect_label  = "Processing old messages 30m"
    notifications = ["Email,foo-alerts@bar.com"]
  }
}

terraform {
  required_providers {
    signalfx = {
      source = "splunk-terraform/signalfx"
      version = "6.18.0"
    }
  }
}

provider "signalfx" {
    auth_token = "${var.signalfx_auth_token}"
    #auth_token = "00gqnlvoynXXXXXXXXXXXXX"
    api_url = "https://api.us1.signalfx.com"
}

variable "clusters" {
  default = ["clusterA", "clusterB"]
}

variable "signalfx_auth_token" {
    default = "00gqnlvoynXXXXXXXXXXXXX"
}

 

detector.tf 파일이 있는 경로에서 아래 명령을 차례로 수행하면 code로 작성된 detector가 생성된 것을 확인할 수 있다.

terraform init
terraform plan
terraform apply

 

Splunk Observability 에서 Detector 생성된 화면

 

반응형

관련글 더보기

댓글 영역