首页 > 其他分享 >如何实现对主机的立体监控?

如何实现对主机的立体监控?

时间:2023-08-08 18:36:23浏览次数:27  
标签:detect 主机 立体 采集 监控 告警 metricName

如何实现对主机的立体监控?_主机监控

如何实现对主机的立体监控?_主机监控_02

主机监控是保证系统稳定性和性能的重要环节之一,那应该如何实现对主机的立体监控?

本期EasyOps产品使用最佳实践,我们将为您揭晓:

  • 主机应该如何分组和管理?
  • 主机监控应该关注哪些关键性指标?

如何实现对主机的立体监控?_主机监控_03

背 景

通过监控主机的各项指标,我们可以及时发现问题、诊断故障,并采取相应的措施来确保主机的正常运行。本文将结合之前的最佳实践,综合性介绍主机监控的目标和实现方式,以帮助您有效地监控主机的关键指标。

主 机 监 控 目 标

在进行主机监控时,我们通常关注以下几个重要指标:

如何实现对主机的立体监控?_主机监控_04

在监控上述指标的实践中,我们不仅会进行指标的采集和监测,还会对异常情况进行告警处理。在进行告警时,我们注重提供丰富的信息和指标,以更加友好和直观的方式向用户发送告警通知,以协助用户进行告警分析和故障排查。

通过丰富的告警信息,我们可以提供更多的上下文和细节,帮助用户更好地理解告警的原因和影响。告警信息可能包括详细的指标数值、触发告警的条件、相关的主机或服务信息等,以帮助用户快速定位问题所在。

下面,我将基于EasyOps平台的优维的EasyOps监控系统,一步一步从0开始实践如何对主机实现立体监控。

实 践

1.主机分类

首先,为了更好地进行主机监控,我们需要对主机进行分类。通常情况下,我们会关注生产环境中的主机,或者具备一些特定特征的主机。通过对主机进行分类,我们可以更有针对性地进行监控和管理。而借助 CMDB 平台的查询策略,我们可以方便地对主机进行分类和查看。

主机分类的方式可以根据不同的需求和业务场景来确定。以下是一些常见的主机分类方式:

  • 按照环境分类:将主机划分为生产环境、开发环境、测试环境等,以便针对不同环境进行监控和管理。
  • 按照业务应用分类:将主机按照所承载的业务应用进行分类,例如 Web 服务器、数据库服务器、应用服务器等,以便更好地追踪和管理各个业务应用的性能和可用性。
  • 按照地理位置分类:将主机按照地理位置进行分类,例如不同地区、不同数据中心或机房的主机,以便进行地域性的监控和管理。
  • 按照硬件配置分类:将主机按照硬件配置进行分类,例如不同型号、不同规格的主机,以便更好地了解不同硬件配置对性能的影响。

在本次实践中,我的监控对象分为两种类型:

  • 按环境和用途区分,以归类于“生产环境主机”
  • 按虚拟化类型区分,已归类于“宿主机“

如下图所示:

如何实现对主机的立体监控?_主机监控_05

上面可以看到有两条查询策略,仅需点击查询策略后即可过滤出主机组。

2.采集策略

在优维的EasyOps监控系统中,主机作为最基本和基础的监控资源对象,已经内置好主机采集策略。我们可能需要稍微对采集范围做一些调整,以符合我们的监控目标需求。此处我将重新建立一条监控采集策略,以帮助您了解一条采集策略需要包含哪些基本内容:

新建采集策略

点击右上角的新建,选择system套件,填入所需的任务名,指标集等信息。

如何实现对主机的立体监控?_主机监控_06

特别说明:system套件是主机采集套件,将对主机的cpu、内存、网络、磁盘、文件系统和进程等信息进行采集。

选择采集实例范围

如何实现对主机的立体监控?_主机监控_07

此处基于CMDB的查询策略,可快速过滤出目标主机组。此处,我们过滤出生产环境的宿主机作为监控对象。如下所示:

如何实现对主机的立体监控?_主机监控_08

点击下一步保存即可。

稍等片刻,即可看到所有的实例对象的采集状态都是正常,说明指标采集成功。

如何实现对主机的立体监控?_主机监控_09

针对于宿主机这个主机组,已经配置完成。

而针对于生产环境主机这个主机组,步骤也一样,此处不赘述。

3.告警规则

接下来针对监控目标的表格,设定告警规则。我们的告警规则设定如下,仅供参考:

如何实现对主机的立体监控?_主机监控_10

新建规则

右上角点击新建规则

如何实现对主机的立体监控?_主机监控_11

注意,选择的类型为:主机。

而后添加监控目标,此处的监控目标就是CMDB查询策略中定义好的规则。此处我们已经把规则建立好,因此可以直接绑定已有查询策略:

