如何监视和更新 Azure 中的 Linux 虚拟机
为确保 Azure 中的虚拟机 (VM) 正常运行,可以查看启动诊断、性能指标,并管理程序包更新。 本教程介绍如何执行下列操作:
- 在 VM 上启用启动诊断
- 查看启动诊断
- 在 VM 上启用诊断扩展
- 基于诊断指标创建警报
Note
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud 来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud。
如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.4 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 2.0。
创建 VM
若要查看诊断和指标的状态,需要创建一个 VM。 首先,使用 az group create 创建资源组。 以下示例在“chinaeast”位置创建名为“myResourceGroupMonitor”的资源组。
az group create --name myResourceGroupMonitor --location chinaeast
现在,请使用 az vm create 创建 VM。 以下示例创建一个名为 myVM 的 VM:
az vm create \
--resource-group myResourceGroupMonitor \
--name myVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
启用启动诊断
Linux VM 启动时,启动诊断扩展将捕获启动输出并将其存储在 Azure 存储中。 此数据可以用于排查 VM 启动问题。 使用 Azure CLI 创建 Linux VM 时,不会自动启用启动诊断。
在启用启动诊断之前,需要创建一个存储帐户来存储启动日志。 存储帐户的名称必须全局唯一,介于 3 和 24 个字符之间,并且只能包含数字和小写字母。 使用 az storage account create 命令创建存储帐户。 本示例使用一个随机字符串来创建唯一的存储帐户名称。
storageacct=mydiagdata$RANDOM
az storage account create \
--resource-group myResourceGroupMonitor \
--name $storageacct \
--sku Standard_LRS \
--location chinaeast
启用引导诊断时,需要 Blob 存储容器的 URI。 以下命令查询存储帐户以返回此 URI。 URI 值存储在名为 bloburi 的变量中,将在下一步骤中使用。
bloburi=$(az storage account show --resource-group myResourceGroupMonitor --name $storageacct --query 'primaryEndpoints.blob' -o tsv)
现在,请使用 az vm boot-diagnostics enable 启用启动诊断。 --storage 值是在上一步骤中收集的 Blob URI。
az vm boot-diagnostics enable \
--resource-group myResourceGroupMonitor \
--name myVM \
--storage $bloburi
查看启动诊断
启用引导诊断后,每当停止再启动 VM 时,会将有关启动过程的信息写入日志文件。 本示例首先使用 az vm deallocate 命令解除分配 VM,如下所示:
az vm deallocate --resource-group myResourceGroupMonitor --name myVM
现在,请使用 az vm start 命令启动 VM,如下所示:
az vm start --resource-group myResourceGroupMonitor --name myVM
可以使用 az vm boot-diagnostics get-boot-log 命令获取 myVM 的启动诊断数据,如下所示:
az vm boot-diagnostics get-boot-log --resource-group myResourceGroupMonitor --name myVM
安装诊断扩展
Important
本文档介绍 Linux 诊断扩展 2.3 版(已弃用)。 2.3 版的有效支持期至 2018 年 6 月 30 日。
可以改为启用 Linux 诊断扩展 3.0 版。 有关详细信息,请参阅文档。
可以使用基本的主机指标,但若要查看更详细的指标和 VM 特定的指标,需在 VM 上安装 Azure 诊断扩展。 使用 Azure 诊断扩展可从 VM 检索其他监视数据和诊断数据。 可以查看这些性能指标,并根据 VM 的性能情况创建警报。 诊断扩展是通过 Azure 门户安装的,如下所述:
- 在 Azure 门户中,单击“资源组”,选择“myResourceGroup”,然后在资源列表中选择“myVM”。
- 单击“诊断设置”。 列表中将显示已在上一部分中启用的“启动诊断”。 单击“基本指标”对应的复选框。
- 在“存储帐户”部分中,浏览到在上一部分创建的 mydiagdata[1234] 帐户并将其选中。
单击“保存”按钮 。

