mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 03:30:48 +08:00
4.1 KiB
4.1 KiB
Ops Netx UME 快速参考
1) 当前告警明细(轻量入口)
- 工具:
netx_query_ume_alarms - 常用参数:
severity,ne_id,keyword,page,page_size
- 建议:
- 推荐
page_size=50 - 默认只看前 1 页(必要时最多 2 页),不要无脑翻页拉全量
- 推荐
2) 原始明细(字段可控,推荐用于证据输出)
- 工具:
netx_query_ume_alarms_raw - 推荐流程:
- 先调用
netx_list_ume_alarm_fields获取字段清单 - 再用
select_fields控制返回字段,减少输出体积
- 先调用
- 字段集预设(推荐优先用 preset,避免手写字段列表):
field_preset=brief:轻量概览(严重度/事件/最近时间/网元显示)field_preset=evidence:证据输出(含 object/cause/时间/网元状态)field_preset=ne_debug:定位网元信息缺失或状态异常
select_fields示例:alarm_alarm_keyalarm_perceived_severityalarm_last_seen_atalarm_host_name(告警表已冗余的网元主机名,对外展示主键,放首列)ne_host_name(与上同义,优先alarm_host_name)ne_user_labelne_ip_address
- 禁止在用户可见输出中只列
alarm_ne_id;需要网元身份时必须带ne_host_name或先联查网元表。
3) 动态聚合(非 SQL)
- 工具:
netx_aggregate_ume_alarms_raw - 常用分组:
group_by=alarm_perceived_severitygroup_by=alarm_host_name或group_by=ne_host_name(网元主键;勿用alarm_ne_id/ne_ne_id)group_by=alarm_event_typegroup_by=ne_connection_statusgroup_by=alarm_perceived_severity, group_by2=ne_host_name
- 建议:
- 推荐
limit=200
- 推荐
4) 诊断摘要
- 工具:
netx_run_ume_diagnostics - 用途:在深挖前先快速形成“概览简报”(严重度、Top 网元、Top 事件类型等)
4b) 网元清单与详情
- 工具:
netx_query_ume_ne_inventory— 对应 netxGET /v1/ume/inventory/ne- 参数:
keyword(可选,匹配 ne_id/ne_name/user_label/ip_address/host_name)、page、page_size(最大 500)
- 参数:
- 工具:
netx_get_ume_ne—GET /v1/ume/inventory/ne/{ne_id}- 参数:
ne_id(UUID,与清单字段一致)
- 参数:
- 与告警 raw 中的
ne_*字段互补:需要 UME 原始 JSON 时用netx_get_ume_ne的raw_json。
5) SQL 深度分析(受限)
- 工具:
netx_sql_query_ume - 约束:
- 仅允许 SELECT
- 仅允许表:
ume_alarms_current/ume_inventory_ne - 重查询务必设置
statement_timeout_ms - 除非只是
count(*),否则建议带时间窗(例如last_seen_at >= now() - interval '30 minutes')
- 示例(全量聚合,谨慎使用):
select
coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)') as ne_name,
count(*) as alarm_count
from ume_alarms_current a
left join ume_inventory_ne ne on ne.ne_id = a.ne_id
group by coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)')
order by alarm_count desc
- 示例(推荐:带时间窗 + 超时):
statement_timeout_ms=8000
select
coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)') as ne_name,
count(*) as alarm_count
from ume_alarms_current a
left join ume_inventory_ne ne on ne.ne_id = a.ne_id
where a.last_seen_at >= now() - interval '30 minutes'
group by coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)')
order by alarm_count desc
- 示例(推荐:带时间窗 + 严重度过滤,现场最常用):
statement_timeout_ms=8000
select
coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)') as ne_name,
count(*) as alarm_count
from ume_alarms_current a
left join ume_inventory_ne ne on ne.ne_id = a.ne_id
where a.last_seen_at >= now() - interval '30 minutes'
and lower(coalesce(a.perceived_severity, '')) in ('critical','major')
group by coalesce(nullif(trim(ne.host_name), ''), ne.user_label, ne.ne_name, '(host_name missing)')
order by alarm_count desc