docker環境下Prometheus+Grafana+blackbox_exporter監控系統服務(上)

Docker環境下Prometheus+Grafana+blackbox_exporter監控系統服務

首先說下背景,由於生產系統不那麼穩定,有時需要用戶反饋來作爲發現生產服務異常,作爲尚有熱血的IT從業人員,自然不看受辱,決定探索一下如果監控系統。

先上效果

關於選型:Zabbix,Prometheus,看了幾篇文章,關於比較流行的開源監控系統主要集中在Zabbix和Prometheus,其中又以Prometheus呼聲最高,對於一個對這方面經驗不是很多的小小白來講,呼聲高意味着能夠從更多的渠道獲取幫助,微博,星球,論壇,社區等,所以我選擇了Prometheus。

以下將分爲幾個步驟來講解我是如何搭建的

  1. blackbox_exporter的安裝
  2. Prometheus的獲取和安裝
  3. Prometheus的配置
  4. Grafana的獲取安裝

 這裏給大家說個技巧,也是我在部署中深切體會到的,在查看教程的時候先把教程一下子看完,把需要開放的端口統計出來,一次性進行開放(或一次走流程審批),因爲我用的是雲服務EOS所以需要到管理端配置安全策略,所以每配置一次安全組就需要進行一次重啓,如果正在運行的服務沒有做enable,就需要自己手動啓動,比較麻煩。

一 blackbox_exporter的安裝

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.14.0/blackbox_exporter-0.14.0.linux-amd64.tar.gz
tar -xvf blackbox_exporter-0.14.0.linux-amd64.tar.gz
mv blackbox_exporter-0.14.0.linux-amd64 /opt/blackbox/blackbox_exporter

查看安裝是否成功,慣例--version

 

創建systemd服務,這裏多虧一個博友的博客https://blog.csdn.net/weixin_34273479/article/details/92680400,

介紹了各個參數的意思

vi /lib/systemd/system/blackbox_exporter.service
[Unit]
Description=blackbox_exporter

[Service]
User=root
Type=simple
ExecStart=/opt/blackbox_exporter/blackbox_exporter/blackbox_exporter --config.file=/opt/blackbox_exporter/blackbox_exporter/blackbox.yml
Restart=on-failure

可以查看到該服務啓動成功,如果啓動失敗,需要查看下service中是否有語病之類的。

二  Prometheus的安裝

Prometheus是什麼這不加贅餘,想了解的可以通過度娘瞭解。

這裏我已經安裝了docker,沒有安裝的可以進行安裝或者用其他安裝方式

docker pull prom/prometheus
mkdir /opt/prometheus
cd /opt/prometheus
cat >prometheus.yml

prometheus.yml主要是用來配置prometheus從數據源怎麼提取內容,我們可以先從網上找一個配置進行佔位

global:
  scrape_interval:     60s
  evaluation_interval: 60s
 
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus
 

粘貼之後,ctrl+c,再次cat prometheus.yml已經能看到剛纔粘貼到剛纔創建的配置文件中。

啓動prometheus,對的有了docker就是這麼簡單

docker run  -d \
  -p 9090:9090 \
  -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  \
  prom/prometheus

因爲上文中我們配置的job是localhost:9090/,那我們就訪問下這個地址吧localhost:9090/graph,這個時候如果訪問localhost:9090/targets可能會有驚喜,這裏的targets是否有點兒熟悉呢,不錯,正是prometheus.yml中配置的targets.

 

 

 

有了上文的的docker安裝prometheus,是不是覺得grafana安裝也會比較簡單呢?

是的,確實如此。

docker pull prom/grafana
mkdir /opt/grafana-storage
chmod 777 -R /opt/grafana-storage

docker運行grafana

docker run -d \
  -p 3000:3000 \
  --name=grafana \
  -v /opt/grafana-storage:/var/lib/grafana \
  grafana/grafana

上面設置的端口是3000,訪問下localhost之後,就能看到grafana的登錄界面,默認用戶名密碼admin/admin。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章