prometheus + cadvisor + grafana 监控容器和服务器
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 监控容器和服务器相关推荐
- 14、Docker监控方案(Prometheus+cAdvisor+Grafana)
上一篇文章我们已经学习了比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控.这节课来学习Prometheus+cAdvisor+Grafana组合. cAdvisor ...
- Prometheus+Node_exporter+Grafana监控(附送保姆级别linux安装攻略)
Prometheus+Node_exporter+Grafana监控(附送保姆级别linux安装攻略) 前言:监控系统技术选型 从开发语言上看,为了应对高并发和快速迭代的需求,监控系统的开发语言已经慢 ...
- 开源OceanBase如何与Prometheus与Grafana监控结合
一.OceanBase 数据库简介 OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目,近期成立单独的商业公司北京奥星贝斯进行运营,并于2021年6月1 ...
- prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知
1.下载prometheus安装 ① 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译 [root@loac ...
- 用Prometheus和Grafana监控Java Spring应用
最近要对一些业务流程进行端到端的监控,这些业务是由几个微服务构成,微服务都是Java Spring编写的,我们需要了解整个业务涉及的各个模块的流量统计,性能状况,例如总共有多少次业务请求调用,多少次成 ...
- 完整版SpringBoot集成Prometheus配置Grafana监控指标包括响应时间分位数TP90,TP80(图+文)
1 缘起 监控作为线上服务管理的最重要一环, 每当新服务上线后,都需要监控上线服务运行情况,包括QPS.时延.成功响应率.内存和CPU使用情况等, 通过监控信息,清晰且及时地掌握当前服务的健康程度,以 ...
- 【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控
本文作者:七牛云布道师@陈爱珍,DBAPlus社群联合发起人.前新炬技术专家.多年企业级系统的应用运维及分布式系统实战经验.现专注于容器.微服务及DevOps落地的研究与实践. 安装过程 三个都直接下 ...
- linux一键部署prometheus、grafana监控系统
基于Linux系统部署.非docker容器部署方式. 所需要的包已经全部放 123云盘 提取码000 永久生效https://www.123pan.com/s/wkyA-bN7cv%E6%8F%90% ...
- Docker 环境下 Prometheus 和 Grafana 监控 Mysql
一.安装 Mysql 和 mysqld-exporter 1.1.安装Mysql Docker 下 Mysql 安装:传送门 Linux 下 Mysql 安装:传送门 Win10 下 Mysql 安装 ...
- prometheus和grafana、cadvisor(笔记)
目录 1.监控: 2.主流监控,小米,zabbix和prometheus 3.运维的一个趋势: 4.仪表盘 5.概念: 6.查看prometheus的配置: 7.prometheus部署方式: 8.本 ...
最新文章
- mysql教程左右链接_mysql的左右内连接用法实例
- IBM发布人脸识别最强工具,多样性数据集,100万张人脸图像!
- git clone 代码下载速度慢的解决方法
- mxnet参数初始化,查看
- python调用ipython_在IPython中执行Python程序文件的示例
- c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
- delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数
- 问题与事务跟踪系统jira中的版本管理
- 【转】QT中窗口刷新事件的学习总结
- Java中四种遍历Map对象的方法
- SyntaxHighlighter3.0.83 配置
- OSAL操作系统抽象层
- C++ OpenCV人脸图像提取
- JS制作一个简单的网页倒计时器
- 轻快的java_轻快的Java
- 你有多久没有收到圣诞节的祝福了,你收到那个女孩(男孩)的祝福了吗?
- 用电脑开热点启用电脑无线配置
- 华为linux系统能用Cad么,华为平板能装cad画图吗 华为平板可以用cad软件吗?
- 双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)
- JVM 判断对象已死,实践验证GC回收
热门文章
- 音频格式转换Java代码,以mp3转amr为例
- 小学-综合素质【5】
- 提高百度竞价广告质量度的5个关键方法
- AI虚拟偶像正崛起,是否可以取代你的idol?
- VS 2008的64位编译环境的安装和使用
- Java、JSP新华书店网上售书系统
- 用matlab实现灰色预测gm11模型,用MATLAB实现灰色预测GM11模型
- android packages/apps 加入工程,深入安卓Package Manager和Package Installer
- 64位锐捷多网卡、VMWareNat模式、ICS共享破解
- linux查看磁带大小命令,16条实用的Linux/Unix 磁带管理命令