为确保 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”的资源组。

Azure CLI复制
az group create --name myResourceGroupMonitor --location chinaeast

现在,请使用 az vm create 创建 VM。 以下示例创建一个名为 myVM 的 VM:

Azure CLI复制
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 命令创建存储帐户。 本示例使用一个随机字符串来创建唯一的存储帐户名称。

Azure CLI复制
storageacct=mydiagdata$RANDOM

az storage account create \
--resource-group myResourceGroupMonitor \
--name $storageacct \
--sku Standard_LRS \
--location chinaeast

启用引导诊断时,需要 Blob 存储容器的 URI。 以下命令查询存储帐户以返回此 URI。 URI 值存储在名为 bloburi 的变量中,将在下一步骤中使用。

Azure CLI复制
bloburi=$(az storage account show --resource-group myResourceGroupMonitor --name $storageacct --query 'primaryEndpoints.blob' -o tsv)

现在,请使用 az vm boot-diagnostics enable 启用启动诊断。 --storage 值是在上一步骤中收集的 Blob URI。

Azure CLI复制
az vm boot-diagnostics enable \
--resource-group myResourceGroupMonitor \
--name myVM \
--storage $bloburi

查看启动诊断

启用引导诊断后,每当停止再启动 VM 时,会将有关启动过程的信息写入日志文件。 本示例首先使用 az vm deallocate 命令解除分配 VM,如下所示:

Azure CLI复制
az vm deallocate --resource-group myResourceGroupMonitor --name myVM

现在,请使用 az vm start 命令启动 VM,如下所示:

Azure CLI复制
az vm start --resource-group myResourceGroupMonitor --name myVM

可以使用 az vm boot-diagnostics get-boot-log 命令获取 myVM 的启动诊断数据,如下所示:

Azure CLI复制
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 门户安装的,如下所述:

  1. 在 Azure 门户中,单击“资源组”,选择“myResourceGroup”,然后在资源列表中选择“myVM”。
  2. 单击“诊断设置”。 列表中将显示已在上一部分中启用的“启动诊断”。 单击“基本指标”对应的复选框。
  3. 在“存储帐户”部分中,浏览到在上一部分创建的 mydiagdata[1234] 帐户并将其选中。
  4. 单击“保存”按钮 。

创建警报

可以根据特定的性能指标创建警报。 例如,当平均 CPU 使用率超过特定的阈值或者可用磁盘空间低于特定的空间量时,警报可用于发出通知。 警报显示在 Azure 门户中,也可以通过电子邮件发送。 还可以触发 Azure 自动化 Runbook 或 Azure 逻辑应用来响应生成的警报。

以下示例针对平均 CPU 使用率创建警报。

  1. 在 Azure 门户中,单击“资源组”,选择“myResourceGroup”,然后在资源列表中选择“myVM”。
  2. 在 VM 边栏选项卡上单击“警报规则”,然后单击警报边栏选项卡顶部的“添加指标警报”。
  3. 为警报提供名称,例如 myAlertRule
  4. 若要在 CPU 百分比持续 5 分钟超过 1.0 时触发警报,请选中其他所有默认值。
  5. (可选)选中“电子邮件所有者、参与者和读者”对应的框,以便向他们发送电子邮件通知。 默认操作是在门户中显示通知。
  6. 单击“确定”按钮。

后续步骤

在本教程中,将配置、审核和管理虚拟机更新。 你已了解如何:

  • 在 VM 上启用启动诊断
  • 查看启动诊断
  • 在 VM 上启用诊断扩展
  • 基于诊断指标创建警报          

    立即访问http://market.azure.cn

如何监视和更新 Azure 中的 Linux 虚拟机的更多相关文章

  1. 如何在 Azure 中均衡 Linux 虚拟机负载以创建高可用性应用程序

    负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...

  2. 在 Azure 中备份 Linux 虚拟机

    可以通过定期创建备份来保护数据. Azure 备份可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中. 从恢复点还原时,可以还原整个 VM,或只是还原特定的文件. 本文介绍如何将单个文件还原到运行 ...

  3. 在 Azure 中的 Linux 虚拟机上使用 SSL 证书保护 Web 服务器

    若要保护 Web 服务器,可以使用安全套接字层 (SSL) 证书来加密 Web 流量. 这些 SSL 证书可存储在 Azure Key Vault 中,并可安全部署到 Azure 中的 Linux 虚 ...

  4. 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈

    本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...

  5. 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像

    Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...

  6. 使用Azure CLI创建Linux虚拟机

    Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Lin ...

  7. 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构

    若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...

  8. 如何在 Azure 中的 Linux 经典虚拟机上设置终结点

    在 Azure 中使用经典部署模型创建的所有 Linux 虚拟机都可以通过专用网络通道与同一云服务或虚拟网络中的其他虚拟机自动通信. 但是,Internet 或其他虚拟网络中的计算机需要终结点将入站网 ...

  9. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

     发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...

随机推荐

  1. thinkphp 实现rabbitMq常驻进程消费队列

    1,项目一级目录新建一个server文件 #!/usr/bin/env php <?php try { require __DIR__ . "/start.php"; } c ...

  2. 【数组】Search Insert Position

    题目: Given a sorted array and a target value, return the index if the target is found. If not, return ...

  3. notepad++中设置python运行

    1. Notepad++ ->"运行"菜单->"运行"按钮 2. 在弹出的窗口内输入以下命令: cmd /k python "$(FULL ...

  4. Eclipse *的下载(图文详解)

    不多说,直接上干货! 简单了解,Eclipse是绿色软件,下载下来是个压缩包,只需要解压,加上jdk就可以运行了. 相比MyEclipse而言,它是免费的,后者是收费的.各有侧重吧 有很多人用Ecli ...

  5. wp-postviews使用方法

    1.安装 2.头部引用<?php wp_head(); ?> 3.文章调用:<?php if(function_exists('the_views')) { the_views(); ...

  6. springcloud-01-介绍

    跟随springcloud的一套视频学习springcloud, 把学到的记录下来, 方便自己, 方便别人 IDE: idea 一个父工程, 其他均为module 父工程的依赖: <parent ...

  7. Mycat常见错误

    Mycat常见错误 1.  问题: schema myinvoice didn't config tables,so you must set dataNode property! 解决:在schem ...

  8. Ionic3与Angular4新特性

    之前(17年3月底)Angular4.0.0正式发布,这个月(4月十几号)Ionic3又发布了,很多人看到这个估计都是一脸懵圈,其实,Angular4只是Angular2的后续版本,Ionic3也是I ...

  9. SQL Server数据类型转换方法

    在SQL Server日常的函数.存储过程和SQL语句中,经常会用到不同数据类型的转换.在SQL Server有两种数据转换类型:一种是显性数据转换:另一种是隐性数据转换.下面分别对这两种数据类型转换 ...

  10. sqlserver中调用服务器中的webservice接口

    declare @ServiceUrl as varchar(1000) declare @UrlAddress varchar(500)--WebService地址:以http开头,结尾带斜杠,例如 ...