docker 监控数据整合
安装docker
#开启内核转发
echo net.ipv4.ip_forward=1 >>/etc/sysctl.conf
sysctl -p
wget -O /etc/yum.repos.d/ali_docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# centos7.x :
# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker软件包源
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装Docker CE
yum install -y docker-ce
## 配置docker
rm -f /etc/docker/*
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ajvcw8qn.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl enable docker.service
grafan+cadvisor+prometheus监控docker:
#运行cadvisor:
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8088:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
#运行grafana:
docker run -d \
--name=grafana \
-p 3000:3000 \
grafana/grafana
#运行prometheus:
docker run -d \
--name=prometheus \
-p 9090:9090 \
prom/prometheus
# 访问端口:
http://192.168.3.100:3000/
http://192.168.3.100:9090/
http://192.168.3.100:8088/
配置cadvisor:
访问入口: http://[ip]:8088
能看到数据信息就说明配置没问题

配置prometheus:
#进入prometheus
docker exec -it prometheus sh
#修改配置
vim /etc/prometheus/prometheus.yml
static_configs:
- targets: ['localhost:9090']
- job_name: 'docker'
static_configs:
- targets: ['192.168.3.100:8081']
#修改完毕后重启 prometheus 容器:
docker restart prometheus
进入web页面:


点击 http://192.168.3.100:8081/metrics能看到数据,说明配置没问题 
能看到监控数据则没有问题
配置启动grafana:
docker run -d \
> --name=grafana \
> -p 3000:3000 \
grafana/grafana
# 默认账号密码都是 admin


添加数据源:

选择 prometheus 为数据源:


选择这个源:

添加数据展示 仪表盘:


container_memory_usage_bytes{image!="",name="cadvisor"}
container_memory_max_usage_bytes{image!="",name="cadvisor"}
填写完毕后 保存配置
#官方有很多仪表盘提供使用
#其中较为适合监控docker容器的仪表盘号: 193



效果:

问题:
grafana图表无数据问题原因:
1. 如果grafna没有数据,可能时时间不对,需要每台服务器时间保持一致
2. promql存在问题,如:版本不兼容
3. prometheus里无数据,需要排查prometheus
多服务器监控docker
默认只能监控当前主机,如果需要监控多个主机,就需要做以下操作步骤:
1. 被监控主机安装 cadvisor
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8081:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
2. 在其他服务器运行prometheus:
docker run -d \
--name=prometheus \
-p 9090:9090 \
prom/prometheus
3. 在prometheus容器中新增被监控服务器的IP[所有IP]
docker exec -it prometheus sh
查看: cat /etc/prometheus/prometheus.yml
static_configs:
- targets: ['localhost:9090']
- job_name: 'docker'
static_configs:
- targets: ['192.168.3.100:8081']
修改为:
- targets: ['localhost:9090'] #在这一行下方添加,‘job不与targets同级’ :
- job_name: 'docker'
static_configs:
- targets: ['192.168.3.100:8088','192.168.3.85:8088']
#targets填写:cadvisor 的IP和端口。targets:
修改完成,重启 prometheus容器 即可
3. 重启prometheus容器:
docker restart prometheus
页面添加:
进入prometheus 设置页面 点击 : ’Add data source‘ 添加数据源


填写被监控服务器的IP:
页面检查:

通过访问:
http://192.168.3.85:8088/containers/
http://192.168.3.100:8081/containers/
查看是否安装 cadvisor
导入监控:

label_values(up,instance)
多个主机配置配置这个是一样的
做了这一步后去编辑图表,让他显示其他节点信息,节点多的情况下每个节点都需要增加 query0配置 label_values(up,instance)

# 在编辑页面修改参数为:
rate(container_cpu_user_seconds_total{image!="",instance="$Node"}[5m]) * 100
rate(container_cpu_user_seconds_total{image!=""}[5m]) * 100
#保存即可
这个$Node 就是 Variables 这个Name: query0 也可以配置为 $query0 也可以配置为 $Node 那下面图这里就要改成 $Node
添加复选框
找到:Home / Settings
选择 Variables
右边选项卡出现后
在 Query 后面 添加: label_values(up,instance)
修改完成后 保存或者 update 即可
切换到 
#因为这里 看到 variable中定义的 Name: query0 那么他就是获取信息的关键
在每个图形页面添加如下设置:
,instance="$query0"
添加完成后点击 save 保存,每个监控选项都需要修添加

docker 监控数据整合的更多相关文章
- 【活动】监控宝惹火Docker监控,开放试用中
要说这两年最火爆的技术有哪些,Docker绝对是其中之一. 有人说,Docker缺少必要的运维监控工具,实践起来有难度. 幸福来的太快了. 云智慧旗下产品监控宝又惹火了,推出重量级新功能——Docke ...
- 【干货】解密监控宝Docker监控实现原理
分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者.8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入 ...
- Docker 监控实战
如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据: 2 / 3 的公司在尝试了 Docker 后最终使用了它 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 ...
- Docker 监控- Prometheus VS Cloud Insight
如今,越来越多的公司开始使用 Docker 了,2 / 3 的公司在尝试了 Docker 后最终使用了它.为了能够更精确的分配每个容器能使用的资源,我们想要实时获取容器运行时使用资源的情况,怎样对 D ...
- 7、Docker监控方案(cAdvisor+InfluxDB+Grafana)
一.组件介绍 我们采用现在比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控. 1.cAdvisor(数据采集) 开源软件cAdvisor(Container Adv ...
- docker监控
[编者的话]这篇文章作者是Usman,他是服务器和基础架构工程师,有非常丰富的分布式构建经验.该篇文章主要分析评估了五种Docker监控工具,包括免费的和不免费的:Docker Stats.CAdvi ...
- Docker监控怎么做?
http://dockone.io/article/1643 监控的价值与体系在运维体系中, 监控是非常重要的组成部分.通过监控可以实时掌握系统运行的状态,对故障的提前预警,历史状态的回放等,还可以通 ...
- Docker 监控之 SaaS 解决方案
过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐 ...
- 【原创】BI解决方案选型之ETL数据整合工具对比
一.背景 在企业BI平台建设过程中,数据整合始终是一切的基础,简单BI项目可以通过存储过程来实现,而复杂.全面.多方异构数据来源等就大大增加了复杂性,存储过程的可管理性.可维护性.容错性等就无法很好的 ...
- SpringBoot 2.0 + InfluxDB+ Sentinel 实时监控数据存储
前言 阿里巴巴提供的控制台只是用于演示 Sentinel 的基本能力和工作流程,并没有依赖生产环境中所必需的组件,比如持久化的后端数据库.可靠的配置中心等.目前 Sentinel 采用内存态的方式存储 ...
随机推荐
- vue 插件(swiper)使用
两种方法: 1... 打开https://www.swiper.com.cn/download/index.html 下载css,js... 把js,css引入public里面的index.html文 ...
- 暑期集训 Day11 —— 模拟赛复盘
${\color{Green} \mathrm{Problem\ 1 :Subarray }} $ 签到失败... 直接二进制分组,找出所有二进制位=0 的方法. 死因: 二进制分组没想出来... $ ...
- 基于MaxCompute的大数据安全方案
简介:随着法律的完善,数据安全,信息安全,网络安全,升级成国家安全,所以数据安全不管对用户,还是对公司也都会变的越来越重要.做为大数据云数仓解决方案的领导者,阿里云MaxCompute在安全体系上也 ...
- V8 编译浅谈
简介:本文是一个 V8 编译原理知识的介绍文章,旨在让大家感性的了解 JavaScript 在 V8 中的解析过程. 作者 | 子弈 来源 | 阿里技术公众号 一 简介 本文是一个 V8 编译原 ...
- 【ClickHouse 技术系列】- ClickHouse 中的嵌套数据结构
简介:本文翻译自 Altinity 针对 ClickHouse 的系列技术文章.面向联机分析处理(OLAP)的开源分析引擎 ClickHouse,因其优良的查询性能,PB级的数据规模,简单的架构,被 ...
- 阿里大数据云原生化实践,EMR Spark on ACK 产品介绍
开源大数据社区 & 阿里云 EMR 系列直播 第六期 主题:EMR spark on ACK 产品演示及最佳实践 讲师:石磊,阿里云 EMR 团队技术专家 内容框架: 云原生化挑战及阿 ...
- 模仿Spring实现一个类管理容器
简介: 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框 ...
- 基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇
简介: 本文简要介绍了基于 MySQL 结合 Tablestore 的大规模订单系统方案.这种方案支持大数据存储.高性能数据检索.SQL搜索.实时与全量数据分析,且部署简单.运维成本低. 作者 ...
- 凭证管理揭秘:Cookie-Session 与 JWT 方案的对决
概述 在上一篇文章我们聊完了授权的过程,在服务器对客户端完成授权之后,服务器会给客户端颁发对应的凭证,客户端持有该凭证访问服务端,服务器便能知道你是谁,你有什么权限等信息.这一章我们具体聊聊常见的凭证 ...
- [Trading] 人物: 陈向忠日内交易技术核心 - 趋势形态与成交量
分时图判断趋势(开仓方向) 只要是低点不断抬高的,就是上涨趋势,高点是否提高是其次的. 只要是高点不断降低的那就是下降趋势,假如低点也在不断降低,那么这样的下降趋势就更加完美一些. 很多人就是看对了趋 ...