如何实现对主机的立体监控?_主机监控_12

建立告警套件策略

我们的阈值条件判断是:主机5分钟单核平均负载大于5「或」cpu使用率大于85%,因此这是一个或条件。此时在告警来源中,我们选择「从【阈值条件.任意条件】产生」;如果是与条件,则选择「从所有条件产生」。

如何实现对主机的立体监控?_主机监控_13

为了准确触发告警,系统使用连续的3个数据点来判断是否达到告警条件。每分钟采集一次数据,如果在连续的3分钟内命中告警条件,系统将触发相应的告警通知。

在设计告警策略时,系统考虑了告警的延迟,以适应可能的瞬时异常情况,从而提高告警的准确性。因此,即使出现短暂的异常情况,系统会等待一段时间确认后再触发告警,以减少误报的可能性。

如何实现对主机的立体监控?_主机监控_14

告警分析

当主机发出告警后,了解关于该主机的上下文信息对于告警分析和问题解决非常重要。监控平台支持联动CMDB模型中的属性信息,可以非常灵活地在告警信息中包含来源于CMDB的实例属性,并且还能关联目标指标的关联指标信息,以提供更丰富的信息支持。比如:

  • 主机负责人:在告警通知中包含主机的负责人联系信息,以便管理员可以直接与负责人进行沟通和协调。
  • 关联指标:对于本例中的CPU负载告警,我们可以在告警通知中包含当前的CPU使用率

因此,我们可以基于告警分析中的告警丰富和信息丰富去完成。

信息丰富:添加负责人

通过选择CMDB的主机模型中的属性信息,添加到告警通知中,让我们可以得知该主机的负责人,以便当主机告警时可以得知应该谁去处理该告警。

如何实现对主机的立体监控?_主机监控_15

指标丰富:丰富CPU信息

如何实现对主机的立体监控?_主机监控_16

此时告警模板中就可以添加丰富的信息。

更多地,根据实际情况添加即可。如下告警分析供参考:

如何实现对主机的立体监控?_主机监控_17

告警通知

最后,添加告警通知。告警通知支持多种通知媒介,此处以钉钉机器人为例子说明。

如何实现对主机的立体监控?_主机监控_18

简单地填写好配置信息后,我们重点添加告警内容的模板,结合我们上一篇的最佳实践《一个“好”的告警通知是怎样的?》,我们可以得出以下的模板

这里给出一个示例,如下:

●告警模板:

{{time|ts2str:'%Y-%m-%d %H:%M'}} 产生告警事件</font></h2>

| 事件类型 | SLO事件 |

| --- | --- |

| 告警等级 | {{levelName}} |

| 告警资源 | {{******}} |

| 告警信息 | {{originContent}} |

| 运营负责人 |{{instance|jsonpath:'$.owner[*].name'|unique|join:','}} |

| 持续时长 | {{duration|duration_format:'zh'}} |

| 首次发生时间 | {{startTime|ts2str:'%Y-%m-%d %H:%M'}} |

