设为首页 收藏本站
查看: 2736|回复: 1

[经验分享] Docker 监控 普罗米修斯(二)

[复制链接]

尚未签到

发表于 2019-2-22 09:12:32 | 显示全部楼层 |阅读模式
  实验环境
主机名称IP地址安装组件
DockerMachine192.168.116.131

  •   Prometheus Server(普罗米修斯监控主服务器 )
  •   Node Exporter (收集Host硬件和操作系统信息)
  •   cAdvisor (负责收集Host上运行的容器信息)
  •   Grafana (展示普罗米修斯监控界面)
Docker01192.168.116.132

  •   Node Exporter (收集Host硬件和操作系统信息)
  •   cAdvisor (负责收集Host上运行的容器信息)
Docker02192.168.116.133

  •   Node Exporter (收集Host硬件和操作系统信息)
  •   cAdvisor (负责收集Host上运行的容器信息)

  •   安装Node Exporter 来收集硬件信息
  所有节点运行以下命令安装Node Exporter 容器
  docker run -d -p 9100:9100 \
    -v "/proc:/host/proc" \
    -v "/sys:/host/sys" \
    -v "/:/rootfs" \
    --net=host \
    prom/node-exporter \
    --path.procfs /host/proc \
    --path.sysfs /host/sys \
    --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
  注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 Node Exporter 通信

  2. Node Exporter 启动后,将通过 9100 提供 host 的监控数据。在浏览器中通过 http://192.168.131:9100/metrics 测试一下。
  
  3. 安装cAdvisor 来收集容器信息  所有节点运行以下命令来安装cAdvisor
  docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  --net=host \
  google/cadvisor:latest
  

  注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 cAdvisor 通信。
  4. cAdvisor 启动后,将通过 8080 提供 host 的监控数据。在浏览器中通
  在浏览器中通过 http://192.168.116.132:8080/metrics 测试一下。

  
  5.

  •   在Dockermachine服务器上安装普罗米修斯服务
  安装之前需要将普罗米修斯的启动文件创建好, 在/root目录下创建prometheus.yml文件文件内容如下:主要修改highlight部分
  # 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=` to any timeseries scraped from this config.
    - job_name: 'prometheus'
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.
      static_configs:
        - targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.116.133:8080','192.168.116.133:9100','192.168.116.132:8080','192.168.116.132:9100']
  指定从哪些 exporter 抓取数据。这里指定了两台 host 上的 Node Exporter 和 cAdviso
  另外 localhost:9090 就是 Prometheus Server 自己,可见 Prometheus 本身也会收集自己的监控数据。同样地,我们也可以通
  6. 运行以下命令安装普罗米修斯服务
  docker run -d -p 9090:9090 \
    -v /root/prometheus.yml:/etc/prometheus/prometheus.yml \
    --name prometheus \
    --net=host \
    prom/prometheus
  注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 Exporter 和 Grafana 通信。
  prometheus.yml 是 Prometheus Server 的配置文件
  7. 安装完毕后浏览器中打开http://192.168.116.131:9090 点击菜单 status ----> target,状态显示为up,说明普罗米修斯服务能够正常获取监控数据,点击endpoint可以查看收集的详细信息由于没有安装UI 服务器Granfana所以,都是枯燥的字母
8. 在DockerMachine上运行Grafana

  
  docker run -d -i -p 3000:3000 \
  -e "GF_SERVER_ROOT_URL=http://grafana.server.name"; \
  -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
  --net=host \
  grafana/grafana
  注意,这里我们使用了 --net=host,这样 Grafana 可以直接与 Prometheus Server 通信。
  -e "GF_SECURITY_ADMIN_PASSWORD=secret 指定了 Grafana admin用户密码 secret
  9.  现在查看各个Host上都运行了那些容器 Dockermachine: 共4个 Grafana,Prometheus, cadvisor, node-exporter

  Docker01: 共2个 cAdvisor,node-exporter

  Docker02:共2个 cAdvisor, node-exporter

  10. Grafana启动后,在浏览器中打开http://192.168.116.131:3000 登录界面好炫啊----尤其是这种骚蓝背景,登录用admin 密码为刚创建Grafana时的secret

  11. 真是逼格满满,并且很人性化,按照向导操作添加DataSource

  12. 添加普罗米修斯服务器,重点看框部分,其它默认即可

  点击Save & Test 如果一切顺利该DataSource可以正常工作了,也就是说Grafana可以正常跟Prometheus正常通信了,name怎么展示数据呢,答案是通过dashboard.

  13. 自己手工创建dashboard有点困难,可以借助开元的力量访问 https://grafana.com/dashboards?dataSource=prometheus&search=docker,将会看到很多用于监控 Docker 的 Dashboard。
  
  14. 有些dashboard可以下载后直接导入,而有些需要修改后再导入,需要看dashboard的overview

  15. 例如导入Docker and system monitoring dashboard

  16. 美好的画面立刻呈现了

  17.

  •   部署完成了,基本的dashboard可以通过开元网站下载,若果结合本地环境还还得需要深入研究,另外普罗米修斯强大的告警功能在这里受限于自己knowledge待下回分解了。
  详见 http://docs.grafana.org/alerting/rules/




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675588-1-1.html 上篇帖子: Docker 监控 之普罗米修斯--架构篇 下篇帖子: Docker CE 全自动安装
累计签到:1948 天
连续签到:44 天
发表于 2019-2-23 08:11:36 | 显示全部楼层
感谢楼主的分享!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表