软件运维监控有哪些?

监控是程序员在维护软件运行的时候需要依赖的一个功能,而今天我们就通过案例分析来了解一下,软件运维监控都有哪些指标类型。

1、指标

通常监控指标是会从系统、应用、业务等几个维度进行:

系统监控:主要是监控物理机、虚拟机、操作系统的运行情况,主要指标包括CPU、内存、磁盘、网络等,其他的一些相关的数据包括物理机运行时间、操作系统版本、操作系统内核,这些也是排查问题的一些基本依据。这里还需要重点说一下网络,微服务都是通过网络调用或被调用,一旦网络出现问题,整个微服务集群都是不可用的,所以网络监控需要细化到流量、数据包、丢包、错报、连接数等指标。

应用监控:主要是监控应用的运行情况,包括应用运行时间、http服务端口、服务url、http服务响应码、http服务响应时间、SQL、缓存命中、TPS、QPS等。对于Java应用,还需要包括JVM运行情况:JDK版本、内存使用(堆内存、非堆内存等)、GC等Java虚拟机运行情况。

业务监控:主要是监控一些核心业务执行情况,对业务有一定的侵入性,各个服务的指标不同,各家监控方式也不同,通常是埋码。比如监控登录注册、商品信息、库存情况、下单、支付、发货等各个业务。

2、健康

一般健康检查是通过心跳检测进行的,通常会分为两种:

一种是建立TCP链接,执行ping/pong调用。这种方式需要服务中与监控系统建立TCP链接,需要在服务中嵌入监控组件,对服务有侵入。但是因为其执行效率高,而且针对性强,不会出现漏报的情况。

一种是监听服务端口,这种方式只需要在容器内或者虚拟机增加监控插件,对服务没什么侵入,但是由于端口可用和服务可用不是一个概念,所以会出现漏报的情况。

3、异常收集

异常分成两种,逻辑异常和行为异常。逻辑异常是说代码中存在异常逻辑,比如常见的NPE;行为异常时用户行为不可预期而出现的异常,这两种情况对系统都有一定危害。所以需要收集这些异常情况,并且能够定位异常发生的位置。异常信息收集主要是为了定位问题,所以上报的信息一定要全面而且容易定位。所以上报信息中需要保护异常码,可以自定义一定长度的字符串,便于定位位置。然后是要上报参数,用于还原现场。还要上报异常信息,用来分析异常情况。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值