Enviar pesquisa
Carregar
如何选择 Docker 监控方案
•
0 gostou
•
412 visualizações
L
Leo Zhou
Seguir
刘斌 OneAPM
Leia menos
Leia mais
Tecnologia
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 68
Baixar agora
Baixar para ler offline
Recomendados
Comment System of 56.com
Comment System of 56.com
Ho Kim
OpenStack Resource Scheduling
OpenStack Resource Scheduling
Guangya Liu
Jvm memory
Jvm memory
benewu
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
dennis zhuang
SMACK Dev Experience
SMACK Dev Experience
Chih-Hsuan Hsu
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器
Ch Rick
04 Delegation and Core Location
04 Delegation and Core Location
Tom Fan
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
Recomendados
Comment System of 56.com
Comment System of 56.com
Ho Kim
OpenStack Resource Scheduling
OpenStack Resource Scheduling
Guangya Liu
Jvm memory
Jvm memory
benewu
QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
dennis zhuang
SMACK Dev Experience
SMACK Dev Experience
Chih-Hsuan Hsu
Azure Container Service 使用 DC / OS 管理 docker 容器
Azure Container Service 使用 DC / OS 管理 docker 容器
Ch Rick
04 Delegation and Core Location
04 Delegation and Core Location
Tom Fan
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验
Leo Zhou
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
Guangya Liu
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Ritta Narita
Fluentd and WebHDFS
Fluentd and WebHDFS
SATOSHI TAGOMORI
Packaging Ecosystems -Monki Gras 2017
Packaging Ecosystems -Monki Gras 2017
Treasure Data, Inc.
The basics of fluentd
The basics of fluentd
Treasure Data, Inc.
Life of an Fluentd event
Life of an Fluentd event
Kiyoto Tamura
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Martin Etmajer
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
Docker一期培训
Docker一期培训
青帅 常
Full stack-development with node js
Full stack-development with node js
Xuefeng Zhang
WOT Cloud Computing Architect Summit
WOT Cloud Computing Architect Summit
Docker, Inc.
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
丁 宇
Android开发基础
Android开发基础
ykdsg
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
dotCloud
调试技术的应用
调试技术的应用
延胜 黄
3 introduction to kubernetes
3 introduction to kubernetes
Jiang Shang
Databases on AWS
Databases on AWS
Chien Chung Shen
docker intro
docker intro
koji lin
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
ChinaNetCloud
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Lei (Harry) Zhang
Weic2015 docker
Weic2015 docker
Ray Lin
Mais conteúdo relacionado
Destaque
用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验
Leo Zhou
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
Guangya Liu
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Ritta Narita
Fluentd and WebHDFS
Fluentd and WebHDFS
SATOSHI TAGOMORI
Packaging Ecosystems -Monki Gras 2017
Packaging Ecosystems -Monki Gras 2017
Treasure Data, Inc.
The basics of fluentd
The basics of fluentd
Treasure Data, Inc.
Life of an Fluentd event
Life of an Fluentd event
Kiyoto Tamura
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Martin Etmajer
Destaque
(8)
用Cython封装c++代码为python模块的一点经验
用Cython封装c++代码为python模块的一点经验
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd and WebHDFS
Fluentd and WebHDFS
Packaging Ecosystems -Monki Gras 2017
Packaging Ecosystems -Monki Gras 2017
The basics of fluentd
The basics of fluentd
Life of an Fluentd event
Life of an Fluentd event
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Semelhante a 如何选择 Docker 监控方案
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
美团点评技术团队
Docker一期培训
Docker一期培训
青帅 常
Full stack-development with node js
Full stack-development with node js
Xuefeng Zhang
WOT Cloud Computing Architect Summit
WOT Cloud Computing Architect Summit
Docker, Inc.
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
丁 宇
Android开发基础
Android开发基础
ykdsg
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
dotCloud
调试技术的应用
调试技术的应用
延胜 黄
3 introduction to kubernetes
3 introduction to kubernetes
Jiang Shang
Databases on AWS
Databases on AWS
Chien Chung Shen
docker intro
docker intro
koji lin
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
ChinaNetCloud
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Lei (Harry) Zhang
Weic2015 docker
Weic2015 docker
Ray Lin
線上埋碼資料收集實作
線上埋碼資料收集實作
FEG
Win dbg入门
Win dbg入门
晓锋 陈
Windbg入门
Windbg入门
晓锋 陈
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
li luo
Docker基礎
Docker基礎
Perry Tsai
Ceph intro
Ceph intro
Yang Guanjun
Semelhante a 如何选择 Docker 监控方案
(20)
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
Docker一期培训
Docker一期培训
Full stack-development with node js
Full stack-development with node js
WOT Cloud Computing Architect Summit
WOT Cloud Computing Architect Summit
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
Android开发基础
Android开发基础
Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
调试技术的应用
调试技术的应用
3 introduction to kubernetes
3 introduction to kubernetes
Databases on AWS
Databases on AWS
docker intro
docker intro
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Large-Scale Cluster Mangement & Kubernetes Under The Hood
Weic2015 docker
Weic2015 docker
線上埋碼資料收集實作
線上埋碼資料收集實作
Win dbg入门
Win dbg入门
Windbg入门
Windbg入门
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
Docker基礎
Docker基礎
Ceph intro
Ceph intro
Mais de Leo Zhou
第三名 3rd zhyict
第三名 3rd zhyict
Leo Zhou
异常检测在苏宁的实践
异常检测在苏宁的实践
Leo Zhou
第二名 2nd 火眼金睛
第二名 2nd 火眼金睛
Leo Zhou
第四名 4th H3C AI Institute
第四名 4th H3C AI Institute
Leo Zhou
第一名 1st Bocoiops
第一名 1st Bocoiops
Leo Zhou
第六名 6th Aurora
第六名 6th Aurora
Leo Zhou
AI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving Network
Leo Zhou
2.2 go在阿里云cdn系统的应用
2.2 go在阿里云cdn系统的应用
Leo Zhou
1.6 米嘉 gobuildweb
1.6 米嘉 gobuildweb
Leo Zhou
1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑
Leo Zhou
1.2 刘奇 go在分布式数据库中的应用
1.2 刘奇 go在分布式数据库中的应用
Leo Zhou
Protocol libraries the right way
Protocol libraries the right way
Leo Zhou
美团数据库运维平台介绍
美团数据库运维平台介绍
Leo Zhou
特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践
Leo Zhou
我的互联网运维理论与实践
我的互联网运维理论与实践
Leo Zhou
美团数据库运维平台介绍
美团数据库运维平台介绍
Leo Zhou
The net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James Bennett
Leo Zhou
Hypothesis randomised testing for django
Hypothesis randomised testing for django
Leo Zhou
NoSQL@VIP — 唯品会NoSQL平台⾃动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台⾃动化发展及运维经验分享
Leo Zhou
动静态混合网站或 APP的CDN优化方法
动静态混合网站或 APP的CDN优化方法
Leo Zhou
Mais de Leo Zhou
(20)
第三名 3rd zhyict
第三名 3rd zhyict
异常检测在苏宁的实践
异常检测在苏宁的实践
第二名 2nd 火眼金睛
第二名 2nd 火眼金睛
第四名 4th H3C AI Institute
第四名 4th H3C AI Institute
第一名 1st Bocoiops
第一名 1st Bocoiops
第六名 6th Aurora
第六名 6th Aurora
AI使能网络自动驾驶 AI Building Autonomous Driving Network
AI使能网络自动驾驶 AI Building Autonomous Driving Network
2.2 go在阿里云cdn系统的应用
2.2 go在阿里云cdn系统的应用
1.6 米嘉 gobuildweb
1.6 米嘉 gobuildweb
1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑
1.2 刘奇 go在分布式数据库中的应用
1.2 刘奇 go在分布式数据库中的应用
Protocol libraries the right way
Protocol libraries the right way
美团数据库运维平台介绍
美团数据库运维平台介绍
特卖场景下的大数据平台和机器学习实践
特卖场景下的大数据平台和机器学习实践
我的互联网运维理论与实践
我的互联网运维理论与实践
美团数据库运维平台介绍
美团数据库运维平台介绍
The net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James Bennett
Hypothesis randomised testing for django
Hypothesis randomised testing for django
NoSQL@VIP — 唯品会NoSQL平台⾃动化发展及运维经验分享
NoSQL@VIP — 唯品会NoSQL平台⾃动化发展及运维经验分享
动静态混合网站或 APP的CDN优化方法
动静态混合网站或 APP的CDN优化方法
如何选择 Docker 监控方案
1.
如何选择Docker监控 刘斌 2016/4/24
2.
自我介绍 Cloud Insight,蓝海讯通 https://cloud.oneapm.com/
3.
Agenda • 什么是监控 • Docker监控原理 •
Docker监控方案
4.
为什么监控 • 尽在掌握 • 炸药桶
5.
监控目的 • 少宕机时间 • 扩展和性能管理 •
资源计划 • 识别异常事件 • 故障排除、分析
6.
监控层次 • 硬件 • OS、中间件(MySQL、Tomcat) •
应用程序 • RUM
7.
Docker监控的挑战 • Docker特点 • 像host但不是host •
量大 • 生命周期短 • 监控盲点(断层) • 微服务 • 集群 • 全方位 • Host(VM) > Services > Containers > Apps
8.
Docker监控内容 • 配置信息 • Logs •
主机和Daemon日志 • 容器信息 • Metric(performance) • Event
9.
内部监控 VS 外部监控 •
在容器内部监控 • 在宿主机上监控
10.
Docker监控内容 • CPU • memory
usage • memory limit • network IO
11.
Docker监控基础 • docker stats •
Remote API • 伪文件系统
12.
docker stats $ docker
stats redis1 redis2 CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O redis1 0.07% 796 KB/64 MB 1.21% 788 B/648 B redis2 0.07% 2.746 MB/64 MB 4.29% 1.266 KB/648 B
13.
伪文件系统 • CPU、内存、磁盘 • 网络
14.
Cgroups • CPU、内存、磁盘 • /sys/fs/cgroup/{memory,cpuacct,blkio}/ system.slice/${docker
ps --no-trunc}.scope • Standard: /sys/fs/cgroup/:cgroup/ docker/:container_id • Systemd: /sys/fs/cgroup/:cgroup/system.slice/ docker-#{id}.scope
15.
Memory • memory.stat
16.
Memory
17.
CPU • cpuacct.stat • docker.cpu.system •
docker.cpu.user
18.
Blkio • *_recursive • blkio.throttle.io_service_bytes •
blkio.throttle.io_serviced
19.
网络数据 • 伪文件系统 • iptables •
网络设备接口
20.
数据源(veth device) $ CONTAINER_PID=`docker
inspect -f '{{ .State.Pid }}' nginx` $ mkdir -p /var/run/netns $ ln -sf /proc/$CONTAINER_PID/ns/net /var/run/netns/$CONTAINER_ID $ ip netns exec $CONTAINER_ID netstat -i
21.
Docker容器网络信息-文件系统 • $ CONTAINER_PID=`docker
inspect -f '{{ .State.Pid }}' nginx ` • $ cat /proc/$CONTAINER_PID/net/dev
22.
Docker容器网络信息-文件系统 $ pwd /sys/class/net/veth559b656/statistics $ ls collisions
rx_crc_errors rx_frame_errors rx_packets tx_compressed tx_heartbeat_errors multicast rx_dropped rx_length_errors tx_aborted_errors tx_dropped tx_packets rx_bytes rx_errors rx_missed_errors tx_bytes tx_errors tx_window_errors rx_compressed rx_fifo_errors rx_over_errors tx_carrier_errors tx_fifo_errors
23.
Docker容器网络接口数据的取得 方式
24.
Docker容器网络接口数据的取得 方式
25.
Docker容器网络接口数据的取得 方式
26.
Docker监控方案 • 自己动手 • 源软件 •
SaaS
27.
评价标准 • 功能 • 活性 •
运维
28.
自己动手 • 活性强 • 成本高
29.
自己动手打造监控方案 • 采集 • 存储 •
展示 • 报警(动作)
30.
自己动手 • Docker remote
API • 200L • Reports the resource usage of Docker containers to InfluxDB (https://github.com/ mustafaakin/docker-resource-reporter)
31.
性能指标采集 • tcollector • StatsD •
collectd • cAdvisor • … …
32.
StatsD • Etsy/Flickr • UDP/TCP •
应用和协议
33.
Tcollector • 来源于OpenTSDB • 数据采集框架
34.
Collectd • Statistics collection
daemon • 存储到RRD • 插件机制(input/output) • 简单报警功能
35.
cAdvisor(Container Advisor)
36.
存储TSDB • OpenTSDB • Influxdb •
RRDTool • Graphite • … …
37.
写入方式 • File、TCP/UDP • HTTP •
JMX/JDBC/SNMP • AWS/Docker/cAdvisor • 消息队列(Kafka、ActiveMQ等) • … …
38.
数据展示 • Highcharts(Cloud Insight) •
D3(Datadog) • echarts • Google Charts • Charts.js • n3-charts
39.
源可视化工具 • Graphite • Influxdb
+ Grafana • Prometheus
40.
源方案 • cAdvisor(经典)+ InfluxDB
+ Grafana • Zabbix/Nagios/Hawkular • Fluentd • Prometheus • Riemann • ATSD(Axibase Time Series Database) • Hawkular • ELK
41.
Zabbix • 最经典(SaaS软件的最大敌人) • 架构简单、清晰 •
文档丰富 • 包括采集、触发、告警 • agent支持用户自定义监控项 • 通过SNMP、ssh、telnet、IPMI、JMX监控
42.
Zabbix Docker Monitoring •
https://github.com/monitoringartist/zabbix- docker-monitoring • Zabbix Template
43.
Fluentd
44.
Graphite • 存储数值型时序列数据 • 根据请求对数据进行可视化(画图)
45.
Graphite
46.
Prometheus • 一体化 • 多维度 •
活查询语言 • 仪表盘和告警 • LevelDB • 非分布式、单机自治 • 基于HTTP的pull模式(push需要中间网 )
47.
Prometheus
48.
Riemann • 事件处理 • Clojure实现 •
Protocol Buffer • 学习曲线?
49.
Heapster • K8s子项目 • source
and sink • 经典组合:heapster + Influxdb + grafana • Sink:Kafka、stdout、gcm(Google Cloud Monitoring)、hawkular、monasca、riemann、 opentsdb
50.
源软件的问题点 • 活性受限于upstream • 维护成本高 •
定制难度大 • 技术栈
51.
SaaS • turnkey解决方案 • 维护成本
~ Zero • 适合中小企业
52.
SaaS • New Relic •
AppDynamics • Dynatrace(Ruxit) • Datadog • SysDig • Cloud Insight • clusterup • Scout • Librato
53.
Datadog • 国外最好 • 功能很强大 •
安装很简单 • 有点贵
54.
Cloud Insight • 实时数据 •
历史数据(免费版最大保存15天) • 仪表盘 • 混合监控 • 报警功能
55.
Cloud Insight Docker Overview
56.
57.
Cloud Insight Docker
Share
58.
Cloud Insight Docker
Event Stream
59.
Cloud Insight Docker
Alert
60.
Cloud Insight Docker Intergrations
61.
62.
Sysdig • 免费工具 • SaaS服务
Sysdig Cloud • 拓扑可视化
63.
Librato • 数据聚合平台 • 简单探针 •
图表和报警 • 价格不贵
64.
axibase(ATSD) • 实际上是一个TSDB • 支持报警 •
预测功能
65.
SaaS的挑战 • 安全性 • 成本(
移和使用成本) • 和自有系统的兼容 • 内部抵抗(观念、个人爱好)
66.
趋势 • 拓扑可视化 • 标签机制 •
通过API打通 • 一体化
67.
参考资料 • Comparing Seven
Monitoring Options for Docker:http://rancher.com/ comparing-monitoring-options-for-docker-deployments/ • How to collect Docker metrics:https://www.datadoghq.com/blog/how-to- collect-docker-metrics/ • 时序列数据库武斗大会:http://liubin.org/blog/2016/02/18/tsdb-intro/ • Fluentd Docker Metrics Input Plugin:https://github.com/kiyoto/fluent-plugin- docker-metrics • Docker Runtime metrics:https://docs.docker.com/v1.8/articles/runmetrics/
68.
谢谢您的倾听
Baixar agora