通过Prometheus和Grafana监控Linux进程

本文介绍了如何利用Prometheus v2.9.2、Pushgateway v0.8.0和Grafana v6.2监控Linux进程性能。通过编写bash脚本推送到Pushgateway,Prometheus收集数据,Grafana展示可视化仪表盘,实现资源占用低、易于实施且可扩展的监控方案。同时,文章探讨了如何应用ad-hoc过滤器追踪特定进程,以便在进程异常时进行调查。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

不论你是Linux系统管理员还是DevOps工程师,你都会花很多时间来追踪服务的性能指标。
有时,你可能会遇到运行速度非常慢的实例,但你找不到任何引发问题的线索。有时,你可能往实例发送top或者htop等远程命令却得不到任何响应。有时,你可能遇到一些简单的性能瓶颈,但你却无法用简单快捷的方式识别它。
640?wx_fmt=png假如我们拥有完整的仪表板可以帮助我们跟踪一般的性能指标以及单个进程,事情会变得怎么样呢?参考:http://grafana.devconnected.com/d/nZMDMoiZk/grafana-top?orgId=1&refresh=5s。 640?wx_fmt=png
本教程的目标是为Linux系统管理员构建一个完整的监控仪表板。
你将学到什么?

640?wx_fmt=png


在正式进入技术之旅之前,让我们快速浏览一下你将要学习的内容:
  • 了解目前Unix系统中监控进程性能最好的方式;

  • 学会怎么安装Prometheus v2.9.2Pushgateway v0.8.0Grafana v6.2

  • 构建一个简单的bash脚本将监控数据暴露给Pushgateway;

  • 构建一个完整的Grafana仪表盘,包括最新的面板,如'Gauge'和'Bar Gauge';

  • 进阶:实现ad-hoc过滤器,用以跟踪单个进程或实例。


现在我们已经对将要学习的所有内容进行了概述,接下来让我们先介绍一下Unix系统目前存在的内容。
Unix进程基础监控

640?wx_fmt=png


对于Unix系统的进程监控,方法有很多。最常用的可能是 'top'命令。
Top命令提供了系统性能指标的一个概览,例如当前的 CPU使用率,当前的 内存使用率,以及每个进程的一些指标。Top命令是系统管理员最经常使用的命令,当发现系统有性能瓶颈时,第一个运行的命令就是它。
640?wx_fmt=png
Top命令可读性已经比较好了,不过还有个命令可读性更好,那就是 htop。Htop提供与top相同的功能集(CPU,内存,运行时间……),但是以更丰富的色彩提供。Htop也提供反应当前系统使用率的 仪表
640?wx_fmt=png
有了这两个命令,为什么我们还需要构建其他方式来监控进程呢?主要的原因是 系统可用性:如果系统过载,你可能无法对实例进行物理或远程访问。通过外部化进程监控,你可以在不访问机器的情况下分析导致停机的原因。
另一个原因就是进程会频繁地被创建和杀死,通常就是内核自身。这种情况下,运行top命令就太慢了,以至于你获取不到任何信息用来排查系统引发性能问题的原因,然后你将深入到内核日志中进行排查。而通过监控仪表盘,你可以进行简单地回溯,查看引发问题的进程是哪一个。
既然你已经知道我们为什么要构建这个仪表板,那么让我们看一下构建它的整体架构。
640?wx_fmt=png
监控架构

640?wx_fmt=png


在查看我们使用的架构之前,我们希望得到以下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值