前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于监控—我们只是讲道理

关于监控—我们只是讲道理

作者头像
阿dai学长
发布2020-02-13 00:05:54
2.1K0
发布2020-02-13 00:05:54
举报
文章被收录于专栏:阿dai_linux阿dai_linux

前言

监控系统,是通过持续信息采集、收敛、分析来发现问题,并对解决问题提供数据依赖的一种科学技术。通过监控技术可以实现对故障进行 “事前预警,事后追踪”。

监控,是运维工作中的重要技术,如果没有监控,运维人员就相当于盲人摸象,发现问题会变得很被动;监控也是整个产品生命周期中最重要的一环,如果没有监控,产品中存在的问题就只能等用户反馈(客诉),严重降低用户体验。

目前,互联网行业的监控技术已经很成熟,业界有很多不错的开源产品可供选择,运维在开展监控工作时,选择一款开源监控系统,是一个省时省力,效率最高的方案。

监控目的

监控的目的是通过采集准确的监控指标、配置合理的告警机制,提前或者尽早发现问题,并做出响应、解决问题,进而保证产品的稳定性,提升用户体验。

具体可分为以下几方面:

  1. 对系统持续实时监控:指硬件系统,如服务器、路由器、交换机等;
  2. 对应用持续实时监控:指业务运行依赖的基础服务,如数据库、中间件等;
  3. 对业务持续实时监控:指产品运行情况,如状态码、接口响应时间、异常信息等。

监控方法

在了监控的重要性及监控目的之后,我们来聊聊到底如何做监控。

  1. 确定监控对象:明确是系统监控,还是应用监控,或者是业务监控;
  2. 确定监控指标:确定监控对象之后,需要明确具体监控指标,如果监控对象为服务器,那么监控指标有CPU、磁盘、内存等;
  3. 确定告警格式:监控的目的之一就是发出告警,所以,告警信息的格式要做到统一、简洁明了;
  4. 确定告警阈值:泛滥的告警就像”狼来了“,所以要设定合理的阈值,确保告警准确、有效;
  5. 确定负责人:确定监控指标后,明确告警负责人,可以让运维或测试人员更快的将事件分发到具体的业务负责人,以提升故障处理效率,同时降低对其他人的打扰;
  6. 确定事件处理流程:对于告警,“事事有回音,件件有着落” 很重要,让每个事件构成一个闭环。

监控指标

监控指标是立足于监控对象至上的,如何确定监控指标?

监控指标,即监控对象相关的关键性指标。

那么,哪些算是关键性指标呢?

这个仁者见仁智者见智,在我看来,对服务稳定运行带来严重影响的才算关键指标。

那么,怎么算严重影响呢?

这个问题可以通过用户体验来反推,哪些问题能带来用户体验的不适?比如,请求响应慢、请求错误、请求报异常等等。

在我看来,通过用户体验来反推监控指标是一个不错的办法。

常规监控指标

以下监控指标仅供参考。

监控对象

监控指标

硬件

CPU温度、主板温度、物理磁盘、磁盘阵列等

系统

CPU负载、磁盘使用率、内存使用率、网络带宽等

应用

状态(端口)、进程、应用内部指标(如MySQL、redis连接数、内存使用)等

业务

API、状态码、QPS等

日志

访问日志、错误日志、运行日志、网络日志等

监控工具

确定监控指标后,遍可以奔着高效、可用的原则来选择监控工具了。

目前业界监控工具很多,常用的开源监控工具:Zabbix、Open-falcon、Prometheus、Grafana(图)等。

相关的文章太多了,在此不做赘述,想要学习推荐官方网站。

监控方案

了解了监控指标、监控工具之后,接下来就需要确定一个合理、可行的监控方案了。如何确定监控方案?

  1. 首先,要了解公司的技术栈;
  2. 然后,对涉及到的各种组件进行全面了解;
  3. 其次,确定详细的监控指标,目前各种应用的官网基本都有提供监控相关的metrics;
  4. 最后,选定适应当前需求的监控工具、图形展示、告警方式等等。

总结

监控系统不可能做的尽善尽美,真正想把监控做的尽量完善,依靠开源软件都很难满足。有条件的公司会根据自己的业务需求开发自己的监控系统,如小米的Open-falcon。

监控系统知识体系很庞大,在此整理九牛之一毛,只是提供一点做事的思路。(不喜勿喷,谢谢!)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 监控目的
  • 监控方法
  • 监控指标
    • 常规监控指标
    • 监控工具
    • 监控方案
    • 总结
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档