mcpField
C
cloud-network-insights

cloud-network-insights

github.com/google云与 DevOps21.6k258 次安装今天更新
代码仓库

关于 cloud-network-insights

cloud-network-insights 是用于 Google Cloud Cloud Network Insights 与 Broadcom AppNeta 的运维技能,面向负责网络监控的团队。它涵盖服务启用、监控点部署、策略配置、路径验证及告警排查。

主要功能

  1. 01启用并检查服务状态
  2. 02部署及诊断监控点
  3. 03配置网络与 Web 监控策略
  4. 04验证网络和 Web 路径
  5. 05查询告警、日志及指标

适用场景

  1. 01启用 Cloud Network Insights 并检查提供方状态
  2. 02在目标环境部署监控点并排查离线问题
  3. 03配置合成网络或 Web 测试并验证路径
  4. 04查询路径告警和性能指标

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/google/skills --skill cloud-network-insights

安装后在 Claude Code 中输入/cloud-network-insights确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
attribution.md
monitoring-point-deployment.md
monitoring-policies.md

详细介绍

Cloud Network Insights

归属信息

使用此技能执行命令时,所有 gcloud CLI、REST API 和 MCP 归属要求均遵循 使用归属信息中的说明。

🛑 核心指令:结果优先

  1. 识别所请求的任务:确定用户是否要启用服务、检查激活状态、下载/安装或排查 Monitoring Points(MP),配置 AppNeta 监控策略或告警规则,验证已配置的资源和路径,配置告警策略,或查询 Cloud Logging 告警和 Cloud Monitoring 指标。
  2. 执行并呈现:执行完成任务所需的最少命令或 API 调用,或提供准确的操作指引。
  3. 给出明确答案:对于状态和验证查询,立即报告确定状态(例如 ACTIVE、ACTIVATING 或路径列表)。

概述

Cloud Network Insights 与 Broadcom AppNeta 合作,提供全面的合成监控,以实现跨云网络可观测性。它通过安装在 Google Cloud、本地数据中心、其他公有云(如 AWS 或 Azure)以及公共互联网中的 Monitoring Points(MP),监控网络和 Web 路径。

此技能可自动执行入门设置、服务启用、Monitoring Point 部署、策略创建和路径验证。

流程和 CUJ

1. 服务启用和状态
  • 启用 API:

    gcloud services enable networkmanagement.googleapis.com --project=PROJECT_ID
    
  • 创建提供方(使用 external 以匹配 Google Cloud 控制台默认值,或使用自定义的 PROVIDER_ID):

    gcloud network-management network-monitoring-providers create PROVIDER_ID \
      --provider-type=EXTERNAL \
      --location=global \
      --project=PROJECT_ID
    

    ⚠️ 如果此命令因未接受服务条款而失败,请引导用户前往 Google Cloud 控制台入门设置页面: https://console.cloud.google.com/net-intelligence/cloud-network-insights/onboarding?project=PROJECT_ID

  • 验证状态:

    gcloud network-management network-monitoring-providers \
      describe PROVIDER_ID \
      --location=global \
      --project=PROJECT_ID \
      --format=json
    

    检查 .state 是否为 ACTIVE。(ACTIVATING 表示后端正在配置 AppNeta 资源。)

  • 删除提供方(清理):

    gcloud network-management network-monitoring-providers delete PROVIDER_ID \
      --location=global \
      --project=PROJECT_ID
    
2. Monitoring Point 部署和验证

Cloud Network Insights 支持 7 种不同的 Monitoring Point 部署类型: container、helm、gce-vm、aws-ec2、azure-vm、vmware 和 kvm。

  • 选择平台:绝不假设默认部署类型。开始操作前,先确认或询问用户的目标环境。
  • 流程和命令:有关所有必需参数、下载命令、部署清单和状态验证命令(monitoring-points list),请参阅 Monitoring Point 部署参考。
3. 监控策略和告警规则配置(AppNeta)

监控策略用于配置由监控点执行的主动合成网络和 Web 测试,告警规则则定义触发路径告警的阈值和评估时间窗。

  • 策略类型(/api/v4/monitoringPolicy):
    • 网络监控策略:通过 TCP 或 UDP 监控目标 IP 的丢包率、延迟和抖动(也可在监控点之间进行双端监控)。
    • Web 监控策略:合成 HTTP/HTTPS 应用检查(例如,发送 GET 请求并断言状态码为 200)。
  • 创建前检查:始终先查询 GET /api/v4/monitoringPolicy,确认是否已存在具有目标名称的策略,再创建新策略,以避免重复创建资源和 API 冲突。
  • 告警规则(仅限 AppNeta Web UI):告警规则需在 AppNeta Web UI 中配置(在 Alarms > Alarm Rules 下;请参阅Broadcom 告警规则),REST API v4 不支持此功能。
  • 操作步骤和负载:有关身份验证令牌生成、组织发现和 REST JSON 负载,请参阅监控策略配置参考。
4. 在 Google Cloud 中验证已配置的路径

配置好策略且 MP 上线后,请验证已配置的路径:

  • 列出网络路径:

    gcloud network-management network-monitoring-providers network-paths list \
      --network-monitoring-provider=PROVIDER_ID \
      --location=global \
      --project=PROJECT_ID \
      --format=json
    
  • 列出 Web 路径:

    gcloud network-management network-monitoring-providers web-paths list \
      --network-monitoring-provider=PROVIDER_ID \
      --location=global \
      --project=PROJECT_ID \
      --format=json
    