| 事件详情 | [请点击](http://*****.******.*****/next/events/{{eventId}}/detail) |

| 策略详情 | [请点击](http://*****.******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) |{% if metricName != "主机agent状态" && metricName != "detect_code" && metricName != "detect_time_cost" %}| 采集任务 | [{{collectorJob|showname|default:"请点击"}}](http://*****.******.*****/next/infra-monitor/setting/collection-strategy/{{collectorJob|mvalue:"instanceId"}}/detail) |{% elif metricName == "detect_code" || metricName == "detect_time_cost" %}| 采集任务 | [{{collectorJob|showname|default:"请点击"}}](http://*****.******.*****next/infra-monitor/setting/collection/detect/{{collectorJob|mvalue:"instanceId"}}/detail) |{% endif %}

●告警解除模板:

{{time|ts2str:'%Y-%m-%d %H:%M'}} 告警事件解除</font></h2>

| 事件类型 | SLO事件 |

| --- | --- |

| 告警等级 | {{levelName}} |

| 告警资源 | {{******}} |

| 告警信息 | {{originContent}} |

| 运营负责人 |{{instance|jsonpath:'$.owner[*].name'|unique|join:','}} |

| 持续时长 | {{duration|duration_format:'zh'}} |

| 首次发生时间 | {{startTime|ts2str:'%Y-%m-%d %H:%M'}} |

| 事件详情 | [请点击](http://*****.******.*****/next/events/{{eventId}}/detail) |

| 策略详情 | [请点击](http://*****.******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) |{% if metricName != "主机agent状态" && metricName != "detect_code" && metricName != "detect_time_cost" %}| 采集任务 | [{{collectorJob|showname|default:"请点击"}}](http://*****.******.*****/next/infra-monitor/setting/collection-strategy/{{collectorJob|mvalue:"instanceId"}}/detail) |{% elif metricName == "detect_code" || metricName == "detect_time_cost" %}| 采集任务 | [{{collectorJob|showname|default:"请点击"}}](http://*****.******.*****/next/infra-monitor/setting/collection/detect/{{collectorJob|mvalue:"instanceId"}}/detail) |{% endif %}

保存后即完成了告警规则。

当告警发生时,会发出如下通知:

如何实现对主机的立体监控?_主机监控_19

告警解除后,发出以下通知:

如何实现对主机的立体监控?_主机监控_20

到此为止,主机监控的配置已经完成,此时您的主机已经纳入到监控系统中,通过主机监控,您可以及时掌握主机的状态和性能情况。

如何实现对主机的立体监控?_主机监控_21

并且通过告警和监控dashboard,及早发现并分析潜在问题,提高系统的稳定性和可靠性。

标签:detect,主机,立体,采集,监控,告警,metricName
From: https://blog.51cto.com/u_15605878/7011061

相关文章

  • 如何通过navicat连接数据库修改EasyCVR视频监控管理平台的登录密码?
    TSINGSEE青犀视频监控管理平台EasyCVR可以根据不同的应用场景需求,让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上,平台可实现视频实时直播、云端录像、云存储、回放与检索、告警上报、视频快照、视频转码与分发、平台级联等。......
  • 监控Kafka的关键指标
    Kafka架构上面绿色部分PRODUCER(生产者)和下面紫色部分CONSUMER(消费者)是业务程序,通常由研发人员埋点解决监控问题,如果是Java客户端也会暴露JMX指标。组件运维监控层面着重关注蓝色部分的BROKER(Kafka节点)和红色部分的ZOOKEEPER。ZooKeeper也是Java语言写的,监控相对简单,另......
  • python监控强势票日志
    c:\python38\python.exeF:/GZH/demo/量化/easyquant/utils/ts/A实时监控近10天最强票+昨日涨停票.pyglobal_config_path:c:\python38\lib\site-packages\easytrader/config/global.json++++++++++++++++(近10日最强+昨日涨停票)+++++++++++++++++++++++++++++++:selectdist......
  • 配置Nginx虚拟主机
    拓扑图:推荐步骤:安装Nginx配置基于IP地址虚拟主机客户端访问验证,第一个虚拟主机监听IP地址192.168.100.20,第二个虚拟主机监听IP地址192.168.100.30配置基于端口虚拟主机,192.168.100.10:8080监听第一个虚拟主机,www.aaa.com监听第二个虚拟主机,客户端访问验证配置基于域名虚拟主机......
  • 通过vcenter提取主机配置文件方式修改esxi root密码
    1,登陆vcenter2,右击任意一台主机-->主机配置文件-->提取主机配置文件3,为新的主机配置命名,如change-passwd4,选择vcenter管理菜单-->策略与配置文件,修改主机配置文件5,编辑主机配置文件-->编辑-->搜索root-->去掉其它选项-->在密码类型中选择固定的密码配置-->保存(这一步要一定小心,不......
  • TSINGSEE青犀视频安防监控视频平台加密机的详细使用与操作步骤
    我们在此前的文章中介绍过不少TSINGSEE青犀视频安防监控视频平台关于加密机授权操作及相关疑问解答,感兴趣的用户可以翻阅往期的文章进行了解。由于新用户咨询该方面的问题较多,今天我们再来介绍一下操作步骤。注意:加密机是依据IP授权,因此授权的前提是加密机的网络与要授权的视频监控......
  • AD域控修改主机名步骤
    1已投入生产使用的AD域控不建议修改主机名,因为修改的步骤会更多,如下命令仅针对刚部署好的AD域控进行主机名修改。若已经有实际数据在运行了,需要涉及到更多东西的修改。#如列出当前主机名是否正确,WIN-RB8F8NGLSQD为当前AD域主机名。PSC:\Users\ctxadmin>netdomcomputernameW......
  • kafka集群监控EFAK搭建
    源码包准备   1.上传包      exportKE_HOME=/home/secure/prom/kafka-eagle-bin-3.0.1/efak-web-3.0.1   exportPATH=$PATH:$KE_HOME/bin   source/etc/profile   2.安装mysql     EFAK配置修改         1.修......
  • Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
    Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能,努力成为跨主机集......
  • 如何查看容器端口到宿主机端口的映射关系?
    使用dockerport命令进行查看 #查看容器的ID[root@nccztsjb-node-27~]#dockerps|grepnginx78e7140c0b8cgoharbor/nginx-photon:v2.6.1"nginx-g'daemonof…"2monthsagoUp2months(healthy)0.0.0.0:80->8080/tcp,:::80->......