设为首页 收藏本站
查看: 1152|回复: 0

[经验分享] Docker(七) Docker监控平台

[复制链接]

尚未签到

发表于 2019-2-20 09:38:54 | 显示全部楼层 |阅读模式
监控维度


  • 主机维度

    • 主机cpu
    • 主机内存
    • 主机本地镜像情况
    • 主机上容器运行情况

  • 镜像维度

    • 镜像的基本信息
    • 镜像与容器的基本信息
    • 镜像构建的历史信息(层级依赖信息)

  • 容器维度

    • 容器基本信息
    • 容器的运行状态信息
    • 容器用量信息


docker监控命令

docker ps
docker images
docker stats
# 注意:docker stats只有选择libcontainer作为执行驱动时才可以使用
# docker stats时常会有一些限制,使用stats api会显示更多的信息
echo -e "GET /containers/tools/stats HTTP/1.0\r\n" | nc -U /var/run/docker.sock
docker inspac
docker top
docker port
cAdvisor
  google cAdvisor的一些特性:


  • 拥有远程管理的丰富api支持api docs
  • 有web ui管理界面
  • 是google除支持k8s外的另一个项目
  • 监控信息输出到influxdb数据库进行存储和读取,支持很多其他的插件
  • 支持将容器的统计信息一prometheus标准指标形式输出并存储在/metrics HTTP服务端点

sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
DataDog

SoundCloud的Promtheus

  Promtheus是一个开源服务监控系统与时间序列数据库,结合exporter使用,exporter是基于prometheus开放的Http接口二次开发用来抓取应用程序的指标数据


Global setting

network configure

docker network create --driver bridge --subnet 10.0.0.0/24 --gateway 10.0.0.1 monitor
Grafana configure
  Grafana Template

# pull grafana image
docker pull grafana/grafana
grafana目录


  • 配置文件/etc/grafana/
  • sqlite3 database file /var/lib/grafana

grafana在docker中的环境变量


  • GF_SERVER_ROOT_URL=http://grafana.server.name 指定grafana的访问路径
  • GF_SECURITY_ADMIN_PASSWORD=secret 指定grafana的登录密码
  • GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource 指定安装插件的变量

构建持久性存储

docker run \
-d \
-v /var/lib/grafana \
--name grafana-storage \
busybox:latest
启动容器

# 启动Grafana容器
docker run \
-d \
-p 3000:3000 \
--name grafana \
--volumes-from grafana-storage \
-e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource" \
-e "GF_SERVER_ROOT_URL=http://10.0.0.10:3000" \
-e "GF_SECURITY_ADMIN_PASSWORD=marion" \
--network monitor \
--ip 10.0.0.10 \
--restart always \
grafana/grafana
# 查看配置文件以及数据目录的挂载位置
docker inspect grafana

cAdvisor

sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--detach=true \
--name=cadvisor \
--network monitor \
--ip 10.0.0.11 \
google/cadvisor:latest
Deploy by docker-compose yaml file

docker-compose.yml

prometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
restart: unless-stopped
volumes:
- ./data/prometheus/config:/etc/prometheus/
- ./data/prometheus/data:/prometheus
command:
- '-config.file=/etc/prometheus/prometheus.yml'
- '-storage.local.path=/prometheus'
- '-alertmanager.url=http://alertmanager:9093'
expose:
- 9090
ports:
- 9090:9090
links:
- cadvisor:cadvisor
- node-exporter:node-exporter
node-exporter:
image: prom/node-exporter:latest
container_name: monitoring_node_exporter
restart: unless-stopped
expose:
- 9100
cadvisor:,
image: google/cadvisor:latest
container_name: monitoring_cadvisor
restart: unless-stopped
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
expose:
- 8080
grafana:
image: grafana/grafana:latest
container_name: monitoring_grafana
restart: unless-stopped
links:
- prometheus:prometheus
volumes:
- ./data/grafana:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=MYPASSWORT
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_DOMAIN=myrul.com
- GF_SMTP_ENABLED=true
- GF_SMTP_HOST=smtp.gmail.com:587
- GF_SMTP_USER=myadrress@gmail.com
- GF_SMTP_PASSWORD=mypassword
- GF_SMTP_FROM_ADDRESS=myaddress@gmail.com
DSC0000.png
DSC0001.png
DSC0002.png


prometheus.yml

# my global config
global:
scrape_interval:     120s # By default, scrape targets every 15 seconds.
evaluation_interval: 120s # By default, scrape targets every 15 seconds.
# scrape_timeout is set to the global default (10s).
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'my-project'
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
# - "alert.rules"
# - "first.rules"
# - "second.rules"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 120s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090','cadvisor:8080','node-exporter:9100', 'nginx-exporter:9113']
command

docker-compose up -d
sysdig
  sysdig offical

docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig
docker container exec -it sysdig bash
csysdig
Weave Scope
  weave scope

常用的容器监控工具
  Docker Runtime Metrics Guide




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674706-1-1.html 上篇帖子: Docker(七) Docker监控平台 下篇帖子: docker使用管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表