(转)使用InfluxDB+cAdvisor+Grafana配置Docker监控

文档来源

Docker监控简介

我们提供的Docker主机和容器越来越多,对Docker服务器和容器的监控越来越必要。本文将引导你了解如何通过多个不同组件的配置和协作,以实现Docker监控。

Docker监控组件

首先, 我们假设在您的主机上已经安装、配置和运行Docker Engine。请确保您可以通过Web浏览器在本地或者通过网络IP连接到Docker主机。以下我们将详细介绍如何创建我们的Docker监控方案。

  • cAdvisor: Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。
  • influxDB: 它是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。
  • Grafana: Grafana可视化展示平台允许我们可视化地展示监控信息。它允许我们对influxDB进行查询,并通过强大的图表功能进行可视化展示。

本文配置组件版本信息如下:

- InfluxDB:  V 1.0.0
- cAdvisior: V 0.24.1
- Grafana:   V 4.0.2

Docker监控安装与配置

下面,我们将根据上述的Docker监控组件进行安装和配置,形成统一的Docker监控平台。

我们将首先先安装influxDB, 以便于它能够与cAdvisor进行协作。

1. 安装influxDB

下载influxDB镜像

docker pull tutum/influxdb

运行influxdb容器

docker run -d    -p 8083:8083    -p 8086:8086    --expose 8090    --expose 8099    --name influxsrv    tutum/influxdb

influxdb容器运行成功后,通过Web浏览器访问http://docker-host-ip:8083访问influxdb后台管理,并登录后台管理系统(默认用户名:root, 默认密码:root)。

influxdb_connection_settings

2. 创建cAdvisor应用数据库

在登录influxdb后台数据库管理平台后, 创建cAdvisor数据库, 用于存储cAdvisor应用所获取的实时监控数据。在influxDB管理界面中的Querie s输入框中创建数据库和用户:

create_database

# 创建数据库
create database ‘cadvisor‘; 

# 创建用户
CREATE USER ‘cadvisor‘ WITH PASSWORD ‘cadvisor‘

# 用户授权
grant all privileges on ‘cadvisor‘ to ‘cadvisor‘

# 授予读写权限
grant WRITE on ‘cadvisor‘ to ‘cadvisor‘
grant READ on ‘cadvisor‘ to ‘cadvisor‘

3. 运行cAdvisor应用容器并与influxDB容器进行互联

启动cAdvisor容器

docker run   --volume=/:/rootfs:ro   --volume=/var/run:/var/run:rw   --volume=/sys:/sys:ro   --volume=/var/lib/docker/:/var/lib/docker:ro   -p 8080:8080   --detach=true \
  --link influxsrv:influxsrv   --name=cadvisor   google/cadvisor:latest   -storage_driver=influxdb   -storage_driver_db=cadvisor   -storage_driver_host=influxsrv:8086

cAdvisor应用容器启动成功后,通过Web浏览器访问地址http://docker-host-ip:8080,便可以查看cAdvisor监控工具所收集到的Docker主机和容器的资源统计信息。

cAdvisor WebUI

4. 运行Grafana可视化平台并与influxDB容器进行互联

docker run -d   -p 3000:3000   -e INFLUXDB_HOST=localhost   -e INFLUXDB_PORT=8086   -e INFLUXDB_NAME=cadvisor   -e INFLUXDB_USER=root \
  -e INFLUXDB_PASS=root   --link influxsrv:influxsrv   --name grafana   grafana/grafana

5. 登录Grafana管理平台

通过Web浏览器访问地址http://docker-host-ip:3000登录Grafana管理平台。

  • 用户名:admin
  • 密 码:admin

Grafana_Login

6. 配置Grafana与influxDB数据库连接

(1). 配置Granfana数据源

在Grafana管理平台中,单击“添加数据源”对数据源进行配置。如下图所示。

Add_Datasource

  • 基本信息

Name:influxdb
Type:influxDB
Default: checked

  • Http settings

Url:http://influxsrv:8086
Access:proxy

  • HTTP Auth

Basic Auth: checked

  • Basic Auth Details

User: admin
Password: admin

  • InfluxDB Details

Database:cadvisor
User:cadvisor
Password:cadvisor

配置完成后, 我们已经建立与influxDB的连接,下面我们将其进行测试。

(2). 添加Dashboard

下面我们将使用Grafana配置我们的第一个Dashboard,并可视化来自cAdvisor的监控数据。

1). 点击“Grafana”图标, 打开Dashboard菜单,选择新建Dashboard;

New Dashboard

