ELK搭建(九):搭建Docker容器指标监控平台

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Docker是一款轻量级的应用容器引擎,可以帮助我们快速部署各类软件,自动化构建系列生产环境。因此,我们也需要一个统一的监控页面,来让我们实时了解docker中各个容器的运行情况

0. 引言

Docker是一款轻量级的应用容器引擎,可以帮助我们快速部署各类软件,自动化构建系列生产环境。因此,我们也需要一个统一的监控页面,来让我们实时了解docker中各个容器的运行情况

所以今天,我们的目标就是基于ELK搭建一个docker容器监控平台
在这里插入图片描述

1. 下载

我们的平台是基于elasticsearch+kibana来实现的,也就是我们常说的ELK体系。我们采用Metricbeat插件来采集监控docker的运行数据。

当然我们这里为了保证搭建的便捷性,并没有使用到Logstash,如果大家有需要的话可以把Metricbeat采集到的数据输出到Logstash

首先关于ELK的搭建就不再累述了,不清楚的同学可以看看往期博客:
ELK搭建(一):实现分布式微服务日志监控

因为我的ELK环境是7.13.0的,所以我们需要下载对应版本、对应系统的Metricbeat
Metricbeat官方下载地址
在这里插入图片描述

2. Metricbeat介绍

metricbeat是elstic官方推出的一款轻量型的采集器,属于beats系列中专门用于各种系统和服务统计的beat。不仅可以统计docker等数据,也可以统计redis、nginx、服务器cpu、内存、磁盘等服务的相关指标。

metricbeat定时从服务器中通过抓包的方式获取对应指标数据,然后发送到elasticsearch或者logstash中

metricbeat由两个部分组成:

  • 1、module
    所谓module就是针对不同的服务进行采集的模块,比如系统服务就是system module。metricbeat中支持的module有几十种,包括但不仅限于:ActiveMQ module,Apache module,Docker module,HTTP module等,具体可以metricbeat官方文档中的modules部分查看
  • 2、metricset
    采集的内容,以postgresql module为例,支持九种指标集:
    (1)container:容器相关指标
    (2)cpu:CPU相关指标
    (3)diskio:磁盘相关指标
    (4)event:docker指令相关指标
    (5)healthcheck:心跳检查相关指标
    (6)image:镜像相关指标
    (7)info:容器运行状态相关指标
    (8)memory:内存相关指标
    (9)network:网络相关指标

更多关于指标集的介绍可以查看官方文档

3. 安装Metricbeat

1、将安装包上传到服务器上,可以使用FTP软件或者以下指令上传

scp metricbeat-7.13.0-linux-arm64.tar.gz root@192.168.244.18:/var/local 

2、解压压缩包

tar -zxvf metricbeat-7.13.0-linux-arm64.tar.gz 

3、修改配置文件metricbeat.yml中的连接信息

vim metricbeat.yml

修改内容

setup.template.settings:
# 因为我这里es是单节点,所以设置主分片数为1,副本分片数为0.否则会报黄
  index.number_of_shards: 1
  index.number_of_replicas: 0
output.elasticsearch:
# 你的es所在服务器ip
  hosts: ["192.168.244.11:9200"]
  username: "elastic"
  password: "elastic"
setup.kibana:
# kibana所在服务器ip
  host: "192.168.244.11:5601"

4、启动docker模块,metricbeat会根据modules.d/docker.yml中的配置项来获取系统数据

./metricbeat modules enable docker

5、配置要采集的内容,修改modules.d/docker.yml配置文件

vim modules.d/docker.yml 

配置文件内容,这里我们将全部的指标都开启,具体可根据自己的需要进行配置

- module: docker
  metricsets:
    - container
    - cpu
    - diskio
    - event
    - healthcheck
    - info
    - memory
    - network
  period: 10s
  hosts: ["unix:///var/run/docker.sock"]
  enabled: true    
  # If set to true, replace dots in labels with `_`.
  #labels.dedot: false

  # To connect to Docker over TLS you must specify a client and CA certificate.
  #ssl:
    #certificate_authority: "/etc/pki/root/ca.pem"
    #certificate:           "/etc/pki/client/cert.pem"
    #key:                   "/etc/pki/client/cert.key"

