本页介绍了 Cloud Network Insights 如何与 AppNeta 集成以生成提醒,以及这些提醒如何发送到 Google Cloud 以进行分析、查看和创建提醒政策。
日志记录和提醒任务在 Google Cloud 和 AppNeta 之间分配。Cloud Network Insights 日志记录会跟踪监控点收集的指标何时违反您在 AppNeta 中通过警报规则配置的阈值。
在 AppNeta 中创建警报和警报规则,以生成警报日志。然后,将闹钟日志和事件日志导出到 Cloud Logging。 然后,您可以使用提醒政策在发生网络突发事件时发送提醒和通知。
准备工作
您必须先部署监控点,然后才能创建报警规则。
AppNeta 中的警报
警报和警报规则是在 AppNeta 中创建的。警报会在网络出现问题时通知您。如果您跟踪的指标(例如延迟时间)在特定时间间隔内超过设定的阈值,则表示违反了警报规则。您可以选择在发生一次违规后或在设定的时间间隔内发生多次违规后触发警报。
例如,如果延迟时间在 3 分钟内两次超过 160 毫秒,您可以将闹钟设置为触发警告。此闹钟会以日志的形式发送到 Google Cloud 。日志到达 Cloud Logging 后,您可以针对该日志发送提醒并通知您的团队。
如需详细了解提醒,请参阅 AppNeta 文档中的提醒概览或提醒 - 最佳实践。
在 AppNeta 中创建警报规则
创建用于定义性能阈值的提醒规则。
打开 Google Cloud 控制台,然后依次前往网络智能 > Cloud Network Insights > 提醒政策。
点击 Create Alarm Rules(创建警报规则),在 AppNeta 中打开 Alarm Rule Edit(警报规则编辑)页面。
定义规则,指定指标、阈值、违规策略和严重程度。您可以使用默认规则,也可以自定义规则。
闹钟触发后,闹钟日志会发送到 Cloud Logging。将日志发送到 Google Cloud后,您可以前往 Cloud Network Insights 并设置提醒政策。
如需详细了解如何创建警报规则,请参阅 AppNeta 文档中的警报规则。
查看 Google Cloud中的日志
Cloud Network Insights 会将详细日志导出到 Cloud Logging,以帮助您分析和排查网络性能问题以及重大事件。您可以使用 Logs Explorer 访问这些日志。
在 Google Cloud 控制台中,前往 Logs Explorer 页面。
创建查询以针对相关信息发出提醒。
Cloud Network Insights 日志使用以下任一值作为 logName:
- 闹钟日志 -
networkmanagement.googleapis.com/insights_alarm - 活动日志 -
networkmanagement.googleapis.com/insights_event
如需了解详情,请参阅使用 Logging 查询语言构建和保存查询。
价格
所有 Cloud Network Insights 日志都会写入 Cloud Logging。Cloud Network Insights 不对此服务单独收费。不过,这些日志可能会产生额外的存储费用,具体取决于写入和存储的日志的大小。
如需了解 Cloud Logging 价格,请参阅 Google Cloud Observability 的价格:Cloud Logging。
日志详细信息
虽然每种日志类型的具体详细信息都包含在 jsonPayload 字段中,但其他几个标准 LogEntry 字段对于查询和了解日志至关重要。
闹钟日志
- 日志名称:
networkmanagement.googleapis.com/insights_alarm - 已触发:在满足警报规则的条件时生成。
- 资源标签:描述与日志关联的受监控的资源。这包括以下内容:
type- 资源类型,可以是以下任一类型:networkmanagement.googleapis.com/NetworkMonitoringProvidernetworkmanagement.googleapis.com/MonitoringPointnetworkmanagement.googleapis.com/NetworkPath
labels- 用于标识特定资源实例的键值对,例如resource_container(项目 ID)、location、network_monitoring_provider_id和path_id或monitoring_point_id。
- 关键 JSON 字段:闹钟日志提供有关触发的闹钟的信息。
- 严重程度映射:AppNeta 和 Google Cloud记录严重程度的方式不同。
AppNeta 严重程度 Google Cloud 日志严重程度 严重 严重 高 错误 低 警告 警告 通知
报警日志字段
闹钟日志的 jsonPayload 包含以下字段。
| 字段 | 类型 | 说明 |
|---|---|---|
alarm_id |
字符串 | AppNeta 中相应提醒的唯一标识符。 |
alarm_severity |
枚举 | 闹钟的严重程度。可以是 CRITICAL、MAJOR、MINOR 或 WARNING。 |
alarm_type |
枚举 | 闹钟的类型。支持 QUALITY_OF_SERVICE 类型。 |
cleared_time |
时间戳 | 闹钟被清除的时间。如果闹钟日志的状态为 RAISED 或 UPDATED,则此字段为空。 |
description |
字符串 | 闹钟的人类可读说明。 |
first_violation_time |
时间戳 | 首次违反闹钟条件的时间。 |
item |
对象 | 与闹钟关联的实体。如需了解详情,请参阅常见项结构。 |
provider_link |
字符串 | AppNeta 界面中指向相应警报的超链接。 |
raised_time |
时间戳 | 发出警报的时间。 |
receiveTimestamp |
字符串 | 闹钟在 Google Cloud中的创建时间。 |
rule |
字符串 | 触发闹钟的闹钟规则的名称。 |
state |
枚举 | 闹钟的状态。可以是 RAISED、UPDATED(闹钟详情已在 AppNeta 中更新,但尚未清除)或 CLEARED。 |
timestamp |
字符串 | 警报在 AppNeta 中的创建时间。 |
事件日志
- 日志名称:
networkmanagement.googleapis.com/insights_event - 触发:在发生结构性更改(例如
Route Change、MTU Change或Monitoring Point Offline)时生成。 - 严重程度:始终为
INFO。 - 关键 JSON 字段:事件日志提供有关触发事件的信息。
事件日志字段
事件日志的 jsonPayload 包含以下字段。
| 字段 | 类型 | 说明 |
|---|---|---|
event_detail |
对象 | 特定于事件类型的详细信息。可以为 route_change_event、mtu_change_event 或 qos_change_event。对于没有更多详细信息的事件,系统将返回一个空对象。如需了解详情,请参阅
活动详情字段。 |
event_id |
字符串 | 相应活动的唯一标识符。 |
event_type |
枚举 | 事件类型。可以是 MONITORING_POINT_OFFLINE、MONITORING_POINT_ONLINE、ROUTE_CHANGE、MTU_CHANGE 或 QOS_CHANGE。 |
item |
对象 | 与活动关联的实体。如需了解详情,请参阅常见商品结构。 |
receiveTimestamp |
字符串 | 事件的创建时间(以 Google Cloud为单位)。 |
timestamp |
字符串 | 事件在 AppNeta 中创建的时间。 |
活动详情字段
event_detail 对象包含特定于事件类型的详细信息。根据 event_type 的不同,它包含以下嵌套对象之一:
对于没有更多详细信息的活动,系统会返回一个空对象。
MTU 更改事件 (mtu_change_event)
此对象用于捕获每次修改 MTU 大小时的详细信息。
| 字段 | 类型 | 说明 |
|---|---|---|
new_mtu |
int32 | 新测量的 MTU。 |
previous_mtu |
int32 | 之前的 MTU(如果有)(启动时省略)。 |
QoS 更改事件 (qos_change_event)
此对象会报告所有检测到的路径上的 QoS 重新映射。
| 字段 | 类型 | 说明 |
|---|---|---|
configured_qos |
int32 | 作业设置中配置的 QoS。 |
remapped_qos |
int32 | 检测到路径上的服务质量发生了变化。 |
ip_address |
字符串 | 检测到 QoS 更改的跃点的 IP 地址(如果已知)。 |
路线变更事件 (route_change_event)
该对象用于捕获连续两次 traceroute 之间跃点数或已知 IP 地址序列的差异。
| 字段 | 类型 | 说明 |
|---|---|---|
previous_route_change_time |
时间戳 | 首次检测到上一个路由的 Traceroute 的时间戳。 |
protocol |
字符串 | 用于 traceroute 的协议(例如 TCP、UDP 和 ICMP)。 |
hop_count |
int32 | 路线中的总跳数。 |
target_ip |
字符串 | traceroute 的目标 IP 地址。 |
route_changes |
对象数组 | 包含所有检测到的更改的数组。每个对象都包含一个 route_change_type 字符串和一个 details 对象。请参阅路线更改详情。 |
路线变更详情
route_changes 数组中的 details 对象取决于 route_change_type:
incomplete_route或complete_routeterminal_hop(跃点对象):成功到达的最后一个跃点(如果完成,则为最终跃点)。terminal_network(网络对象):终端跃点的网络信息。
route_loopfirst_hop(跃点对象):检测到的路由环路中的第一个跃点。last_hop(跃点对象):检测到的路由环路中的最后一个跃点。loop_span(int32):环路中涉及的跃点数。
target_ip_changeprevious_target_ip(字符串):上一次 traceroute 中观测到的目标 IP 地址。new_target_ip(字符串):当前目标 IP 地址。
sequence_changelast_common_hop(跃点对象):上一次和当前跟踪路由之间的最后一个共同跃点。previous_next_hop(跃点对象):序列中的上一个下一个跃点设备。new_next_hop(跃点对象):序列中的新下一个跃点设备。previous_hop_count(int32):上一次 traceroute 中的跃点总数。hop_count(int32):当前 traceroute 中的跃点总数。
network_changeprevious_asns(int32 数组):路径的 ASN 网络序列。new_asns(int32 数组):路径的新 ASN 网络序列。
isp_changeprevious_isp(网络对象):在之前的 traceroute 中观察到的 ISP。new_isp(网络对象):观察到的当前 ISP。
常见子对象
针对多个字段返回了跃点和网络对象。
跃点
跃点对象描述了特定的网络跃点。
| 字段 | 类型 | 说明 |
|---|---|---|
hop_number |
int32 | traceroute 中的跃点数。 |
ip_address |
字符串 | 跃点的 IP 地址。 |
hostname |
字符串 | 为相应跃点的 IP 地址解析的主机名。 |
网络
网络对象用于描述发生操作的网络。
| 字段 | 类型 | 说明 |
|---|---|---|
asn |
int32 | 网络的自治系统编号 (ASN)。 |
display_name |
字符串 | 网络名称(例如 ISP 名称或组织名称)。 |
常见商品结构
闹钟日志和事件日志的 jsonPayload 中的 item 字段包含有关关联实体的详细信息。结构取决于 item 类型。
NetworkPathItem
| 字段 | 类型 | 说明 |
|---|---|---|
destination |
字符串 | 目标 IP 地址或主机名。 |
destination_monitoring_point |
MonitoringPointItem | 目标 MonitoringPointItem 的详细信息(仅适用于监控点到监控点的路径)。 |
display_name |
字符串 | 网络路径的用户定义显示名称。 |
monitoring_policy_display_name |
字符串 | 监控政策的显示名称。 |
monitoring_policy_id |
字符串 | 监控政策的 ID。 |
network_protocol |
字符串 | 所使用的网络协议,例如 TCP、UDP 或 ICMP。 |
provider_tags |
对象数组 | 在 AppNeta 中为路径定义的标记。 |
source_monitoring_point |
MonitoringPointItem | 来源 MonitoringPointItem 的详细信息。 |
WebPathItem
| 字段 | 类型 | 说明 |
|---|---|---|
destination |
字符串 | 目标网址。 |
display_name |
字符串 | 用户定义的网页路径显示名称。 |
monitoring_policy_display_name |
字符串 | 监控政策的显示名称。 |
monitoring_policy_id |
字符串 | 监控政策的 ID。 |
provider_tags |
数组 | 提供程序中为相应路径定义的标记。 |
source_monitoring_point |
对象 | 来源 MonitoringPoint 的详细信息。 |
MonitoringPointItem
| 字段 | 类型 | 说明 |
|---|---|---|
display_name |
字符串 | 监控点的用户定义显示名称。 |
host |
对象 | 监控点主机的详细信息。 |
id |
字符串 | 监控点的唯一标识符。 |
provider_tags |
数组 | 提供方中为监控点定义的标记。 |
MonitoringPointHost
| 字段 | 类型 | 说明 |
|---|---|---|
cloud_instance_id |
字符串 | 云提供商提供的实例 ID。 |
cloud_project_id |
字符串 | Google Cloud 项目 ID。 |
cloud_provider |
字符串 | 云服务提供商,例如 GCP、AWS 或 AZURE。 |
cloud_region |
字符串 | 端点的云区域,例如 us-central1。 |
cloud_virtual_network_ids |
字符串数组 | 面向用户的 Cloud 虚拟网络 ID。 |
cloud_zone |
字符串 | 端点的云可用区,例如 us-central1-a。 |
labels |
地图 | 在虚拟机实例上配置的用户定义的标签。 |
os |
字符串 | 监控点主机的操作系统。 |