欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Prometheus+Granfana监控Docker

程序员文章站 2022-04-25 15:16:40
...

Prometheus+Granfana监控Docker

一、cAdvisor

1.1 cAdvisor的简介:

CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

1.2 要被监控的主机安装cAdvisor

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

1.3 访问cAdvisor页面

访问cAdvisor页面可以看到收集到的数据

Prometheus+Granfana监控Docker

二、Prometheus

2.1 Prometheus的简介

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。 它现在是一个独立的开源项目,可以独立于任何公司进行维护。 为了强调这一点,并阐明项目的治理结构,Prometheus于2016年加入Cloud Native Computing Foundation,作为继Kubernetes之后的第二个托管项目。

Prometheus的主要特征有:

  • 多维度数据模型-由指标键值对标识的时间序列数据组成
  • PromQL,一种灵活的查询语言
  • 不依赖分布式存储; 单个服务器节点是自治的
  • 以HTTP方式,通过pull模型拉取时间序列数据
  • 支持通过中间网关推送时间序列数据
  • 通过服务发现或者静态配置,来发现目标服务对象
  • 支持多种多样的图表和界面展示

2.2 部署Prometheus

docker run -d \
--name=prometheus  -p 9090:9090  -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
 -v /etc/localtime:/etc/localtime \
prom/prometheus
[aaa@qq.com ~]# cat /tmp/prometheus.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.
  # scrape_timeout is set to the global default (10s).

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

# Load rules once and periodically 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 scraped from 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.242.73:8080']     ##填写一个或多个cadvisor的主机地址用逗号隔开

2.3 访问prometheus页面

http://192.168.242.72:9090/targets

看到docker组状态up为正常
Prometheus+Granfana监控Docker
查询项是可以查到数据的
Prometheus+Granfana监控Docker

三、Granfana

3.1 Granfana的简介

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

3.2 Granfana的安装

docker run -d \
--name=grafana \
 -p 3000:3000 \
grafana/grafana

3.3 配置Granfana

访问http://ip:3000/
默认账户admin 密码 admin
Prometheus+Granfana监控Docker
登录进去点击Create a data source
Prometheus+Granfana监控Docker
选择prometheus数据源
Prometheus+Granfana监控Docker
配置数据源
Prometheus+Granfana监控Docker
导入模板
Prometheus+Granfana监控Docker
使用系统的193模板
Prometheus+Granfana监控Docker
选择对应的数据源,点击导入,就可以看到被监控主机的数据
Prometheus+Granfana监控Docker
Prometheus+Granfana监控Docker

grafana不出图原因:

  • 时间没同步
  • 图表中的promsql写的有问题(导入的模板与数据不匹配)
  • 模板不兼容
相关标签: 容器