6、加载kibana仪表盘,如果之前已经设置过就不用再执行了

./metricbeat setup

在这里插入图片描述
7、启动metricbeat(如果上述的指令没有自动退出的话,就新开个窗口执行,不要退出上述指令窗口)

./metricbeat -e

在这里插入图片描述

8、在kibana的discover窗口中查询metricbeat-*索引模式,能够查询到docker相关字段数据表明配置成功
在这里插入图片描述

9、kibana中点击Dashboard,进入仪表盘,输入docker,选择Overview ECS看板点击进入
在这里插入图片描述
10、右上角的数据默认是过去1小时,如果查询没有数据的话,调整下时间范围
在这里插入图片描述
针对docker的容器监控就搭建完成啦,操作并不难,动手试试吧~

目录
相关文章
|
2月前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第20天】 在微服务架构日益普及的今天,Docker作为其重要的实现技术之一,承载着大量应用的运行。然而,随之而来的是对于容器健康状态、资源使用情况以及性能指标的监控需求急剧增加。本文旨在探讨构建一个高效且稳定的Docker容器监控体系,不仅涵盖了监控工具的选择与配置,还详细阐述了监控数据的分析与处理流程。通过精心设计的监控策略和实时响应机制,我们能够确保系统的稳定性,并及时发现及处理潜在的问题。
|
8天前
|
Prometheus 监控 Cloud Native
容器化技术的性能调优与监控
【6月更文挑战第29天】本文探讨了容器(如Docker)的性能优化与监控,强调了其在云和微服务中的重要性。调优涉及资源限制设定、代码优化,通过性能测试、瓶颈分析进行迭代优化。监控目标是确保稳定性和可用性,使用工具如Portainer、CAdvisor、Prometheus来跟踪状态、性能指标和日志。监控内容涵盖容器状态、资源使用、日志和限制,策略包括设定阈值和告警机制。调优监控的优化有助于提升应用性能和企业价值。
|
2月前
|
监控 Java 网络性能优化
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
本文介绍了 Kubernetes 中的容器工作内存(WorkingSet)概念,它用于表示容器内存的实时使用量,尤其是活跃内存。
56124 13
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
|
21天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
47 1
|
2月前
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
115 4
|
2月前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第13天】在微服务架构和容器化部署日益普及的背景下,对Docker容器的监控变得尤为重要。本文将探讨一种构建高效稳定Docker容器监控体系的方法,通过集成Prometheus和cAdvisor工具,实现对容器资源使用情况、性能指标和运行状态的实时监控。同时,结合Grafana进行数据可视化,为运维人员提供直观的分析界面,以便及时发现和解决潜在问题,保障系统的高可用性和稳定性。
243 6
|
1月前
|
网络安全 开发者 Docker
探索 Docker Machine:打造无缝多平台容器部署的利器
探索 Docker Machine:打造无缝多平台容器部署的利器
|
2月前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第14天】 在现代微服务架构中,Docker容器作为应用部署的基本单元,其运行状态的监控对于保障系统稳定性和性能至关重要。本文将探讨如何构建一个高效且稳定的Docker容器监控体系,涵盖监控工具的选择、关键指标的采集、数据可视化以及告警机制的设计。通过对Prometheus和Grafana的整合使用,实现对容器资源利用率、网络IO以及应用健康状态的全方位监控,确保系统的高可用性和故障快速响应。
|
2月前
|
监控 安全 云计算
云端防御战线:云计算环境下的网络安全策略构建高效稳定的Docker容器监控体系
【5月更文挑战第27天】 在数字化时代的浪潮中,云计算已成为企业与个人存储和处理数据的重要平台。然而,随着云服务使用率的飙升,网络威胁也愈发狡猾且复杂。本文将深入探讨在云计算环境中维护网络安全的挑战及策略,重点分析信息安全的关键组成部分,并提出多层次防御模型以增强云环境的数据保护能力。通过剖析最新的安全技术与实践,我们旨在为读者提供一套全面的网络安全解决方案蓝图。
|
2月前
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。