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

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

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

SLS时序存储简介

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

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

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

服务器监控方案概述

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

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

数据接入

数据接入的流程非常简单,只需要在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模板:主机监控集群指标、主机监控单机指标。

监控数据分析与告警配置

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

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

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

总结

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

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

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

net start zabbix agent 服务没有相应控制功能_一步到位,服务器监控就是这么简单...相关推荐

  1. net start zabbix agent 服务没有相应控制功能_zabbix-基础系列(十七)--实战之监控 php-fpm...

    zabbix 监控 php-fpm zabbix监控php-fpm主要是通过nginx配置php-fpm的状态输出页面,在正则取值.要nginx能输出php-fpm的状态首先要先修改php-fpm的配 ...

  2. net start mysql服务没有响应控制功能_新服务安装

    1. 进入服务器控制台:https://console.cloud.tencent.com/lighthouse/instance/detail?rid=8&id=lhins-pst1nv0i ...

  3. 云服务如何搭建数据库_云服务器怎么配置数据库

    展开全部 阿里云搭建sql server 分步阅读 需要公网服务器进行数据存储与转发,阿里云是比较经济的一种选择,sql sever适合62616964757a686964616fe78988e69d ...

  4. zabbix agent 的两种安装方式

    (一)zabbix-agent介绍和工作原理 1 介绍 zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.     zabbix能监视各 ...

  5. 青蛙学Linux—Zabbix Agent的主动模式和被动模式

    1.为什么要使用Zabbix Agent的主动模式? 默认情况下,Zabbix Agent运行在被动模式.在这种模式下,Zabbix Server会去每个Zabbix Agent上抓取数据.这种模式在 ...

  6. zabbix server、zabbix agent、zabbix proxy 配置文件详解

    zabbix配置文件种类: ? 1 2 3 zabbix_server配置文件zabbix_server.conf  zabbix_proxy配置文件zabbix_proxy.conf  zabbix ...

  7. Windows系统一键安装zabbix agent

    下载附件里的zabbix_agents_auto_installer.win.rar,解压后修改AutoInstall.bat里的zabbix_server的IP,以管理员身份运行AutoInstal ...

  8. Windows下安装Zabbix agent

    1.网上下载新版的Windows Agent http://www.zabbix.com/downloads/2.2.1/zabbix_agents_2.2.1.win.zip 2. 解压后找到bin ...

  9. zabbix专题:第三章 Zabbix Agent客户端安装详解

    第三章 Zabbix Agent For  本节目录大纲 程序环境 zabbix agent安装配置 (1)安装 (2)配置 (3)启动服务 在zabbix服务器上面添加zabbix-agent服务器 ...

最新文章

  1. ctypealpha php_php ctype函数中文翻译和示例
  2. java ado_Java进击C#——语法之ADO.NET
  3. 作为一名程序员为什么要用vim作为自己的IDE编辑器
  4. fuel6.0安装部署
  5. 简单直接的方法解析JSON数据
  6. Fibonacci Tree HDU - 4786——解题报告
  7. 删除Linux下/tmp目录引起的不正常登录系统
  8. java控制excel_java操作excel
  9. python播放网络音乐_python使用Tkinter实现在线音乐播放器
  10. Derby安装使用说明
  11. ubuntu18常用软件安装设置
  12. 大智慧交易系统测试软件,大智慧交易系统测试平台使用操作教程.doc
  13. 军犬信息采编发系统vs网络神采
  14. 服务器软硬件安装和配置,Windows Server 2016-系统安装软硬件要求
  15. 小米手机全球已舍弃“MI”品牌,全面改用“xiaomi”全称品牌
  16. 傻子也能看懂的迪杰斯特拉算法(转)
  17. Timingdesigner入门 基础 教程
  18. 【超分辨率】(DRN)Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution
  19. 什么软件测试iphone性能,5款iPhone性能测试比拼:A9虽然垫底,与A13的差距并不大...
  20. 吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念

热门文章

  1. 04.openssl编程——哈希表
  2. XDOJ-1073-Nunchakus_求一个集合能否分裂成两个和相等的集合(dp、背包问题)
  3. C# 连接 Oracle 的几种方式
  4. DB2 数据库清表语句
  5. Quaruts II 增量编译
  6. 3G与4G到底有何区别?
  7. Windows软件调试学习笔记(1)
  8. [pytorch、学习] - 3.6 softmax回归的从零开始实现
  9. 前端性能优化之图像优化原理
  10. Okhttp 插入缓存拦截器 解析