Prometheus監控—Consul服務自動發現監控

Prometheus監控之

Consul服務自動發現監控

1、Consul說明

       Consul是一個服務網格(微服務間的 TCP/IP,負責服務之間的網絡調用、限流、熔斷和監控)解決方案,它是一個一個分佈式的,高度可用的系統,並且開發使用都很簡便。它提供了一個功能齊全的控制平面,主要特色是:服務發現、健康檢查、鍵值存儲、安全服務通訊、多數據中心。web

2、在Promenade中使用Consul 的好處

      在沒有使用 consul 服務自動發現的時候,若是咱們須要添加其餘監控信息,咱們須要頻繁對 Prometheus 配置文件進行修改,再從新加載配置文件,無疑給運維人員帶來很大的負擔,有時候可能還會出現配置錯誤的問題。docker

3、基於Docker安裝Consul

mkdir /data/consul/data -p   # 建立掛載目錄,數據目錄
mkdir /data/consul/conf -p   # 建立掛載目錄,配置文件目錄
dockder pull consul        # 拉取consul鏡像
docker run -d --name consulserver1   -v /data/consul/conf/:/consul/conf/ -v /data/consul/data/:/consul/data/ --net=host consul    # 建立一個容器並運行
### 參數說明
# -- name: 容器名稱
# -v 容器掛載目錄 宿主機路徑:容器內的路徑
# --net=host   使得docker容器越過了net namespace的隔離,免去手動指定端口映射的步驟
###

# 端口詳解
8500 : http 端口,用於 http 接口和 web ui訪問;
8300 : server rpc 端口,同一數據中心 consul server 之間經過該端口通訊;
8301 : serf lan 端口,同一數據中心 consul client 經過該端口通訊; 用於處理當前datacenter中LAN的gossip通訊;
8302 : serf wan 端口,不一樣數據中心 consul server 經過該端口通訊; agent Server使用,處理與其餘datacenter的gossip通訊;
8600 : dns 端口,用於已註冊的服務發現;

4、使用接口註冊

curl -X PUT -d '{"id": "xiaowei01","name": "xiaowei","address": "192.168.0.181","port": 9090,"tags": ["Linux","小偉","xiaowei"],"checks": [{"http": "http://192.168.0.181:9090/metrics","interval": "5s"}]}' http://192.168.0.181:8500/v1/agent/service/register
### 參數說明
# id : 註冊ID 在consul中爲惟一標識
# name :Service名稱
# address:自動註冊綁定ip
# port:自動註冊綁定端口
# tags:註冊標籤,可多個
# checks : 健康檢查
#   http:   檢查數據來源
#   interval: 檢查時間間隔
# http://192.168.0.181:8500/v1/agent/service/register   consul註冊接口

5、修改prometheus配置文件

5.1 修改配置文件

在配置文件promethe.yml文件中的scrape_configs配置中添加以下內容shell

 - job_name: 'consul-prometheus'
  consul_sd_configs:
  - server: '192.168.0.181:8500'

5.2 重啓或者從新加載prometheus配置文件

一、不重啓的方式加載:瀏覽器

# 須要開啓 --web.enable-lifecycle 若是prometheus爲容器的話不支持
curl -X POST http://192.168.0.181:9090/-/reload

二、重啓promenade服務安全

systemctl restart prometheus

6、驗證--刷新瀏覽器


7、其餘

7.1 Prometheus支持的多種服務發現機制(經常使用以下)
一、static_configs: 靜態服務發現
二、file_sd_configs: 文件服務發現
三、dns_sd_configs: DNS 服務發現
四、kubernetes_sd_configs: Kubernetes 服務發現
五、consul_sd_configs: Consul 服務發現
7.二、刪除Consul註冊
curl -X PUT http://192.168.0.181:8500/v1/agent/service/deregister/xiaowei01   # 其中 xiaowei01 爲註冊時的ID



至此!Prometheus簡單的Consul服務自動發現監控註冊完成。


如對小編的文章感興趣,關注小編公衆號我們一塊兒學習開發運維相關知識微信


本文分享自微信公衆號 - 小偉運維開發(xiaowei-dev)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。網絡

相關文章
相關標籤/搜索