部署环境:
 
    两台 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学习之路(18)

    返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: >>> def a(* ...

  2. Hibernate持久化类规则

    注意事项: 提供无参的构造方法,因为在hibernate需要使用反射生成类的实例 提供私有属性,并对这些属性提供公共的setting和getting方法,因为在hibernate底层会将查询到的数据进 ...

  3. flutter column row布局的列表自适应宽高

    mainAxisSize: MainAxisSize.min

  4. zk 两阶段提交(待完善)

    zk 节点是一个 QuorumPeer,选举结束后,leader 和 follower 各自执行自己的逻辑: org.apache.zookeeper.server.quorum.QuorumPeer ...

  5. 十一:jinja2模板传参

    从后台传参到模板,模板再渲染到前端 传参的时候,可以在html后面加上关键字传参,在模板里面用{{ 参数 }}使用即可,可以传多个参数 也可以使用**传参,取值的时候就直接取内容

  6. 非GUI运行Jmeter,jtl文件没有响应数据的解决办法

    一.问题 Jmeter官方一直强调要在非GUI模式下运行Jmeter:Run your JMeter test in command-line non-GUI mode. 但在非GUI模式下运行生成的 ...

  7. 考虑以下 Python 代码,如果运行结束,命令行中的运行结果是什么?

    l = [] for i in xrange(10):  l.append({‘num’:i}) print l在考虑以下代码,运行结束后的结果是什么? l = [] a = {‘num’:0} fo ...

  8. [转] javascript 正则表达式提取数字使用

    简述: 测试了一下js的正则表达式函数match 用来从一个字符串里挑出非0开头的数字, 放入一个array里, 之后join(',')之后输出 知识点: 1. 用match函数, 提取一个字符串当中 ...

  9. java:Cookie(常用操作),Cookie和Session免登录实例

     1.常用操作: package cn.zzsxt.lee.web.cookie; import java.io.IOException; import javax.servlet.ServletEx ...

  10. 第 10 章 python进程与多进程

    一.背景知识 顾明思义,进程即正在执行的一个过程,进程是对正在云的程序的一个抽象. 进程的概念起源与操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一,操作系统的其他所 ...