2). 在Dashboard面板中选择相应的组件并拖动到相关的位置;

Add_Component

3). 点击面板的标题,会弹出相应的选项"view"、"edit"、"Duplicates"、"share"和删除按扭;

Edit Component

4). 选择"edit"选项,出现相应的配置项,在“Metrics”选项卡中配置相应的数据表和数据源信息;

Edit_Configure

例如: 配置内存使用率信息

Edit Memory Usage

在Metric选项卡中, 配置数据表来源为:SELECT mean("value") FROM "memory_usage" WHERE $timeFilter GROUP BY time(10s) fill(0), 配置数据源Panel Datasource为:cadvisor

在Axes选项卡中配置相关的显示单位。

Config Axies

5). 配置完相关的选项后,点击Dashboard导航栏的保存按钮,便可完成Dashboard的配置。

Save Config

至此, 所有配置步骤完成, 我们能够看到Grafana显示相关的监控图表信息。

作者:garyond
链接:https://www.jianshu.com/p/d078d353d12f
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/wangle1001986/p/9416428.html

时间: 2024-08-27 19:48:45

(转)使用InfluxDB+cAdvisor+Grafana配置Docker监控的相关文章

influxDB,cAdvisor,Grafana

influxDB 4.1 什么是influxDB ? influxDB是一个分布式时间序列数据库.cAdvisor仅仅显示实时信息,但是不存储监视数据.因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据. 4.2 influxDB安装 (1)下载镜像 docker pull tutum/influxdb (2)创建容器 docker run -di \   -p 8083:8083 \   -p 8086:8086 \   --expose

[经验交流] 在 Mesos Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来,国外的专家 Brian Christner 写了一篇文章”How to setup Docker Monitoring“,描述了部署方法. Brian 的方法是手动运行 docker run 命令进行部署,为了能在 Mesos Marathon 平台上自动部署,我对他的

在Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据.为了存储和显示历史数据.自定义展示图,可以把将cAdvisor与InfluxDB.Grafana 集成起来. 需要的镜像: tutum/influxdb google/cadvisor grafana/grafana 安装:有8台mesos-slave,都需要运行一个cAdvisor docker实例对docker进行监控,然后需要运行一个InfluxDB docker实例存

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

上一篇文章我们已经学习了比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控.这节课来学习Prometheus+cAdvisor+Grafana组合. cAdvisor是专门用来采集数据的工具,也是google公司的一款开源产品,Grafana则是前端展示,支持多种数据源,定制非常灵活.而prometheus则作为数据源. 整体架构图如下: 一.prometheus 1.Prometheus介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上

collectd+influxDB+grafana搭建性能监控平台

collectd+influxDB+grafana搭建性能监控平台 前言 InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标.事件.分析等数据:键值时间数据库性能还不错 collectd 是C 语言写的一个系统性能采集工具 Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表.显示图表等.V3.0以上版本支持zabbix 数据库,可以非常方便直接由zabbix_agent 采集数据. 1 环境信息 测试环境174,175

docker监控: cAdvisor

docker监控: cAdvisor 什么是 cAdvisor? cAdvisor 是 Google 开源的一款用于展示和分析容器运行状态的可视化工具,通过在主机上运行 cAdvisor 用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示. 使用 cAdvisor 想运行在这个很简单,只需要执行如下命令即可 docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:r

Grafana连接Prometheus监控Docker平台

Grafana是一款开源的分析平台. Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture. 支持的数据源(本文使用Prometheus数据源): 安装 以Con

Docker 监控实战 教你如何监控 Docker 容器内部

如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据: 2 / 3 的公司在尝试了 Docker 后最终使用了它 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 60 天内. 越大型的公司越早开始使用 Docker 研究发现主机数量越多的公司,越早开始使用 Docker.而主机数量多,在这个研究里就默认等同于是大型公司了. Docker 优势 那为什么 Docker 越来越火呢?一谈起 Docker 总是会跟着让人联想到轻量这个词,甚至会有一种通过 Dock

Docker(七) Docker监控平台

监控维度 主机维度 主机cpu 主机内存 主机本地镜像情况 主机上容器运行情况 镜像维度 镜像的基本信息 镜像与容器的基本信息 镜像构建的历史信息(层级依赖信息) 容器维度 容器基本信息 容器的运行状态信息 容器用量信息 docker监控命令 docker ps docker images docker stats # 注意:docker stats只有选择libcontainer作为执行驱动时才可以使用 # docker stats时常会有一些限制,使用stats api会显示更多的信息 ec