prometheus + grafana + pushgateway 搭建監控可視化系統


使用prometheus + grafana + pushgateway搭建監控可視化系統

安裝docker環境

# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# yum -y install docker-ce git

# systemctl start docker
# systemctl enable docker

安裝prometheus + grafana + pushgateway

安裝 prometheus+ grafana + pushgateway

  • 獲取docker-compose.yaml
# cd /opt/
# git clone https://github.com/evnsio/prom-stack.git
# cd prom-stack
  • 設置持久化
version: "3"
services:

  pushgateway:
    image: prom/pushgateway:v0.4.0
    command: --persistence.file=/pushgateway/pushgateway.data
    ports:
      - 9091:9091
    volumes:
      - ./data/pushgateway:/pushgateway

  prometheus:
    #image: prom/prometheus:v2.0.0
    image: prom/prometheus:v2.18.1
    command: --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.retention=60d
    user: 0:0
    ports:
      - 9090:9090
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus/alerts/:/etc/prometheus/rules.d/
      - ./data/prometheus:/prometheus

  grafana:
    #image: grafana/grafana:4.6.2
    image: grafana/grafana:6.7.1
    ports:
      - 3000:3000
    volumes:
      - ./data/grafana:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=password

  alertmanager:
    image: prom/alertmanager:v0.11.0
    command: --config.file=/etc/alertmanager/alertmanager.yml
    ports:
      - 9093:9093
    volumes:
      - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml

grafana使用默認用戶名密碼 admin password 登陸

  • 安裝 docker-compse
## 安裝Docker-compose

# curl "https://dl.cactifans.com/zabbix_docker/docker-compose" -o /usr/bin/docker-compose
# chmod a+x /usr/bin/docker-compose

##  查看docker-compose版本

# docker-compose version
  • 創建目錄
## 創建目錄
# mkdir /data/monitor/prom-stack/data/{grafana,prometheus,pushgateway}

## 修改grafana目錄屬主和屬組,否則容器無法啟動
# chown 472:472 -R /data/monitor/prom-stack/data/grafana

  • 啟動服務
# cd /opt/prom-stack
# docker-compose -f docker-compose.yml pull
# docker-compose -f docker-compose.yml up -d

查看服務安裝情況

# docker-compse ps

# docker ps -a

使用curl生成測試數據

  • 可以使用$RANDOM來生成隨機數
# while true; do
    echo "mymetric $RANDOM" | curl --data-binary @- http://localhost:9091/metrics/job/my-push-job
    sleep 1
done

"mymetric"就是這個被監控的指標,這個監控指標推送到pushgateway比較簡潔直觀的

可以看到測試的數據已經進入pushgateway了

在grafana配置可視化界面

配置從prometheus里獲取監控數據

  • 查看操作結果

創建監控數據展示頁面

  • 選擇graph類型的展示效果

  • 點擊"Panel Title"選擇Edit

  • 在查詢參數處使用這個條件
mymetric{exported_job="my-push-job",instance="172.16.0.1:9091",job="prom-stack"}

查詢出這一步生成的用來測試的監控數據,點擊保存生成圖表

參考文檔

https://juejin.im/post/5ce3e44bf265da1bd260c157


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM