IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker系列之搭建容器监控CAdvisor+InfluxDB+Granfana -> 正文阅读

[系统运维]Docker系列之搭建容器监控CAdvisor+InfluxDB+Granfana

1. 概述

使用docker stats命令可以查看到当前宿主机上所有容器的CPU、内存以及网络流量等数据。但是其统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储,也没有健康指标过线预警等。因此需要将这些信息进行持久化,常用的方案是CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表。

1.1. CAdvisor

是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。默认存储2分钟的数据,而且只是针对单物理机,其提供了很多数据集成接口,支持InfluxDB、Redis、Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。
CAdvisor功能主要有以下两点

  • 展示Host和容器两个层次的监控数据
  • 展示历史变化数据

1.2. InfluxDB

InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据,而且CAdvisor已经提供了InfluxDB的集成方法,只需要在启动容器时指定配置即可
InfluxDB主要功能

  • 基于时间序列,支持与时间有关的相关函数(最大、最小、求和)
  • 可度量性,可以实时对大量数据进行计算
  • 基于事件,支持任意的事件数据

1.3. Granfana

Granfana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite)和丰富的插件及模板功能,支持图表权限控制和报警。
Granfana主要特性

  • 灵活丰富的图形化选项
  • 可以混合多种风格
  • 支持白天和夜间模式
  • 多个数据源

2. 使用compose安装

在/opt目录下新建compose目录,在其下新建文件docker-compose.yml,具体内容如下:

version: '3.1'
volumes:
  grafana_data: {}
services:
  influxdb:
    image: tutum/influxdb:0.9
    restart: always
    environment:
      - PRE_CREATE_DB=cadvisor
    ports:
      - "8083:8083"
      - "8086:8086"
    volumes:
      - ./data/influxdb:/data
  cadvisor:
    image: google/cadvisor
    links:
      - influxdb:influxsrv
    command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
    restart: always
    ports:
      - "8080:8080"
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
  grafana:
    user: "104"
    image: grafana/grafana
    restart: always
    links:
      - influxdb:influxsrv
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana
    environment:
      - HTTP_USER=admin
      - HTTP_PASS=admin
      - INFLUXDB_HOST=influxsrv
      - INFLUXDB_PORT=8086
      - INFLUXDB_NAME=cadvisor
      - INFLUXDB_USER=root
      - INFLUXDB_PASS=root

使用命令docker-compose up启动
启动docker-compose
使用命令docker ps或者docker ps -a查看以上三个服务容器运行状态
查看运行状态

3. 验证

在浏览器输入地址:http://ip:8080/,验证cadvisor
cadvisor首页
浏览器地址输入:http://ip:3000/,验证grafana
grafana登录页
用户名/密码为:admin/admin,第一次登录时会提示修改密码
grafana首页
浏览器输入地址:http://ip:8083/,验证InfluxDB
influxDB首页

4. Grafana配置

4.1. 配置数据源

配置数据源
新增数据库
添加数据库
选择数据库
选择数据库
配置数据库信息
配置数据库信息
配置数据库链接信息
配置数据库链接信息

4.2. 配置面板Panel

添加面板
添加新面板
添加新面板
选择模板
选择模板
配置模板
配置模板
配置模板数据源信息
配置数据源信息
查看模板信息
查看模板信息

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:59:52  更:2022-03-08 23:00:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:20:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码