Prometheus consul注冊發(fā)現(xiàn)

[Unit] 
Description=Consul. 
Documentation=https://www.consul.io 
After=network.target 
 
[Service] 
User=consul 
Group=consul 
ExecStart=/usr/bin/consul agent -server -bootstrap -data-dir=/data/consul/data -node=Consul -bind=0.0.0.0 -client=0.0.0.0 -ui 
ExecReload=/bin/kill -HUP $MAINPID 
Restart=always
RestartSec=5s
 
[Install] 
WantedBy=multi-user.target

創(chuàng)建consul用戶嘉汰、數(shù)據(jù)目錄與配置文件目錄弟蚀,并配置token認證
useradd --no-create-home --shell /sbin/nologin consul
mkdir -p /data/consul/data
chown consul. /data/consul/data/
mkdir /etc/consul/
vim /etc/consul/acl.json

{ 
 "acl": { 
  "enabled": true, 
  "default_policy": "deny", 
  "enable_token_persistence": true, 
  "tokens": { 
    "master": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"      //token自定義
  } 
 } 
}

啟動服務(wù)并設(shè)置開機自啟
systemctl daemon-reload
systemctl start consul.service
systemctl enable consul.service

修改配置文件,與consul音比、alertmanager連接
vim /etc/prometheus/prometheus.yml

global: 
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. 
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. 
 
# Alertmanager configuration 
alerting: 
  alertmanagers: 
  - static_configs: 
    - targets: 
       - localhost:9093          # Alertmanager 地址與端口號
 
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. 
rule_files: 
   - "/etc/prometheus/rules/*.rules"      # 報警規(guī)則文件路徑
 
scrape_configs: 
  - job_name: 'prometheus' 
    static_configs: 
    - targets: ['localhost:9090'] 
  - job_name: 'Instance' 
    consul_sd_configs:            # 配置基于consul的服務(wù)發(fā)現(xiàn)
    - server: localhost:8500       # consul地址
      token: 8dc1eb67-1f5f-4e10-ad9d-5e58b047647c     # 自定義的token
      refresh_interval: 60s      # 刷新間隔
      services: []      # 當前需要發(fā)現(xiàn)哪些類型服務(wù)實例的信息,后面會做詳細配置
# 所有服務(wù)會先注冊到consul,prometheus通過基于Consul的服務(wù)發(fā)現(xiàn)監(jiān)控到target

啟動服務(wù)及設(shè)置開機自啟
systemctl start prometheus
systemctl enable prometheus

修改Prometheus配置苛萎,讓其支持基于consul的服務(wù)發(fā)現(xiàn)
vim /etc/prometheus/prometheus.yml

......
scrape_configs: 
......
  - job_name: 'Instance' 
    consul_sd_configs: 
    - server: localhost:8500 
      token: 8dc1eb67-1f5f-4e10-ad9d-5e58b047647c 
      refresh_interval: 60s 
      services: ['node_exporter','alertmanager_exporter','consul_exporter'] 
    relabel_configs:        # 對默認的Metadata進行自定義Relabeling
    - source_labels: [__meta_consul_service_address] 
      target_label: 'ipaddress' 
    - source_labels: [__meta_consul_service_metadata_instance] 
      target_label: 'instance' 
    - source_labels: [__meta_consul_service_metadata_group] 
      target_label: 'group' 
    - source_labels: [__meta_consul_service_metadata_environment] 
      target_label: 'environment' 
    - source_labels: [__meta_consul_service_metadata_Project] 
      target_label: 'Project' 
    - source_labels: [__meta_consul_service] 
      target_label: 'service'
...... 

注冊被監(jiān)控端信息到consul
curl -X PUT -H "Content-Type: application/x-www-form-urlencoded" -H "X-Consul-Token: 8dc1eb67-1f5f-4e10-ad9d-5e58b047647c" -d @./node_exporter.json http://192.168.122.11:8500/v1/agent/service/register
node_exporter.json文件內(nèi)容如下:

{ 
 "name": "node_exporter", 
 "id": "prometheus_node_exporter", 
 "address": "192.168.122.11", 
 "port": 9100, 
 "meta": { 
   "instance": "prometheus", 
   "group": "demo", 
   "environment": "UAT", 
   "Project": "Mon"
 }, 
 "checks": [{ 
   "http": "http://192.168.122.11:9100/metrics", 
   "interval": "35s" 
 }] 
}
#!/bin/bash
HOST=`hostname`
machine_physics_net=$(ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net/`")
IP=$(ip addr | grep "$machine_physics_net" | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')
server_name=`hostname | awk -F'.' '{print $1}'`
PUBLIC_IP=`curl icanhazip.com`

curl -X PUT -H "Content-Type: application/x-www-form-urlencoded" -H "X-Consul-Token: 8dc1eb67-1f5f-4e10-ad9d-5e58b047647c" -d '{"id": "'$HOST'","name": "'$HOST'","address": "'$IP'","port": 9100,"tags": ["linux_system"],"meta": {"factory": "google", "project": "'$server_name'", "host":"'$HOST'", "public_ip":"'$PUBLIC_IP'", "private_ip":"'$IP'", "monitoring-items": "linux_base"},  "checks": [{"http": "http://'$IP':9100/metrics", "interval": "5s"}]}'  http://172.18.5.62:8500/v1/agent/service/register > /dev/null 2>&1 && echo -e "\033[92m $HOST 注冊成功 \033[0m"
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市检号,隨后出現(xiàn)的幾起案子腌歉,更是在濱河造成了極大的恐慌,老刑警劉巖齐苛,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翘盖,死亡現(xiàn)場離奇詭異,居然都是意外死亡凹蜂,警方通過查閱死者的電腦和手機馍驯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門阁危,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人汰瘫,你說我怎么就攤上這事狂打。” “怎么了混弥?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵趴乡,是天一觀的道長。 經(jīng)常有香客問我蝗拿,道長浙宜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任蛹磺,我火速辦了婚禮粟瞬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萤捆。我一直安慰自己裙品,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布俗或。 她就那樣靜靜地躺著市怎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辛慰。 梳的紋絲不亂的頭發(fā)上区匠,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音帅腌,去河邊找鬼驰弄。 笑死,一個胖子當著我的面吹牛速客,可吹牛的內(nèi)容都是我干的戚篙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼溺职,長吁一口氣:“原來是場噩夢啊……” “哼岔擂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浪耘,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤乱灵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后七冲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痛倚,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年癞埠,在試婚紗的時候發(fā)現(xiàn)自己被綠了状原。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡苗踪,死狀恐怖颠区,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情通铲,我是刑警寧澤毕莱,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站颅夺,受9級特大地震影響朋截,放射性物質(zhì)發(fā)生泄漏涝滴。R本人自食惡果不足惜恃慧,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹅髓。 院中可真熱鬧拗慨,春花似錦廓八、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至烦却,卻和暖如春宠叼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背其爵。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工冒冬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摩渺。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓窄驹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親证逻。 傳聞我的和親對象是個殘疾皇子乐埠,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容