监控虚拟机上的进程数量

本文档介绍如何使用 Google Cloud 控制台创建提醒 政策监控集群中运行的进程数量, 满足您指定的条件的虚拟机 (VM)。这种类型的 提醒政策有时称为 process-health 提醒政策。 例如,您可以统计根用户启动的进程数量。 您还可以计算包含其调用命令的进程数 特定字符串。提醒政策可以在发生以下情况时通知您: 进程数量超过或小于阈值。 如需了解可以监控的进程, 请参阅受监控的进程

此内容不适用于基于日志的提醒政策。了解基于日志的提醒政策,这些政策会在发生以下情况时通知您: 特定消息出现在您的日志中,请参阅 监控日志

准备工作

  1. 如需获取使用 Google Cloud 控制台创建和修改提醒政策所需的权限, 请让管理员向您授予 项目的 Monitoring Editor (roles/monitoring.editor) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

    如需详细了解 Cloud Monitoring 角色, 请参阅使用 Identity and Access Management 控制访问权限

  2. 确保您熟悉提醒政策的一般概念。 有关这些主题的信息,请参阅 提醒概览

  3. 配置您要用来接收任何通知的通知渠道 提醒。为实现冗余,我们还建议您 多种类型的通知渠道。有关这些步骤的信息 请参阅创建和管理通知渠道

  4. 确保您已在所需虚拟机上安装 Ops Agent 监控指标。如需了解详情,请参阅 Google Cloud Observability 代理

创建提醒政策

要创建提醒政策,以监控在 使用 Cloud Monitoring API 创建虚拟机,过滤条件表达式必须指定 时序选择器。有关指定以下内容的 JSON 文件示例: 请参阅进程运行状况政策

要创建提醒政策,以监控在 请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 选择创建政策
  3. 选择 ?(在选择指标部分的标题中),然后选择提示中的直接过滤模式

  4. 输入 Monitoring 过滤条件。

    例如,如需计算名称包含 nginx 的 Compute Engine 虚拟机实例上运行的进程数,请输入以下命令:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    如需语法信息,请参阅以下资源:

  5. 填写提醒政策。您必须配置条件触发器 通知、文档和政策名称 然后点击创建政策

    如需了解详情,请参阅创建指标阈值提醒政策

受监控的进程

系统中并非所有进程都可通过进程运行状况条件进行监控。此条件可通过使用调用进程的命令行的正则表达式来选择要监控的进程。命令行字段不可用时,无法监控该进程。

确定进程是否可由进程运行状况条件监控的一种方法 查看活跃进程例如,在 Linux 系统上 可以使用 ps 命令:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

COMMAND 条目用方括号括起来时(例如 [nfsd]): 无法获取该进程的命令行信息。在这种情况下 您无法使用 Cloud Monitoring 来监控该进程。