【云原生】Prometheus监控Docker指标并接入Grafana

   日期:2024-12-29    作者:ojx2b 移动:http://mip.riyuangf.com/mobile/quote/78829.html

目录

一、前言

docker的规模化使用已经成为当下的趋势,尤其是云原生技术的发展让docker的重要性得到进一步的提升,使用docker部署一些常规的中间件非常方便,不仅大大降低了环境搭建的成本,也能够在一定程度上节省了不少的资源,但是随之而来,也同时出现另一个问题就是尽管docker部署方便,但是一旦机器上部署的docker容器越来越多,如何对它们进行监控呢,毕竟docker也是要吃机器资源的,本文将通过实际案例来说明下如何解决这个问题。

二、docker监控概述 2.1 docker常用监控指标

在监控Docker容器时,以下是一些常用的监控指标

内存使用量

网络流量

磁盘I/O

文件系统使用量

容器状态

进程数量

容器日志

运行时间

负载平均值

利用上面这些指标,可以帮助运维人员全面了解容器的健康状况和性能表现,从而进行有效的管理和优化。

2.2 docker常用监控工具

目前市面上也陆陆续续出现了不少关于docker的监控方案,下面列举一些docker常用监控工具

Prometheus

Grafana

Datadog

Sysdig

利用这些工具可以帮助管理员监视Docker容器的资源使用情况、性能指标、日志和事件,有助于优化和管理容器化环境。

三、CAdvisor概述 3.1 CAdvisor是什么

cAdvisor(Container Advisor)是一个由Google开发的开源项目,专为监控Docker容器而设计。它提供了容器级别的资源使用情况和性能指标,帮助用户深入了解每个运行中的容器的运行状态和资源消耗情况。

3.2 CAdvisor功能特点

CAdvisor具有下面的功能特点

容器级别视角

跨平台支持

轻量级和易集成

Web界面和API支持

3.3 CAdvisor使用场景

cAdvisor广泛应用于容器化环境中,特别是Docker和Kubernetes集群中,用于实时监控和性能优化,其功能和特性使其在以下场景中特别有用

资源管理

容器健康检查

集成与监控系统

实时监控和报告

总体来说,cAdvisor为用户提供了深入了解和有效管理容器的能力,是现代容器化部署中不可或缺的重要组成部分。

四、CAdvisor对接Prometheus与Grafana 4.1 环境准备

grafana服务

docker环境

4.2 docker部署CAdvisor

为了能够获取到docker容器的运行状态,用户可以通过docker的stats命令获取到当前主机上运行的容器统计指标信息,有点像linux的top命令信息展示,通过这个命令可以查看容器的cpu利用率,内存使用量,网络IO以及磁盘IO等信息。

docker stats

除了使用命令外,还可以通过docker提供的HTTP api查看容器详细统计的监控信息。

4.2.2 docker部署CAdvisor服务

CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具,通过在主机上运行CAdvisor,用户可以轻松获取到当前主机上容器的运行统计信息,并以图表的形式向用户呈现。

执行如下的docker命令安装CAdvisor

 
 

4.2.3 访问界面

容器启动成功后,可以在浏览器通过:IP:8080进行访问,效果如下

往下翻也可以看到一些更详细的图形化指标信息

4.2.4 访问metrics

CAdvisor也暴露了metrics的指标端点,可以在访问的url上添加/metrics查看,如下

不难理解,既然暴露出了metrics的端点指标接口,就可以通过Prometheus接入之后进行监控

4.3 配置Prometheus 4.3.1 修改Prometheus配置文件

找到Prometheus的yml配置文件,在job的配置中添加CAdvisor的配置job信息,如下

 

4.3.2 重启Prometheus服务

4.3.3 访问Prometheus控制台

浏览器访问Prometheus的监控页面,可以看到CAdvisor就接入进来了

也可以通过链接点进去进一步查看监控的指标信息,和上面看到效果是一致的

4.4 接入Grafana

如何将上述的指标信息更好的呈现出来呢,可以通过在Grafana上配置dashboard,从而以更直观的方式展现,下面看具体的操作步骤

4.4.1 Grafana官网找一个模板

登录到Grafana官网,搜索docker,找一个关于docker的dashboard,拷贝模板ID,下面会用到

Grafana dashboards | Grafana Labs

比如这里我拷贝的是11600这个模板ID

4.4.2 Grafana配置dashboard模板

添加导入一个模板

跳转到下面的界面之后,拷贝上面的ID到下面的框中

点击右侧的load按钮,跳转到下面的页面之后,选择本机的Prometheus

最后点击Import按钮进行加载,来到下面的监控页面

这个页面上清楚展示了主机上的容器信息,比如运行中的容器数量,具体某个容器的内存占用情况等,一目了然的可以直观的看到各类关于容器的指标信息。

五、写在最后


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号