环境
192.168.254.127 (监控服务器)
192.168.254.128 (被监控机器)

首先在监控服务器安装:
1.安装Node Exporter 来收集硬件信息
所有节点运行以下命令安装Node Exporter 容器
docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
-v "/etc/localtime:/etc/localtime" \
--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.安装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 \
-v "/etc/localtime:/etc/localtime" \
google/cadvisor:latest

注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 cAdvisor 通信。
在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=<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','localhost:8080','localhost:9100','192.168.254.128:8080','192.168.254.128:9100']
      指定从哪些 exporter 抓取数据。这里指定了两台 host 上的 Node Exporter 和 cAdviso
      另外 localhost:9090 就是 Prometheus Server 自己,可见 Prometheus 本身也会收集自己的监控数据。同样地,我们也可以通

3.运行以下命令安装普罗米修斯服务
docker run -d -p 9090:9090 \
-v /root/prometheus.yml:/etc/prometheus/prometheus.yml \
-v "/etc/localtime:/etc/localtime" \
--name prometheus \
--net=host \
prom/prometheus

注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 Exporter 和 Grafana 通信。

prometheus.yml 是 Prometheus Server 的配置文件
安装完毕后浏览器中打开http://192.168.254.127:9090 点击菜单 status ----> target,状态显示为up,说明普罗米修斯服务能够正常获取监控数据,点击endpoint可以查看收集的详细信息由于没有安装UI 服务器Granfana

4.在DockerMachine上运行Grafana
docker run -d -i -p 3000:3000 \
-v "/etc/localtime:/etc/localtime" \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=admin8888" \
--net=host \
grafana/grafana

5.现在查看各个Host上都运行了那些容器 Dockermachine: 共4个 Grafana,Prometheus, cadvisor, node-exporter

Grafana启动后,在浏览器中打开http://192.168.254.127:3000 登录界面,登录用admin 密码为刚创建Grafana时的admin8888

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

点击Save & Test 如果一切顺利该DataSource可以正常工作了,也就是说Grafana可以正常跟Prometheus正常通信了,name怎么展示数据呢,答案是通过dashboard.
7.自己手工创建dashboard有点困难,可以借助开元的力量访问https://grafana.com/dashboards?dataSource=prometheus&search=docker 将会看到很多用于监控 Docker 的 Dashboard。监控模板地址(多种监控模板根据自己需求下载不同的模板)

有些dashboard可以下载后直接导入,而有些需要修改后再导入,需要看dashboard的overview

例如导入Docker and system monitoring dashboard

8.最后监控页面展示

最后说明:
监控服务器 需要安装4个服务
Prometheus Server(普罗米修斯监控主服务器 )
Node Exporter (收集Host硬件和操作系统信息)
cAdvisor (负责收集Host上运行的容器信息)
Grafana (展示普罗米修斯监控界面)

被监控的只有安装2个
Node Exporter (收集Host硬件和操作系统信息)
cAdvisor (负责收集Host上运行的容器信息)

转载于:https://blog.51cto.com/10158955/2165301

普罗米修斯监控docker 服务相关推荐

  1. 普罗米修斯监控服务之-监控携带metric接口的服务

    第一部分:课前小菜: 例子: 分布式:将多台Linux主机组合在一起,做成像一台主机一样来使用 微服务:将一台Linux主机拆分成多台Linux使用 淘宝:搜索页.商品详情页.订单页.支付页.物流.评 ...

  2. 普罗米修斯监控linux,Prometheus(普罗米修斯)搭建监控

    Prometheus(普罗米修斯) 实验环境:(各个主机,ip,所需服务) docker01 docker02 docker03 1.10 1.20 1.30 NodeEXporter NodeEXp ...

  3. 一篇文章搞定Prometheus普罗米修斯监控系统的部署

    Prometheus普罗米修斯监控系统 一.普罗米修斯监控概述 1.1 什么是普罗米修斯监控 二.时间序列数据 2.1 什么是序列数据 2.2 时间序列数据特点 2.3 普罗米修斯特征 三.普罗米修斯 ...

  4. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  5. 阿尔萨斯监控平台普罗米修斯监控平台对服务器资源的监控

    一.arthas-阿尔萨斯监控平台 内存监控: 1.打开RDMS,选择应用实例,在'快捷方式'下拉选项中选择arthas 2.打开监控界面,输入:dashboard -i 5000 备注:-i 刷新实 ...

  6. 普罗米修斯监控结合Java服务进行工作

    开始之前需要知道普罗米修斯的相关思想 采用http协议来传输数据 主动调用获取数据 简化理解,有一个服务(java服务)提供返回固定格式(四种)的接口,普罗米修斯服务定时调用(内部感觉用该有长链接,否 ...

  7. 普罗米修斯监控服务之PromQL语法和常用计算

    PromQL QL顾名思义,Query language即查询语言.Prometheus作为强大的开源监控系统,最大的依赖便是PromQL.是监控数据个性化查询.展示的基础.所以要掌握Promethe ...

  8. 普罗米修斯 监控_完美的分布式监控系统——普罗米修斯

    DevOps工程师或SRE工程师,可能都知道Prometheus普罗米修斯.Prometheus于2012年由SoundCloud创建,目前已经已发展为最热门的分布式监控系统.Prometheus完全 ...

  9. 普罗米修斯监控系统_一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式...

    前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...

最新文章

  1. Docker系列5--一些问题及解决
  2. ASP.NET Web API中的参数绑定总结
  3. 有备无患的Linux操作系统备份方法
  4. python 2022/1/2
  5. 【机器学习基础】机器学习中的特征工程总结!
  6. DM达梦创建表空间用户
  7. linux系统可以ping,Linux系统禁ping
  8. php+mysql执行sql文件路径_PHP———MySQL笔记(5)之MySQL数据库导出导入sql文件(详细)...
  9. 永州计算机应用等级,5月永州计算机应用能力考试报名
  10. 资产管理软件 GLPI的安装(转)
  11. 【JZOJ】【数论】立体井字棋
  12. 如何构建健商品期carry组合
  13. MySQL多个关键词检索字段
  14. 用c语言输出英文字母表音标,26个英文字母表中文
  15. 推荐个php在线手册,非常的全
  16. 好嗨游戏:20款最好玩的运动游戏:足球、篮球、网球等等(上)
  17. 魔性计时器html,PDD西卡脸抽不断 拜年秀播出倒计时1天
  18. python vimdiff_技巧:Vimdiff 使用
  19. tips pycharm 配搭git
  20. spring data jpa 与 jpa的区别

热门文章

  1. Linux中bash: ls: 未找到命令… 相似命令是: ‘lz‘
  2. 木老师教笨笨课堂——系列讲座(从函数指针到委托) 二、C语言里的函数指针...
  3. 钢七连实战C3-P2:项目源码结构 面向对象基础 堆分配
  4. html5 便签墙,12个爆有趣的室内亲子游戏,在家也能玩出花样!
  5. 毕业设计 单片机智能鱼缸系统 - 嵌入式 物联网
  6. 【Tableau server 日常维护14】清理Tableau server日志和临时文件
  7. 函数恒成立问题与参数的取值范围_高考中恒成立问题巧解方法
  8. 字节面试复盘:大厂究竟会问些什么呢?
  9. 南航计算机学院推免生奖学金,南京航空航天大学航天学院2018招收推免生办法...
  10. Python Djan 路由对应的名称