prometheus + cadvisor + grafana 监控容器和服务器

  • 前言
  • 一 、192.168.199.201 操作
    • 1.1、下载镜像
    • 1.2 、启动一个prometheus docker实例
    • 1.3、 启动一个node-exporter docker实例,被监控的机器需要安装
    • 1.4、 启动一个cadvisor docker实例 ,监控容器
    • 1.5、在 promethus 上添加要监控的节点
    • 1.6、启动一个grafana docker实例
  • 二 、192.168.199.202操作
    • 2.1、下载镜像
    • 2.2、 启动一个node-exporter docker实例
    • 2.3、 安装mysql
    • 2.4、 启动一个cadvisor docker实例
  • 三 、192.168.199.203操作
    • 3.1、下载镜像
    • 3.2、 启动一个node-exporter docker实例
    • 3.3、 启动一个nginx docker实例
    • 3.4、 启动一个redis docker实例
    • 3.4、 启动一个cadvisor docker实例
  • 四、192.168.199.201上配置监控信息
  • 五、配置grafana可视化监控
    • 5.1 添加prometheus数据源
    • 5.2 添监控加模板(如果和我一样不熟)

前言

node-exporter : 用来监控运算节点上的宿主机的资源信息,需要部署到所有运算节点
cadvisor :用于监控正在运行的容器资源使用和性能信息 ,需要部署到所有运算节点
github上还有各种各种的监控特定服务,比如kafka等的exporter,但是这个有点麻烦


机器信息

192.168.199.201   prometheus + node-exporter + cadvisor + grafana
192.168.199.202   node-exporter + mysql + cadvisor
192.168.199.203   node-exporter + nginx + redis  + cadvisor

PS:因为是实验,所有容器都是简单安装

一 、192.168.199.201 操作

1.1、下载镜像

docker pull prom/prometheus
docker pull prom/node-exporter
docker pull google/cadvisor
docker pull grafana/grafana

1.2 、启动一个prometheus docker实例

新建目录

mkdir -p /docker/prometheus
cd /docker/prometheus/

编辑配置文件

vim prometheus.yml
global:scrape_interval:     60s  # 间隔多少秒采集一次数据evaluation_interval: 60s  # 间隔多少秒做一次告警检测scrape_configs:             # 指定prometheus要监控的目标,每个监控目标是一个job,最简单的static_config,即静态地指定每一个目标。- job_name: prometheus    # job_name: 定义监控节点:static_configs:- targets: ['localhost:19090'] # 可以有很多,用逗号隔开labels:instance: prometheus      # 实例

启动prometheus

docker run  -d  -p 19090:9090 --name my-prometheus \
-v /docker/prometheus/prometheus.yml:/opt/prometheus/prometheus.yml  prom/prometheus

查看端口,ss比netstat快

[root@node1 prometheus]# ss -naltp | grep 19090
LISTEN     0      128          *:19090                    *:*                   users:(("docker-proxy",pid=5805,fd=4))
LISTEN     0      128       [::]:19090                 [::]:*                   users:(("docker-proxy",pid=5809,fd=4))

查看默认的监控页面

http://192.168.199.201:19090/targets


查看监控的指标

http://192.168.199.201:19090/metrics

1.3、 启动一个node-exporter docker实例,被监控的机器需要安装

启动实例

docker run -d -p 19100:9100 --name my-node-exporter \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /:/rootfs:ro \
--net=bridge  prom/node-exporter

查看端口

[root@node1 ~]# ss -naltp | grep 19100
LISTEN     0      128          *:19100                    *:*                   users:(("docker-proxy",pid=3191,fd=4))
LISTEN     0      128       [::]:19100                 [::]:*                   users:(("docker-proxy",pid=3195,fd=4))

访问url,这个数据和上面的一样,此处略过

http://192.168.199.201:19100/metrics

1.4、 启动一个cadvisor docker实例 ,监控容器

docker run -d -p 18080:8080 --name my-cadvisor \
-v /:/rootfs:ro \
-v /var/run:/var/run:ro \
-v /sys:/sys:ro \
-v /var/lib/docker/:/var/lib/docker:ro \
-v /dev/disk/:/dev/disk:ro \
-detach=true google/cadvisor

