云监控之自定义监控

本文涉及的产品
云监控,每月短信1000条
简介: 云监控之自定义监控

本文是对控制台自定义云监控的补充,意在帮助用户快速掌握自定义云监控的数据上报、数据查看及创建报警规则。


准备工作


  • 准备一个子账号并给子账号创建AK、SK或者一个ECS角色(上报自定义数据的机器是ECS),并给子用户或者角色授权使其具备上报数据的权限。

      a、创建一个子账号并给子账号创建AK可以查看此处

      b、如何给ECS绑定一个角色并授予相应权限可查看此处



上报数据

  1. 下载阿里云CLI 工具并进行配置,使用AK(或者ECS角色)让CLI 工具具备上报数据的权限。
  2. 写一个Shell脚本获取一些我们希望上报的数据,例如sshd进程的数量或者nginx进程的数量。
count1=`ps -ef | grep nginx | grep -v grep | wc -l`count2=`ps -ef | grep sshd | grep -v grep | wc -l`date >> /tmp/cms.log
aliyun cms PutHybridMonitorMetricData --region cn-hangzhou --MetricList.1.Name process --MetricList.1.Labels.1.Key=process_name --MetricList.1.Labels.1.Value=nginx --MetricList.1.Labels.2.Key=host --MetricList.1.Labels.2.Value=zjk --MetricList.1.Value $count1--Namespace'xiaobo'aliyun cms PutHybridMonitorMetricData --region cn-hangzhou --MetricList.1.Name process --MetricList.1.Labels.1.Key=process_name --MetricList.1.Labels.1.Value=sshd --MetricList.1.Labels.2.Key=host --MetricList.1.Labels.2.Value=zjk --MetricList.1.Value $count2--Namespace'xiaobo'

count1  变量名字值为nginx的进程数量

count2  变量名字值为sshd进程的数量

#这两个变量名可以自定义,只是方便后面将获取的数据复制给CLI中的 MetricList.1.Value

#上面用了2个请求来上报2个进程的数量数据,实际可以合并成一个请求,一次上报两个metric的值,分成两条写只是为了更易懂。

--region   统一cn-hangzhou

--MetricList.1.Name   这里上报的第一个Metric 名字,我命名为proccess , 实际上命名为process_count 更合适,因为我们上报的数据是进程的数量

--MetricList.1.Labels.1.Key  此次上报的第一个Metric的第一个标签键   process_name

--MetricList.1.Labels.1.Value  此次上报的第一个Metric的第一个标签的值  nginx  

--Namespace  是上报数据到哪个仓库 (前面准备工作创建的指标仓库的名字)


这里的Label 作用就是阿里云产品预设监控项中的 Dimensions ,通过label 我们才能确定上报的是哪个主机、进程的数量。脚本写好之后,我们还需要确保持续的上报(如果只上报异常,不需要持续的上报数据),我这里采用的是crond 定时上报

*/1 * * * * bash /root/cms.sh >> /tmp/cms.log  # /root/cms.sh 是前面写的脚本的路径

注意:这里是每分钟执行一次后面报警规则周期就是1分钟。 如果长时监控,上面的脚本产生的日志或会占用大量磁盘空间,此处只是为了说明功能的使用,不考虑日志分割及清理功能。


查看数据

至此数据上报已完成,到云监控指标仓库控制台找到对应的指标仓库查看下上报的数据,下图是使用前面脚本上报的数据,如果多个主机就可以根据label 确定是哪个主机(zjk)哪个进程(nginx)的进程数量



创建报警规则

点击上图中的另存为报警规则会弹出创建报警规则窗口,在报警表达式里可以获取指定的数据:


例如 process{process_name="nginx",host="zjk"}  表示获取主机zjk中nginx进程的数量,写好后点击查询数据可以查到说明表达式填写正确,但是表达式不仅要查出数据还要给出报警条件,


最终写好的表达式 process{process_name="nginx",host="zjk"}<1

意思是当进程数量小于1时告警(由于进程数量是整数,小于1就意味着nginx 主进程异常退出了),实际表达式根据自己需要填写



这里需要注意的是无数据处理方式,即没有上报数据时采取的措施:

  • 不做任何处理 (适合非持续上报数据的场景,例如只上报异常的情况)
  • 视为恢复(适合只上报异常数据,非连续上报数据的场景)
  • 无数据告警(适合上面这种持续上报数据的情况,没有上报数据大概率是服务器异常,所以无数据也要告警)



至此一个自定义监控就创建好了,可以故意将进程停掉或者修改报警规则表达式去触发设置的告警规则看是否满足需求。

相关实践学习
基于云监控实现的监控系统
通过阿里云云监控功能给非阿里云主机安装监控插件,从而实现对非阿里云主机的各项指标进行监控和管理,在配置报警规则和报警人的情况下,能对特定的场景做出报警反应通知到报警人的手机上。
目录
打赏
0
0
0
0
320
分享
相关文章
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
数据采集监控与告警:错误重试、日志分析与自动化运维
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
89 22
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
628 3
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
1461 2
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
104 2
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
615 0
|
9月前
|
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
云监控:引领未来监控技术的新篇章
传统监控系统需要投入大量的人力物力进行建设和维护,而云监控则通过云计算平台的按需付费特性降低了建设和维护成本。用户只需根据实际需求购买相应的服务和资源即可实现监控功能,无需担心设备升级、维护等问题。
【阿里云弹性计算】ECS实例监控与告警系统构建:利用阿里云监控服务保障稳定性
【5月更文挑战第23天】在数字化时代,阿里云弹性计算服务(ECS)为业务连续性提供保障。通过阿里云监控服务,用户可实时监控ECS实例的CPU、内存、磁盘I/O和网络流量等指标。启用监控,创建自定义视图集中显示关键指标,并设置告警规则(如CPU使用率超80%),结合多种通知方式确保及时响应。定期维护和优化告警策略,利用健康诊断工具,能提升服务高可用性和稳定性,确保云服务的卓越性能。
321 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等