Cadvisor+prometheus+grafana

部署Cadvisor

[root@localhost ~]# docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS         PORTS                                       NAMES
13420a47d9bf   google/cadvisor:latest   "/usr/bin/cadvisor -…"   10 seconds ago   Up 9 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   cadvisor

prometheus

特点:

  • 有多维度的数据模型
  • 有自己的查询语言:PromQL
  • 不依赖分布式存储
  • 支持通过中间网关推送时间序列数据
  • 通过服务发现或静态配置,来发现目标服务对象
  • 支持图标和界面展示

部署Prometheus

[root@localhost ~]# docker pull prom/Prometheus   //下载普罗米修斯
[root@localhost ~]# vim /tmp/prometheus.yml      //创建静态普罗米修斯yml文件
#my global config
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.                  
   # scrap_timeout is set to the global default (10s).

# Alertmanager configuration
Alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

#Load rules once andpreiodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scrapedfrom this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
 
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'docker'      ##定义一个叫docker的组
    static_configs:
- targets: ['192.168.200.14:8080']

[root@localhost ~]# docker run -d --name=prometheus -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml -v /etc/localtime:/etc/localtime prom/prometheus

页面访问端口9090

部署Granafa

[root@localhost ~]# docker run -d --name=granafa -p 3000:3000 grafana/grafana
65f2b78f0d30a27d38e12d728db66a60d9f44fc2ad2ab3ac3fd58c4cb7afd4f6
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS          PORTS                                       NAMES
65f2b78f0d30   grafana/grafana          "/run.sh"                9 seconds ago    Up 8 seconds    0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   granafa
dd61dd779dae   prom/prometheus          "/bin/prometheus --c…"   8 minutes ago    Up 4 minutes    0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus
13420a47d9bf   google/cadvisor:latest   "/usr/bin/cadvisor -…"   46 minutes ago   Up 46 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   cadvisor


posted @ 2021-10-27 21:53  whml  阅读(85)  评论(0编辑  收藏  举报