docker-compose 部署jmeter+grafana+prometheus/influxdb,構建性能測試可視化實時監控(一)


docker-compose 部署grafana,prometheus

從grafana和prometheus官網拿到docker-compose.yml(下面有鏈接,進入后直接搜docker-compose.yml 就可以找到),然后放一起,如下圖,作為compose啟動的配置文件docker-compose.yml

[root@kpc]# cat docker-compose.yml 
version: "3"
services:
  grafana:
    image: grafana/grafana:5.1.0
    ports:
      - 3000:3000
    user: "104"
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
    - 9090:9090
    command:
    - --config.file=/etc/prometheus/prometheus.yml
    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    depends_on:
    - cadvisor
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:latest
    container_name: cadvisor
    ports:
    - 8080:8080
    volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:ro
    depends_on:
    - redis
  redis:
    image: redis:latest
    container_name: redis
    ports:
    - 6380:6379

https://grafana.com/docs/grafana/latest/installation/docker/

https://prometheus.io/docs/guides/cadvisor/#prometheus-configuration

只有docker-compose.yml還不夠,啟動會報錯的,因為prometheus有個volumes配置

    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro

意思是把虛擬機當前目錄下的prometheus.yml文件映射到prometheus服務容器里面的/etc/prometheus/prometheus.yml,所以,我們還要在當前目錄建一個prometheus.yml,寫入內容

scrape_configs:
- job_name: cadvisor
  scrape_interval: 5s
  static_configs:
  - targets:
    - cadvisor:8080

現在就齊活了,看一下當前目錄都有啥?嗯, 就這2個文件

[root@kpc]# ls
docker-compose.yml  prometheus.yml

現在我們再up,發現報錯了,看報錯是拉取cadvisor時連接超時了,這是因為國外源的原因,馬上換一下docker源,換成aliyun的,怎么替換docker源?

sudo mkdir -p /etc/docker  # 如果沒有就新建,有的話直接進去然后下一步
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://tjtr2dh5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

OK,源也換了,理論上沒問題了。

docker-compose up啟動,啟動成功的日志太長就不貼了

docker-compose ps查看一下,如圖,State都是up說明都成功了

[root@kpc]# docker-compose ps
       Name                     Command               State           Ports         
------------------------------------------------------------------------------------
kpc_grafana_1        /run.sh                          Up      0.0.0.0:3000->3000/tcp
cadvisor             /usr/bin/cadvisor                Up      0.0.0.0:8080->8080/tcp
prometheus           /bin/prometheus --config.f ...   Up      0.0.0.0:9090->9090/tcp
redis                docker-entrypoint.sh redis ...   Up      0.0.0.0:6380->6379/tcp

打開瀏覽器訪問看看


免責聲明!

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



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