iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
DevOps

Hashicorp 0 到 0.003系列 第 11

Day 11. Consul Monitor with Prometheus

  • 分享至 

  • xImage
  •  

Consul的監控上有支援幾種不同的工具,如Circonus, Telegraf, Datadog, Promethesu.

今天會來介紹如何使用Prometheus來監控Consul.

設定

  1. 在consul設定檔裡加入telemetry 參數如下,然後重啟生效。
telemetry {
  prometheus_retention_time = "10s"
  disable_hostname = false
}
  1. 別忘記我們有啟動ACL,所以要設定policy並創建token. 所需要的ACL權限是agent read.
# monitor-policy.hcl
agent_prefix "" {
  policy = "read"
}
  1. create policy
$ consul acl policy create -name "monitor" -rules @monitor-policy.hcl
ID:           7f1f0f3d-115e-ba86-6661-c5d5328983b0
Name:         monitor
Description:
Datacenters:
Rules:
agent_prefix "" {
  policy = "read"
}
  1. create token
$ consul acl token create -description "monitor" -policy-name monitor
AccessorID:       7278447d-305d-aec5-7488-daf74043c83a
SecretID:         3f3ffbf4-2bd3-5481-0f44-dc8d63bfdcce
Description:      monitor
Local:            false
Create Time:      2020-09-11 15:01:13.670961441 +0000 UTC
Policies:
   7f1f0f3d-115e-ba86-6661-c5d5328983b0 - monitor
  1. 設定prometheus.yml 加入以下設定
- job_name: 'consul'
    static_configs:
    - targets: ['10.168.1.175:8500']
    scheme: "http"
    tls_config:
      insecure_skip_verify: true
    metrics_path: "/v1/agent/metrics"
    params:
      format: ['prometheus']
    bearer_token: "3f3ffbf4-2bd3-5481-0f44-dc8d63bfdcce"

以上的設定也可以先用curl 來取得資訊

curl --header "X-Consul-Token: 3f3ffbf4-2bd3-5481-0f44-dc8d63bfdcce" http://10.168.1.175:8500/v1/agent/metrics?format=prometheus
  1. 開啟Prometheus web 可以看到已經開始收資料了
    https://ithelp.ithome.com.tw/upload/images/20200911/20129223c0gAqp38UV.png

https://ithelp.ithome.com.tw/upload/images/20200911/201292238A9I4V1Tf3.png

Consul exporter

除了上述的telemetry 另外也有Consul exporter,
這兩個收集的內容不相同,可以參考連結內說明,評估哪一種比較符合自己的維運,也可以兩個都使用。


上一篇
Day 10. Backup Consul Data and State
下一篇
Day 12. Hashicorp Nomad 介紹
系列文
Hashicorp 0 到 0.00330
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言