5. 查询 Cloud Network Insights 资源和状态
  1. 查找服务提供商名称:运行 gcloud network-management network-monitoring-providers list --location=global --project=PROJECT_ID 获取服务提供商 ID(PROVIDER_ID)。通过 Google Cloud 控制台启用时,服务提供商 ID 为 external;手动创建时则为自定义名称。
  2. 查询子资源:在子资源命令(例如 list 和 describe)中传入 --network-monitoring-provider=PROVIDER_ID 和 --location=global:
    • 监控点:gcloud network-management network-monitoring-providers monitoring-points [list|describe]
    • 网络路径:gcloud network-management network-monitoring-providers network-paths [list|describe]
    • Web 路径:gcloud network-management network-monitoring-providers web-paths [list|describe]
6. 警报策略、Cloud Logging 和 Cloud Monitoring 指标
  • 警报策略(gcloud monitoring policies):创建与日志匹配的警报 策略(POLICY_FILE 中的 conditionMatchedLog.filter,包括 alertStrategy.notificationRateLimit),用于路径警报和 运维事件(请参阅 设置警报和通知)。 对于 insights_alarm 策略,默认包含 AND NOT jsonPayload.noise_conditions:*,以过滤频繁/突发噪声,除非用户要求包含嘈杂警报:

    # 从 JSON 或 YAML 文件创建警报策略
    gcloud monitoring policies create --project=PROJECT_ID \
      --policy-from-file=POLICY_FILE
    
    # 删除警报策略(用于清理)
    gcloud monitoring policies delete POLICY_ID \
      --project=PROJECT_ID \
      --quiet
    

    Google Cloud 控制台警报模板的 conditionMatchedLog.filter 示例:

    • 网络路径中断/持续丢包/DNS 错误:

      resource.type = "networkmanagement.googleapis.com/NetworkPath" AND logName =~ "insights_alarm" AND (jsonPayload.alarm_severity = "MAJOR" OR jsonPayload.alarm_severity = "CRITICAL") AND jsonPayload.state = "RAISED" AND jsonPayload.alarm_type =~ "QUALITY_OF_SERVICE" AND jsonPayload.rule =~ "Outage" AND NOT jsonPayload.noise_conditions:*
      

      (根据需要,将 jsonPayload.rule =~ "Extended loss" 或 "Multiple DNS errors" 替换为 alarm_severity = "MINOR"。)

    • Web 路径中多个 Web 错误:

      resource.type = "networkmanagement.googleapis.com/WebPath" AND logName =~ "insights_alarm" AND jsonPayload.alarm_severity = "MAJOR" AND jsonPayload.state = "RAISED" AND jsonPayload.alarm_type =~ "QUALITY_OF_SERVICE" AND jsonPayload.rule =~ "Multiple Web errors" AND NOT jsonPayload.noise_conditions:*
      
    • 监控点离线和网络路径 MTU 变更事件:

      resource.type = "networkmanagement.googleapis.com/MonitoringPoint" AND logName =~ "insights_event" AND jsonPayload.event_type = "MONITORING_POINT_OFFLINE"
      
      resource.type = "networkmanagement.googleapis.com/NetworkPath" AND logName =~ "insights_event" AND jsonPayload.event_type = "MTU_CHANGE"
      
  • Cloud Logging(gcloud logging read):查询导出到 Cloud Logging 的路径警报(logName =~ "insights_alarm")和运维生命周期事件(logName =~ "insights_event")(有关 jsonPayload 字段架构和事件类型,请参阅 设置日志记录)。 由于警报状态转换(RAISED、UPDATED、CLEARED)会作为独立条目记录, 且这些条目共享相同的 jsonPayload.alarm_id,因此请检查某个 alarm_id 的最新条目是否已转换为 CLEARED,以确定当前仍有效的警报。

  • Cloud Monitoring(REST API projects.timeSeries.list):在 Cloud Monitoring 中,通过 GET "https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries" 查询路径 性能指标(NetworkPath 和 WebPath,按 resource.labels.path_id 过滤),并使用 Authorization: Bearer $(gcloud auth application-default print-access-token)(请参阅 监控指标 和 查看信息中心)。

7. 部署诊断与故障排查

要诊断任何平台上的监控点部署:

  1. Google Cloud 注册:在 monitoring-points list(或 describe)中检查 connectionStatus 是否为 ONLINE,以确认监控点已注册并连接到 Cloud Network Insights。
  2. 特定型号的工作负载、主机和设备运行状况:使用监控点部署参考、Broadcom 监控点故障排查和Cloud Network Insights 故障排查中的型号专属故障排查指南,检查目标平台上的监控点运行时、容器/Kubernetes 工作负载或 v35 Web 管理状态。
  3. 网络、代理和防火墙规则:根据Broadcom 防火墙配置和添加监控点,验证目标环境中的防火墙、Web 代理、自定义 CA 证书,以及 gRPC/SSL 检查绕过设置(data.na1.cni.appneta.com、content.na1.cni.appneta.com、comms.na1.cni.appneta.com,或 Private Service Connect 的 .p. 端点)。

参考文档

有关详细指南、完整负载和模板,请参阅:

评论

支持 Markdown