一步到位,服务器监控就是这么简单

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 对于运维的日常工作来说,服务器监控是必须且最基础的一项内容。在企业基础设施运维过程中,管理员必须能够掌握所有服务器的运行状况,以便及时发现问题,尽可能减少故障的发生。本期为大家介绍如何使用阿里云SLS来快速构建一套完整的服务器/主机基础指标实时监控方案。

对于运维的日常工作来说,服务器监控是必须且最基础的一项内容。在企业基础设施运维过程中,管理员必须能够掌握所有服务器的运行状况,以便及时发现问题,尽可能减少故障的发生。通常我们会借助一些监控的软件来获取每个服务器的基础指标并进行集中的查看、分析、监控。
image.png


市面上开源、收费的服务器监控系统非常多,例如老牌的zabbix、nagios、NewRelic、CollectD等,近期开始流行的Telegraf、Prometheus。各类系统都有其出彩的点,例如Zabbix强大的生态、NewRelic的服务、Prometheus的云原生友好等。服务器监控相对中间件、业务监控更加基础,关注点主要集中在监控的易用性、稳定性、实时性、报警丰富度、报表使用便捷度等。


本期为大家介绍如何使用阿里云SLS来快速构建一套完整的服务器/主机基础指标实时监控方案。

SLS时序存储简介

image.png


SLS的日志存储引擎在2016年对外发布,目前承接阿里内部以及众多企业的日志数据存储,每天有数十PB的日志类数据写入。其中有很大一部分属于时序类数据或者用来计算时序指标,为了让用户能够一站式完成整个DevOps生命周期的数据接入、清洗、加工、提取、存储、可视化、监控、问题分析等过程,我们专门推出了时序存储的功能,与日志存储一道为大家解决各类机器数据的存储问题。

SLS时序存储从设计之初就是为了解决阿里内部与众多头部企业客户的时序存储需求,并借助于阿里内部多年的技术积累,使之可以适应绝大部分企业级时序监控/分析诉求。SLS时序存储的特点主要有:

  1. 丰富上下游:数据接入上SLS支持众多采集方式,包括各类开源Agent以及阿里云内部的监控数据通道;同时存储的时序数据支持对接各类的流计算、离线计算引擎,数据完全开放;
  2. 高性能:SLS存储计算分离架构充分发挥集群能力,尤其在大量数据下端对端的速度提升显著;
  3. 免运维:SLS的时序存储完全是服务化,无需用户自己去运维实例,而且所有数据都是3副本高可靠存储,不用担心数据的可靠性问题;
  4. 开源友好:SLS的时序存储原生支持Prometheus的写入和查询,并支持SQL92的分析方法,可以原生对接Grafana等可视化方案;
  5. 智能:SLS提供了各种AIOps算法,例如多周期估算、预测、异常检测、时序分类等各类时序算法,可以基于这些算法快速构建适应于公司业务的智能报警、诊断平台。

服务器监控方案概述

image.png

SLS的主机监控方案非常简单,只需要安装一个Logtail就可以采集各个主机的基础指标,服务端都是云化,无需运维,默认SLS提供了可视化的仪表盘,也可以通过Grafana来进行更加专业的可视化。


目前Logtail采集了主机常用的基础指标,包括CPU、内存、网络、磁盘等,其中对较为关键的指标都做了可视化,便于直接查看。


image.png

数据接入

数据接入的流程非常简单,只需要在SLS控制台上操作即可完成(对于非阿里云的服务器,需要在服务器上额外执行2条命令),具体接入的方法可参见:采集主机监控数据


接入过程中最核心的就是给每台主机的Logtail增加一个采集配置,Logtail的采集配置可以完全云化管理,无需登录每台服务器手动配置。

{
  "inputs": [
    {
      "detail": {
      "IntervalMs": 30000
      },
      "type": "metric_system_v2"
    }
  ]
}

可视化

