使用Azure Monitor快速构建OS内部指标监控平台

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:云科技网络

小提示:您能找到这篇{使用Azure Monitor快速构建OS内部指标监控平台}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的使用Azure Monitor快速构建OS内部指标监控平台内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">Azure Monitor可以用于收集、分析和处理来自云与本地环境的遥测数据的综合解决方案,支持将应用程序和服务的可用性最大化。帮助企业了解应用程序的性能,并主动识别影响应用程序及其所依赖资源的问题。

< ">Azure Monitor作为云上监控服务,通过为用户提供指标、日志、应用见解以及告警等多种功能,方便用户对数据以及日志进行监控以及查询。其中对操作系统的指标监控,几乎是每一个Azure用户都会用到的功能。本篇我们将邀请微软云解决方案架构师为大家介绍,如何使用Azure Monitor快速构建OS内部指标监控平台。

< ">Azure Monitor配置自定义指标说明

< ">很多企业可能有注意到,默认情况下,Azure Monitor其实看不到磁盘和内存的指标。其实这主要是因为Azure产品的设计理念:将安全放在首位。内存和磁盘这类指标在虚拟化层取不到,我们给客户分配了多大的内存,操作系统就实实在在拥有了多大的内存,但操作系统内给程序分配多少内存,还剩多少空闲内存,这些信息都属于系统内部的信息,Azure不会主动去抓取客户的任何数据,因此我们无法探知到客户操作系统内的内存使用情况,除非客户主动将这些信息发布到Azure监控平台。当客户将内存信息发布到Azure上的时候,这就相当于发布了自定义指标,不在Azure标准服务指标之内,Azure后台要存储这些数据点,尤其是有成千上万的客户,每个客户每一秒钟都有成百上千的机器发布各种指标,这些信息对于Azure后台的服务器也产生了很大的压力,需要大量的服务器存储和处理这类新增数据,因此这种指标是收费的。



< ">那么对于像磁盘以及内存等这种常用的指标,是否有比较简单的办法将其发布到Azure Monitor中呢?答案是肯定的。借助于Azure VM的Diagnostic settings(诊断设置)功能,用户可以轻松将Windows或Linux的指标发送到Azure Monitor上,之后在Azure Monitor的Portal中就可以直接看到。但需要注意的是:该指标实际上是存储在Azure Storage Account的Table Store中,虽然Azure Monitor Portal上可以看到这个指标,但通过Azure Monitor的API查询不到自定义指标(REST API和Azure CLI均查不到,其他SDK也一样)。为了能够查询到内存和磁盘的指标,Windows VM可以在配置Diagnostics settings的时候启用Sinks功能,将自定义指标保存到Azure Monitor服务中;Linux VM需要配置telegraf来发送指标。

< ">Windows VM指标发送到Azure Monitor

< ">接下来,我们为大家演示,如何将Windows VM的指标发送到Azure Monitor:

< ">1.在VM的”Diagnostic settings”界面,选择或创建一个存储账号,然后点击“Enable guest-level monitoring”.

< ">2.之后在Azure Monitor Metrics里面,可以看到Metric Namespace中多了一个叫做“Guest(classic)”的命名空间,在此命名空间中,可以看到操作系统内部细粒度的指标。但是此时,使用Azure CLI或者API查询Azure Monitor Metrics,并不能得到对应的指标。此时在Storage Account的Table Store中,可以看到多了几张表,刚看到的Metrics则存放在“WADPerformanceCountersTable”这张表中

< ">3.通过Table Store的API接口或使用Storage Explorer查询这张表,就可以获得对应的指标值

< ">4.但如果想要通过Azure Monitor的接口进行查询呢?我们就需要对Windows VM配置Sinks功能。在配置Sinks之前,需要先给VM添加一个Managed Identity,这样VM才有权限访问到Azure Monitor服务。

< ">给VM配置Identity非常简单,在VM的Identity界面,将Status设置为On就可以了。

< ">5.之后在”Diagnostic settings”中,将”Send diagnostic data to Azure Monitor”设置为“Enabled”(如有需要,也可以启用“Send diagnostic data to Application Insights”),之后点击保存