查看端口

ss -naltp | grep 18080

查看cadvisor原始监控页面(这个页面有点慢)

http://192.168.199.201:18080/containers/

1.5、在 promethus 上添加要监控的节点

cd /docker/prometheus/
vim prometheus.yml
#添加如下- job_name: linuxstatic_configs:- targets: ['192.168.199.201:19100']labels:instance: system-instance- job_name: containersstatic_configs:- targets: ['192.168.199.202:18080','192.168.199.203:18080']labels:instance: containers-instance

重启docker-promethus

 docker restart my-prometheus

再次查看监控,发现多了新加的监控项

1.6、启动一个grafana docker实例

新建数据目录

mkdir -p /docker/grafana-storage
chmod 777 -R /docker/grafana-storage

启动grafana

docker run -d -p 13000:3000 --name my-grafana \
-v /docker/grafana-storage:/var/lib/grafana  grafana/grafana

查看端口

ss -naltp | grep 13000

访问url,默认的用户名和密码都是admin:

http://192.168.199.201:13000/

二 、192.168.199.202操作

2.1、下载镜像

docker pull prom/node-exporter
docker pull mysql:5.7
docker pull google/cadvisor

2.2、 启动一个node-exporter docker实例

参考1.3

2.3、 安装mysql

启动实例

docker run -d  -p 13306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=Root@135!  mysql:5.7

查看结果

docker ps | grep my-mysql

2.4、 启动一个cadvisor docker实例

参考1.4

三 、192.168.199.203操作

3.1、下载镜像

docker pull prom/node-exporter
docker pull redis:5.0-alpine
docker pull nginx
docker pull google/cadvisor

3.2、 启动一个node-exporter docker实例

参考1.3

3.3、 启动一个nginx docker实例

docker run -d -p 18000:80  --name my-nginx  nginx
netstat -anpt | grep 18000

3.4、 启动一个redis docker实例

docker run -d -p 16379:6379 --name my-redis  redis:5.0-alpine
netstat -anpt | grep 16379

3.4、 启动一个cadvisor docker实例

参考1.4

四、192.168.199.201上配置监控信息

修改后的配置文件:

[root@node1 prometheus]# cd /docker/prometheus
[root@node1 prometheus]# cat prometheus.yml
global:scrape_interval:     30s  # 间隔多少秒采集一次数据evaluation_interval: 30s  # 间隔多少秒做一次告警检测scrape_configs:             # 指定prometheus要监控的目标,每个监控目标是一个job,最简单的static_config,即静态地指定每一个目标。- job_name: prometheus    # job_name: 定义监控节点:static_configs:- targets: ['localhost:9090'] # 可以有很多,用逗号隔开labels:instance: prometheus      # 实例- job_name: linuxstatic_configs:- targets: ['192.168.199.201:19100', '192.168.199.202:19100','192.168.199.203:19100']labels:instance: system-instance- job_name: containersstatic_configs:- targets: ['192.168.199.201:18080','192.168.199.202:18080','192.168.199.203:18080']labels:instance: containers-instance

重启docker-promethus

 docker restart my-prometheus

查看prometheus监控,最终效果如下:

可以看到三台机器上面的node-exporter && cadvisor都已经显示了,但是数据不直观,下面使用grafana改善

五、配置grafana可视化监控

5.1 添加prometheus数据源



点击上图最下面的Save & Test,绿色为ok
查看已经保存完毕的数据源

5.2 添监控加模板(如果和我一样不熟)

grafana中模板的地址:

https://grafana.com/grafana/dashboards/?dataSource=prometheus

导入模板


效果如下:(这个是17598模板)

PS:有的模板数据是NA,这个要学习怎么修改指标(metrics)了