在运维可视化领域Grafana是当前大家接受度最高的可视化方案,SLS为主机监控专门增加了2个Dashboard模板,包括一张集群级别的监控大盘和单机的详细指标大盘。这些大盘可以一键导入到Grafana中。


Grafana的配置流程如下:

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


image.png



image.png

监控数据分析与告警配置

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

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


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

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


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

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

image.png



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

总结

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


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


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

test

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
1月前
|
Prometheus 监控 Cloud Native
服务器监控软件
【10月更文挑战第18天】
41 1
|
6月前
|
存储 监控 安全
哪款电脑监控软件最好丨监控工具推荐
挑选合适的监控软件对家庭网络和企业生产力至关重要。WorkWin提供权限管理、远程控制、时间统计,确保工作效率和信息安全。Norton Family允许管理应用使用时间、限制上网时间,保护孩子免受网络危害。Kaspersky Safe Kids具有实时定位、警报设置和多平台支持,保障孩子安全。这些工具能帮助用户做出明智选择。[来源](https://www.bilibili.com/read/cv35295466/)
159 3
|
7月前
|
监控 数据安全/隐私保护 iOS开发
服务器监控新利器:ServerBee带你看透服务器运行状态
服务器监控新利器:ServerBee带你看透服务器运行状态
207 0
|
运维 Linux 网络安全
【运维杂谈】如何进行Linux系统优化
【运维杂谈】如何进行Linux系统优化
135 1
|
运维
【运维杂谈】为什么要用远程链接工具?
【运维杂谈】为什么要用远程链接工具?
87 0
|
Prometheus 监控 Kubernetes
告别低效繁琐的Prometheus告警管理,Nightingale助你快速响应故障!
Prometheus的告警规则、记录规则都是采用配置文件管理,适合奉行Infrastructure as Code的公司或团队内部使用。但如果要把监控能力开放给全公司,就要支持协同操作的 UI,让各个团队互不干扰的同时共享成果
724 0
|
人工智能 运维 Prometheus
搞定监控!我全靠这个超牛逼的告警管理平台
你可能也遇到过这样的场景: 在一个惬意的周六夜里,运维郭哥正在梦里神游,正美着呢,然而领导突然一通电话打过来,说服务器崩了,给你5分钟时间马上恢复! 毫无疑问,服务器出问题了,但郭哥没收到告警,错过了黄金抢救时间!还被领导先发现了问题! 于是郭哥背了锅,开始修复问题,时间一点一滴地逝去,领导时不时催一下进度,一个愉快的周末就这样没了! 试想一下,如果郭哥及时收到告警会怎么样?也许可以把故障影响降到最低,甚至可以在故障没发生前把服务器重启一下,神不知鬼不觉,然后悠闲地度过周末!
|
Web App开发 运维 监控
再谈前端性能监控及4个最佳工具分享
对于大多数开发人员而言,监控应用程序的性能并不是一个陌生的概念。在某些情况下,我们必须自己进行一些性能调试。通常,当出现影响用户体验或影响成本的大问题时,就需要去监控应用程序的性能。同时我们也需要话时间去查看应用在不同场景下的表现情况。
853 0
再谈前端性能监控及4个最佳工具分享
|
数据采集 移动开发 监控
两把利器,轻松做好十一期间服务器监控保障
由于服务器需要7×24 小时运行,十一期间,为了切实做好服务器的重点保障,电源监控,必不可少。基于成本的考虑,我们决定自己做。如何多快好省,实现一个这样的平台呢?思路是通过服务器自带的远程管理模块读取redfish接口中电源功耗信息,然后采集到时间序列数据库,再通过grafana基于时间和ip做条件筛选做展示。这里就要用到两把开源利器Grafana和Influxdb。
两把利器,轻松做好十一期间服务器监控保障
|
运维 监控 前端开发
从零开始搞监控系统(7)——监控页面奔溃
  页面奔溃包含两种场景,第一种是浏览器在加载网页时遇到问题导致的奔溃,另一种是因为脚本渲染出错导致页面空白无内容的奔溃。