< ">6.启用向Azure Monitor发送诊断数据之后,在Metric Namespace中会多一个“Virtual Machine Guest”的命名空间,这个命名空间下的指标数据可以通过Azure Monitor的API查询。

< ">7.通过Azure CLI查询VM的System/Process进程数



< ">az monitor metrics list--resource/subscriptions/{SubscriptionID}/resourceGroups/wins/providers/Microsoft.Compute/virtualMachines/win-dc--start-time 2020-09-02T02:00:00Z--end-time 2020-09-02T02:04:00Z--interval PT1M--namespace'Azure.VM.Windows.GuestMetrics'--metric"SystemProcesses"

< ">Windows Diagnostics settings的namespace名字为"Azure.VM.Windows.GuestMetrics",该命名空间可以通过下面的REST API获得:

< ">GET

< ">https://management.azure.com/{resourceUri}/providers/microsoft.insights/metricNamespaces?api-version=2017-12-01-preview

< ">Linux VM的指标发送到Azure Monitor

< ">对于Linux VM,大家会发现在”Diagnostic settings”界面,并没有Sinks功能。我们可以通过在操作系统内安装telegraf软件,并在VM上配置Identity(和上述Windows VM配置一样,本次不再赘述),之后telegraf就会将操作系统内部指标发送到Azure Monitor上。

< ">以Ubuntu 18.04为例,安装和配置Telegraf的过程如下:

< ">1.登录到Ubuntu操作系统,下载并安装telegraf软件

< ">#download the package to the VM

< ">wget https://dl.influxdata.com/telegraf/releases/telegraf_1.8.0~rc1-1_amd64.deb

< ">#install the package

< ">sudo dpkg-i telegraf_1.8.0~rc1-1_amd64.deb

< ">2.默认情况下,telegraf的配置文件存放在/etc/telegraf/telegraf.conf,您也可以自定义这个文件,比如创建一个统计cpu和内存指标的配置文件

< ">#generate the new Telegraf config file in the current directory

< ">telegraf--input-filter cpu:mem--output-filter azure_monitor config&gt;azm-telegraf.conf

< ">#replace the example config with the new generated config

< ">sudo cp azm-telegraf.conf/etc/telegraf/telegraf.conf

< ">3.重启一下teletraf服务,使其应用最新的配置文件

< ">#stop the telegraf agent on the VM

< ">sudo systemctl stop telegraf

< ">#start the telegraf agent on the VM to 微信的小程序在哪儿ensure it picks up the latest configuration

< ">sudo systemctl start telegraf

< ">完成上述操作后,在Azure Monitor中即可看到都了两个Namespace,分别为“telegraf/mem”和“telegraf/cpu”,我们可以在Azure Portal上查看对应的指标值。同样,我们也可以利用Azure Monitor的API或CLI命令进行查询信息流优化怎么做

< ">示例:查询Linux VM内存buffered值



< ">az monitor metrics list--resource/subscriptions/{SubscriptionID}/resourceGroups/xiangliu_csa/providers/Microsoft.Compute/virtualMachines/gitlab--start-time 2020-09-02T02:30:00Z--end-time 2020-09-02T02:35:00Z--interval PT1M--namespace'telegraf/mem'--metric'buffered'

< ">小结

< ">Azure提供了各种丰富的云资源,并针对各种服务提供了多种插件,大家在使用的时候可以借助这些云原生的服务及插件来快速构建自己的系统。事实上,Azure Monitor也可以与很多第三方工具集成,如Grafana,ELK,DataDog,LogicMonitor等。本文只揭开了Azure Monitor功能的冰山一角,大家也可以点击文末阅读原文,浏览Azure Monitor官方技术文档,了解更多信息。

使用Azure Monitor快速构建OS内部指标监控平台

上一篇:谷歌流量分析工具Google Analytics使用方法指南教程
下一篇:家装建材行业投放YouTube视频广告能不能带来询盘


版权声明:以上主题为“使用Azure Monitor快速构建OS内部指标监控平台"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    使用Azure Monitor快速构建OS内部指标监控平台
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“使用Azure Monitor快速构建OS内部指标监控平台”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通使用Azure Monitor快速构建OS内部指标监控平台的相关事宜。

关键词:使用Azure,Monitor快速构建

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号