prometheus + cadvisor + grafana 监控容器和服务器相关推荐

  1. 14、Docker监控方案(Prometheus+cAdvisor+Grafana)

    上一篇文章我们已经学习了比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控.这节课来学习Prometheus+cAdvisor+Grafana组合. cAdvisor ...

  2. Prometheus+Node_exporter+Grafana监控(附送保姆级别linux安装攻略)

    Prometheus+Node_exporter+Grafana监控(附送保姆级别linux安装攻略) 前言:监控系统技术选型 从开发语言上看,为了应对高并发和快速迭代的需求,监控系统的开发语言已经慢 ...

  3. 开源OceanBase如何与Prometheus与Grafana监控结合

    一.OceanBase 数据库简介 OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目,近期成立单独的商业公司北京奥星贝斯进行运营,并于2021年6月1 ...

  4. prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知

    1.下载prometheus安装 ① 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译 [root@loac ...

  5. 用Prometheus和Grafana监控Java Spring应用

    最近要对一些业务流程进行端到端的监控,这些业务是由几个微服务构成,微服务都是Java Spring编写的,我们需要了解整个业务涉及的各个模块的流量统计,性能状况,例如总共有多少次业务请求调用,多少次成 ...

  6. 完整版SpringBoot集成Prometheus配置Grafana监控指标包括响应时间分位数TP90,TP80(图+文)

    1 缘起 监控作为线上服务管理的最重要一环, 每当新服务上线后,都需要监控上线服务运行情况,包括QPS.时延.成功响应率.内存和CPU使用情况等, 通过监控信息,清晰且及时地掌握当前服务的健康程度,以 ...

  7. 【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控

    本文作者:七牛云布道师@陈爱珍,DBAPlus社群联合发起人.前新炬技术专家.多年企业级系统的应用运维及分布式系统实战经验.现专注于容器.微服务及DevOps落地的研究与实践. 安装过程 三个都直接下 ...

  8. linux一键部署prometheus、grafana监控系统

    基于Linux系统部署.非docker容器部署方式. 所需要的包已经全部放 123云盘 提取码000 永久生效https://www.123pan.com/s/wkyA-bN7cv%E6%8F%90% ...

  9. Docker 环境下 Prometheus 和 Grafana 监控 Mysql

    一.安装 Mysql 和 mysqld-exporter 1.1.安装Mysql Docker 下 Mysql 安装:传送门 Linux 下 Mysql 安装:传送门 Win10 下 Mysql 安装 ...

  10. prometheus和grafana、cadvisor(笔记)

    目录 1.监控: 2.主流监控,小米,zabbix和prometheus 3.运维的一个趋势: 4.仪表盘 5.概念: 6.查看prometheus的配置: 7.prometheus部署方式: 8.本 ...

最新文章

  1. mysql教程左右链接_mysql的左右内连接用法实例
  2. IBM发布人脸识别最强工具,多样性数据集,100万张人脸图像!
  3. git clone 代码下载速度慢的解决方法
  4. mxnet参数初始化,查看
  5. python调用ipython_在IPython中执行Python程序文件的示例
  6. c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
  7. delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数
  8. 问题与事务跟踪系统jira中的版本管理
  9. 【转】QT中窗口刷新事件的学习总结
  10. Java中四种遍历Map对象的方法
  11. SyntaxHighlighter3.0.83 配置
  12. OSAL操作系统抽象层
  13. C++ OpenCV人脸图像提取
  14. JS制作一个简单的网页倒计时器
  15. 轻快的java_轻快的Java
  16. 你有多久没有收到圣诞节的祝福了,你收到那个女孩(男孩)的祝福了吗?
  17. 用电脑开热点启用电脑无线配置
  18. 华为linux系统能用Cad么,华为平板能装cad画图吗 华为平板可以用cad软件吗?
  19. 双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)
  20. JVM 判断对象已死,实践验证GC回收

热门文章

  1. 音频格式转换Java代码,以mp3转amr为例
  2. 小学-综合素质【5】
  3. 提高百度竞价广告质量度的5个关键方法
  4. AI虚拟偶像正崛起,是否可以取代你的idol?
  5. VS 2008的64位编译环境的安装和使用
  6. Java、JSP新华书店网上售书系统
  7. 用matlab实现灰色预测gm11模型,用MATLAB实现灰色预测GM11模型
  8. android packages/apps 加入工程,深入安卓Package Manager和Package Installer
  9. 64位锐捷多网卡、VMWareNat模式、ICS共享破解
  10. linux查看磁带大小命令,16条实用的Linux/Unix 磁带管理命令