首页 > 编程知识 正文

服务器监控可视化(php服务器监控系统)

时间:2023-05-05 23:47:31 阅读:104575 作者:664

对于日常的运维工作来说,服务器监控是一项必要且基本的内容。在企业基础设施运维过程中,管理员必须能够掌握所有服务器的运行状态,以便及时发现问题,最大限度地减少故障的发生。我们通常使用一些监控软件来获取每台服务器的基本指标,并进行集中查看、分析和监控。

市面上有很多开源的、收费的服务器监控系统,比如老式的zabbix、nagios、NewRelic、CollectD等。以及最近开始流行的Telegraf和Prometheus。各种系统各有千秋,比如Zabbix强大的生态,NewRelic的服务,Prometheus云原生的友好等等。相比中间件和业务监控,服务器监控更为基础,其重点主要在易用性、稳定性、实时性、告警丰富性、报表使用便利性等方面。

本期我们介绍如何利用阿里巴巴云SLS快速构建完整的服务器/主机基本指标实时监控方案。

SLS时序存储简介

SLS的日志存储引擎于2016年发布。目前在阿里和很多企业承担日志数据存储,每天写入几十Pb的日志数据。其中很大一部分属于时间序列数据或用于计算时间序列指标。为了让用户能够一站式完成DevOps全生命周期的数据访问、清理、处理、提取、存储、可视化、监控、问题分析等过程,我们专门引入了时间序列存储的功能,与日志存储一起,可以解决各类机器数据的存储问题。

SLS时间序列存储从一开始就是为了满足阿里及众多头部企业客户的时间序列存储需求而设计的,借助阿里多年的技术积累,可以满足大多数企业级时间序列监测/分析的需求。SLS顺序存储的特点主要包括:

丰富上下游:SLS在数据访问上支持多种采集方式,包括阿里巴巴云内部的各种开源Agent和监控数据通道;同时,存储的时间序列数据支持各种流计算和离线计算引擎的对接,数据完全开放;高性能:SLS存储与计算分离架构充分发挥集群能力,尤其在数据量较大时,端到端速度提升明显;免操作:SLS的顺序存储是完全面向服务的,用户不需要自己操作和维护实例,所有数据都存储在3个副本中,可靠性高,不用担心数据的可靠性;开源友好:SLS的顺序存储原生支持Prometheus的写入和查询,支持SQL92的分析方法,可以原生与Grafana等其他可视化方案接口;智能:SLS提供各种AIOps算法,如多周期估计、预测、异常检测、时间序列分类等时间序列算法。基于这些算法,可以快速搭建适合公司业务的智能报警诊断平台。

服务器监控方案概述

SLS的主机监控方案非常简单。只能安装一个Logtail来收集每台主机的基本指标。服务器都是基于云的,不需要运维。默认情况下,SLS提供了可视化的仪表盘,也可以通过Grafana更专业地可视化。

目前Logtail已经收集了主机常用的基本指标,包括CPU、内存、网络、磁盘等。其中关键指标直观可见。

00-1010数据访问的过程非常简单,只需要在SLS控制台上操作就可以完成(对于阿里巴巴云以外的服务器,需要在服务器上执行另外两个命令)。具体访问方式请参考:采集主机监控数据。

访问过程的核心是向每个主机的Logtail添加一个集合配置。Logtail的集合配置可以完全在云端管理,无需登录每台服务器进行手动配置。

{

输入' : [

{

详细信息' : {

IntervalMs ' : 30000

},

键入“:”公制_系统_v2

}

]

}

数据接入

Grafana是运维可视化领域最被广泛接受的可视化方案。SLS专门增加了两个用于主机监控的Dashboard模板,包括集群级监控面板和单机详细指示面板。这些大盘子最好

中。

Grafana的配置流程如下:

在Grafana中把SLS的时序库作为Prometheus的数据源,设置方式可参考:Grafana可视化配置。导入Grafana模板市场中的SLS模板:主机监控集群指标、主机监控单机指标。

监控数据分析与告警配置

作为一个合格的运维人员,仅仅配置完炫酷的监控仪表盘还不够,还需要对集群设置好足够的告警项并能在需要排查问题的时候利用监控数据分析的语法快速定位问题。这些本质上都是对集群的指标进行一些计算和统计。

SLS时序数据支持SQL、PromQL以及SQL+PromQL等多种查询方式,PromQL查询语言相对更加简洁,SQL能够实现的语义更加强大。而主机的监控数据相对比较简单,建议使用PromQL或SQL+PromQL的方式。

下面介绍几个在告警、分析中经常会用到的几个统计方式:

计算所有机器的某个指标平均值,例如平均CPU查找某个指标最高的N台机器,比如查找内存占用最高的5台机器查找某个指标超过X的机器,比如找到1分钟网络流量超过10M的机器计算某台机器的某个指标相对某个时间点的变化,比如计算某台机器磁盘使用率相比1天前的变化

这些用PromQL实现起来非常容易,可以在Grafana的Explore页面直接调试:

平均CPU: avg(cpu_util)查找内存占用最高的5台机器:topk(5, mem_util)找出1分钟网络流量超过10M的机器:(sum_over_time(net_in[1m]) + sum_over_time(net_out[1m])) > (10*1024*1024)计算某台机器磁盘使用率相比1天前的变化:disk_util{hostname="iZ2ze06ibdlxtgebgtu4xdZ"} - disk_util{hostname="iZ2ze06ibdlxtgebgtu4xdZ"} offset 1d

而告警也可以直接在Grafana上配置,可以在集群监控的Dashboard上直接配置告警,例如下面是配置CPU集群平均CPU超限的告警,告警规则是:每分钟计算最近5分钟内的集群CPU平均利用率,如果连续5分钟超过80%则触发告警。

总结

服务的基础指标监控是我们监控运维领域最基础的工作之一,构造公司IT的全方位监控还有很多工作要做,例如中间件监控、云产品监控、应用监控、业务监控等,而这些利用SLS的日志和时序存储功能都可以很容易的实现,其他相关的实现我们会在后续文章中给大家呈现。

大家在使用SLS中遇到的任何问题,请加钉钉群,我们有专门的日志女仆24小时在线答疑,还有火锅哥和烧烤哥专业支持!~ SLS微信公众号定期会发布各类日志、监控领域的技术分享文章并定期举行抽奖,欢迎小伙伴们关注~

另外欢迎对大数据、分布式、机器学习等有兴趣的同学加入,转岗、内推,来者不拒,请用简历狠狠的砸我,联系邮箱 davidzhang.zc@alibaba-inc.com !~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。