部署环境:
 
    两台 Docker Host 10.12.31.211 10.12.31.212
 
监控内容:
 
    使用Prometheus 监控两台host以及上面的容器
 
安装组件:
 
    Prometheus Server
 
        以容器的形式运行在 10.12.31.212 上
    
    Exporter
 
        Prometheus有很多现成的Exporter,完成的列表请参考https://prometheus.io/docs/instrumenting/exporters/
        使用Node Exporter 收集host硬件和操作系统数据。他将以容器的方式运行在所有host上
        使用cAdvisor收集容器数据,他将以容器的方式运行在所有host上
 
    Grafana
 
        显示多维数据,以容器的方式运行在 10.12.31.212 上
    

安装node-exporter ( 10.12.31.211 10.12.31.212 )
 
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)($|/)"
 
 
 
安装cadvisor( 10.12.31.211 10.12.31.212 )
 
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
 
 
 
安装prometheus( 10.12.31.212 )
 
docker run -d -p 9090:9090 \
  -v /root/prometheus.yml:/etc/prometheus/prometheus.yml \
  --name prometheus \
  --net=host \
  prom/prometheus
 
配置prometheus( 10.12.31.212 )
 
root@host2:~# docker exec -it prometheus /bin/sh
/prometheus $ vi /etc/prometheus/prometheus.yml
 
编辑 static_configs - targets ,添加需要监控的接口,修改完毕后需要重启一下容器
 
static_configs:
  - targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.56.102:8080','192.168.56.102:9100']
 
 
 
安装grafana( 10.12.31.212 )
 
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
 
http://10.12.31.212:3000/    admin secret
 
 

 
安装完成后,访问 Prometheus 查看监控内容是否正常    http://10.12.31.212:9090/targets
 
 
配置Grafana    http://10.12.31.212:3000/ admin secret
 
 
添加数据源
 
 
在列举出来的数据源类型中选择 Prometheus
 
 
在URL处填写Prometheus的地址,因为就在本机,所以 http://localhost:9090 即可,然后点击“Save & Test”按钮
 
 
 
返回首页,点击左侧 + ,Create - Import 
 
 
有三种方式可以导入 dashboard ,填写官网上的模板id ,上传json文件,粘贴json内容
 
 
我们去Grafana官网去查找docker的模板   https://grafana.com/dashboards?dataSource=prometheus&search=docker
 
 
这里我们选择模板“Docker and system monitoring” 我们可以拷贝模板id,也可以下载json文件
 
 
这里我们在本地的Grafana中填写模板的id  893 
 
 
因为本地的是Grafana是联网的,自动联网查询模板 893 的信息,我们需要做的就是在Prometheus处的下拉菜单中选择 Prometheus,然后点击 Import 按钮即可
 
 
然后我们就可以看到绚丽的监控画面了
 
 
 

085、如何快速部署 Prometheus (2019-05-07 周二)的更多相关文章

  1. 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)

    上一节介绍了 Prometheus 的核心,多维数据模型.本节演示如何快速搭建 Prometheus 监控系统. 环境说明 我们将通过 Prometheus 监控两台 Docker Host:192. ...

  2. 【转载】Spring Boot【快速入门】2019.05.19

    原文出处:https://www.cnblogs.com/wmyskxz/p/9010832.html   Spring Boot 概述 Build Anything with Spring Boot ...

  3. docker-compose 快速部署Prometheus之服务端并监控ceph cluster 使用钉钉webhook 报警

    现在环境是这样: ceph 4台: 192.168.100.21  ceph-node1 192.168.100.22  ceph-node2 192.168.100.23  ceph-node3 1 ...

  4. docker-compose 快速部署Prometheus,监控docker 容器, 宿主机,ceph -- cluster集群

    话不多说上菜: 现在环境是这样: ceph 4台: 192.168.100.21  ceph-node1 192.168.100.22  ceph-node2 192.168.100.23  ceph ...

  5. git遇到的问题记录2019.05.07

    用sourcetree拉取代码,报错如下: error: cannot lock ref 'refs/remotes/origin/my_branch': unable to resolve refe ...

  6. 教你在Kubernetes中快速部署ES集群

    摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...

  7. 使用Ambari快速部署Hadoop大数据环境

    使用Ambari快速部署Hadoop大数据环境   发布于2013-5-24   前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...

  8. kubernetes之监控Operator部署Prometheus(三)

    第一章和第二章中我们配置Prometheus的成本非常高,而且也非常麻烦.但是我们要考虑Prometheus.AlertManager 这些组件服务本身的高可用的话,成本就更高了,当然我们也完全可以用 ...

  9. k8s部署prometheus

    https://www.kancloud.cn/huyipow/prometheus/527092 https://songjiayang.gitbooks.io/prometheus/content ...

随机推荐

  1. 安装python及其它

    https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624

  2. dependencies和devDependencies的区别?

    当我们项目需要下载一个模块的时候,我们安装npm包(在项目目录下面npm install module_name)的时候,很多时候我们会在后面加上–save-dev 或 –save.这两个参数代表什么 ...

  3. Jmeter -- 循环控制器 -- 控制请求执行次数

    目的: 登录请求 -- 执行一次 查询请求 -- 执行多次 步骤: 1. 添加循环控制器,按照下图层级所示: 2. 配置线程并发数,和循环控制器循环次数

  4. LinkedList类源码浅析(二)

    1.上一节介绍了LinkedList的几个基本的方法,其他方法类似,就不一一介绍: 现在再来看一个删除的方法:remove(Object o) remove方法接受一个Object参数,这里需要对参数 ...

  5. 10、kubernetes之RBAC认证

    一.kubectl proxy # kubectl proxy --port=8080 # curl http://localhost:8080/api/v1/ # curl http://local ...

  6. iframe标签的初试

    要使用的框架的页面代码: <body> <form id="form1" runat="server"> <div> < ...

  7. 石川es6课程---3、变量let和常量const

    石川es6课程---3.变量let和常量const 一.总结 一句话总结: let非常好用,尤其是let的块级作用域可以解决之前要(function(){})()立刻执行函数做的块级作用域 1.js中 ...

  8. spark 笔记 9: Task/TaskContext

    DAGScheduler最终创建了task set,并提交给了taskScheduler.那先得看看task是怎么定义和执行的. Task是execution执行的一个单元. Task: execut ...

  9. 使用ajax获取servelt数据乱码

    修改tomcat编码 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=" ...

  10. Anaconda 配置 Python 环境

    原文地址:Anaconda 配置 Python 环境 0x00 环境 Anaconda: 2019.03 Python: 3.6.8 0x01 Linux 安装 Anaconda 交互安装 Anaco ...