首页 > 系统相关 >简单聊聊Azure VM的内存指标

简单聊聊Azure VM的内存指标

时间:2023-02-18 19:32:05浏览次数:42  
标签:Log VM Agent 指标 Analytics 内存 聊聊 Azure 告警

今天简单来聊下Azure VM内存指标的一些事,总体来说没什么深度,只是一些常见问题的分析和总结

首先来说想看内存数据的话肯定是要安装agent的,否则没办法收集到内存数据,这一点各个云平台应该都是差不多的,一般来说除了第三方监控平台以外,如果用Azure原生的监控方式,那么推荐用MMA或者Log Analytics Agent,把数据收集到Log Analytics workspace,然后统一查看和处理,已经设置对应的告警,简单方便,但是这种方案的缺点是监控指标不够直观,很多东西都需要使用Kusto的query来做

还有一种方案就是用Diagnostic Extention,这种方法也可以看到各种内存指标,但是缺点是没办法针对所有机器统一处理,比如一次性直接查看所有机器的内存指标

总结一下就是

  1. MMA或者Log Analytics Agent
  1. 优点:
  1. 方便统一管理,查看,分析
  2. 可扩展性强,支持定制化需求
  1. 缺点
  1. 数据展现不直观,需要自己编写query
  1. Diagnostic Extention
  1. 优点
  1. 数据展现直观,简单方便
  1. 缺点
  1. 不利于统一管理,功能比较简单

总体来说的话,还是更推荐使用MMA或者Log Analytics Agent,功能毕竟要强很多,除了方案之外,再来聊一下如果使用了MMA或者Log Analytics Agent的话,内存指标都应该如何查询,这个话题听起来很简单,实际上还是有一点道道的

首先默认情况下,CPU,内存这种数据是不会被收集的,需要手动添加对应的指标,如果是Log Analytics Agent的话,需要在Legacy agents management里添加performance counter,这里就可以添加Memory(*)\% Committed Bytes In Use之类的指标了

简单聊聊Azure VM的内存指标_监控

添加之后agent才会开始采集这些数据,如果是要查询的话,可以通过类似下边的语句来查询

Perf
| where TimeGenerated > ago(1h)
| where (CounterName == "% Processor Time" and InstanceName == "_Total") or CounterName == "% Used Memory"
| project TimeGenerated, CounterName, CounterValue
| summarize avg(CounterValue) by CounterName, bin(TimeGenerated, 1m)
| render timechart


之后可以得到类似下边的结果,说实话和传统的监控工具比,还是有不小改进空间的。。

简单聊聊Azure VM的内存指标_Memory_02


再来说一下查看内存数据用的指标,如果要查看使用了多少内存,可以用类似下边的指标

  • Windows
  • Memory(*)\Available Mbytes
  • Linux
  • Used Memory MBytes

但是如果要设置告警的话,用固定的数量作为告警的条件很明显是不太合适的,因为每个机器分配的内存大小都是不一样的,一个16G内存的机器可能内存可用数量小于2G就应该告警了,但是对于一个4G内存的机器,可能小于2G可用内存就是个正常情况

所以还是比较推荐用百分比来设置告警条件,如果是Linux机器,其实已经提供了% Used Memory这种counter,但是对于Windows来说,这方面其实是比较缺失的,并没有内置的按百分比来显示可用内存数量的指标,这里就需要用一些其他的法子了,下篇可以详细来讲讲


标签:Log,VM,Agent,指标,Analytics,内存,聊聊,Azure,告警
From: https://blog.51cto.com/mxyit/6065509

相关文章

  • VMwarestation安装centos系统
    上机实验11.软硬件准备软件:推荐使用vmware镜像:centos7下载网址https://mirror.iscas.ac.cn/centos/7/isos/x86_64/这个镜像网址实测比清华的镜像源快多了(建议使用)2.安......
  • WPF MVVM系统入门-下
    WPFMVVM系统入门-下CommandManager接上文WPFMVVM系统入门-上,我们想把Command放在ViewModel中,而不是Model中,可以将CommandBase类改为publicclassCommandBase:ICommand{......
  • WPF MVVM系统入门-上
    WPFMVVM系统入门-上Models:存放数据的模型,实体对象Views:可视化界面ViewModels:业务逻辑。ViewModels与Models的联系会更紧密,而Views页面会主动绑定ViewModels中的数据,原则......
  • JVM解释器与JIT编译器如何并存?
    [1]JVM解释器  JVM设计的初衷仅仅只是为了满足Java程序实现跨平台特性,因此避免采用静态编译的方式直接生成本地机器指令,从而诞生了实现解释器在运行时采用逐行解释字节......
  • PowerShell 脚本自动执行 Azure 任务
    PowerShell脚本自动执行Azure任务Azure提供了三种管理工具:Azure门户:Azure门户是一个网站,可在其中创建、配置和更改Azure订阅中的资源,该门户是一个图形用户界面......
  • Windows虚拟机由vmware迁移至kvm注意事项
    使用virt-v2v将Windows虚拟机从vmware迁移到kvm,需要额外注意事项,简单记录了下。安装virt-v2v运行 virt-v2v 的主机上安装virt-v2v,可以把在其它虚拟机平台上运行的虚拟机进......
  • JVM内存模型分析
    JVMJVM内存模型解析JVM内存模型:https://juejin.cn/post/7024358170642350093https://www.cnblogs.com/blknemo/p/13296007.html线程独占:JVM栈,本地方法栈,程序计数......
  • JVM中的GC系统
    什么是GC?GC(GarbageCollection)称之为垃圾回收,在JVM的执行引擎中自带这样的一个GC系统,此系统会按照一定的算法对内存进行监控和垃圾回收。如何判断哪些对象是垃圾?1、引用......
  • [WPF]MVVM的数据绑定
    啥是MVVM?我理解的MVVM是Model(数据),View(界面),ViewModel(数据与界面之间的桥梁)的缩写,是一种编程模式。前期需要多花一些时间去编辑绑定,在后期维护方便。只需要关注数据即可。如......
  • WPF中MVVM模式下loaded无法触发问题
    经过实践检测,当时View上设置了Window.SizeToContent="WidthAndHeight"时候<i:Interaction.Triggers><i:EventTriggerEventName="Loaded"><i:Invoke......