创建警报
可以根据特定的性能指标创建警报。 例如,当平均 CPU 使用率超过特定的阈值或者可用磁盘空间低于特定的空间量时,警报可用于发出通知。 警报显示在 Azure 门户中,也可以通过电子邮件发送。 还可以触发 Azure 自动化 Runbook 或 Azure 逻辑应用来响应生成的警报。
以下示例针对平均 CPU 使用率创建警报。
- 在 Azure 门户中,单击“资源组”,选择“myResourceGroup”,然后在资源列表中选择“myVM”。
- 在 VM 边栏选项卡上单击“警报规则”,然后单击警报边栏选项卡顶部的“添加指标警报”。
- 为警报提供名称,例如 myAlertRule
- 若要在 CPU 百分比持续 5 分钟超过 1.0 时触发警报,请选中其他所有默认值。
- (可选)选中“电子邮件所有者、参与者和读者”对应的框,以便向他们发送电子邮件通知。 默认操作是在门户中显示通知。
- 单击“确定”按钮。
后续步骤
在本教程中,将配置、审核和管理虚拟机更新。 你已了解如何:
- 在 VM 上启用启动诊断
- 查看启动诊断
- 在 VM 上启用诊断扩展
- 基于诊断指标创建警报
立即访问http://market.azure.cn
如何监视和更新 Azure 中的 Linux 虚拟机的更多相关文章
- 如何在 Azure 中均衡 Linux 虚拟机负载以创建高可用性应用程序
负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...
- 在 Azure 中备份 Linux 虚拟机
可以通过定期创建备份来保护数据. Azure 备份可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中. 从恢复点还原时,可以还原整个 VM,或只是还原特定的文件. 本文介绍如何将单个文件还原到运行 ...
- 在 Azure 中的 Linux 虚拟机上使用 SSL 证书保护 Web 服务器
若要保护 Web 服务器,可以使用安全套接字层 (SSL) 证书来加密 Web 流量. 这些 SSL 证书可存储在 Azure Key Vault 中,并可安全部署到 Azure 中的 Linux 虚 ...
- 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈
本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...
- 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...
- 使用Azure CLI创建Linux虚拟机
Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Lin ...
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...
- 如何在 Azure 中的 Linux 经典虚拟机上设置终结点
在 Azure 中使用经典部署模型创建的所有 Linux 虚拟机都可以通过专用网络通道与同一云服务或虚拟网络中的其他虚拟机自动通信. 但是,Internet 或其他虚拟网络中的计算机需要终结点将入站网 ...
- 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境
发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...
随机推荐
- 别被官方文档迷惑了!这篇文章帮你详解yarn公平调度
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由@edwinhzhang发表于云+社区专栏 FairScheduler是yarn常用的调度器,但是仅仅参考官方文档,有很多参数和概念文 ...
- Python 工匠:善用变量来改善代码质量
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:朱雷 | 腾讯IEG高级工程师 『Python 工匠』是什么? 我一直觉得编程某种意义上是一门『手艺 ...
- json-lib使用——JSONObject与JSONArray
ps:看这篇博客之前首先要引入工具包json-lib-2.2.2-jdk15.jar 资源链接:百度云:链接:https://pan.baidu.com/s/1o9k7PSu 密码:00lj 一.从O ...
- Spring AOP 的实现
软件152 余建强 1 使用 API 实现 AOP 新建一个用户接口:UserService package com.cqvie.aop.api; public interface UserServi ...
- 编写高质量JavaScript代码的68个有效方法
简介: <Effective JavaScript:编写高质量JavaScript代码的68个有效方法>共分为7章,分别涵盖JavaScript的不同主题.第1章主要讲述最基本的主题,如版 ...
- Hive中自定义Map/Reduce示例 In Python
Hive支持自定义map与reduce script.接下来我用一个简单的wordcount例子加以说明.使用Python开发(如果使用Java开发,请看这里). 开发环境: python:2.7.5 ...
- Spring----最小化Spring配置
在Spring的配置文件中,我们可以使用<bean>元素定义Bean,以及使用<constructor-arg>或着<property>元素装配bean,这对于包含 ...
- sql中根据逗号分隔,查出多行数据
--sql中根据逗号分隔,查出多行数据 select a.DiscussID,b.LocationID from (select DiscussID,LocationID=c ...
- cefsharp 在anycpu下运行
从cefsharp57开始就支持anycpu了,不过需要一些设置: 1.首先要打开*.csprj文件,添加节点 <CefSharpAnyCpuSupport>true</CefSha ...
- WinForm通过操作注册表实现限制软件使用次数的方法
1.创建注册表文件: 打开记事本,输入一些内容: ? 1 2 3 REGEDIT4 [HKEY_CURRENT_USER/Software/MyRegDataApp] "UseTime&qu ...