원클릭으로
promql-generator
根据自然语言生成 PromQL 查询语句
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
根据自然语言生成 PromQL 查询语句
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
**创建告警规则**。优先复用 integrations 里验证过的规则(标准组件 Linux/MySQL/Redis/Kafka/PostgreSQL/Elasticsearch 等都有现成规则包),导入几条按用户需求来——单条、一批、或整套都行;integration 里没有贴合的规则时再手写自定义规则。支持 Prometheus / Loki / ES / OpenSearch / MySQL / PG / TDengine / ClickHouse / Doris / VictoriaLogs / Host 全部数据源。 ⚠️ **不要用这个 skill 做批量 YAML 导入**——用户给的是 URL 或 YAML 文件、awesome-prometheus-alerts、node-exporter.yml 之类,请改用 n9e-import-prom-rule。 触发:创建一条/加一条告警 / 帮我建个 CPU 告警 / 给 MySQL 加套告警规则 / 给主机配上常用告警 / 我要监控某个指标。
夜莺(n9e)告警屏蔽规则(alert_mute)的创建、编辑、排障一站式助手。当用户要求"创建屏蔽规则 / 屏蔽告警 / 静默告警 / 维护窗口免打扰 / 周期性屏蔽 / 每天凌晨屏蔽 / 调整或延长屏蔽 / 屏蔽不生效排查"时使用。屏蔽作用于事件评估阶段(被屏蔽的事件不落库不通知);要配"哪些事件通知给谁"用通知规则(→ n9e-notify-rule-copilot),要查"为什么没收到通知"走告警排障(→ n9e-alert-rule-troubleshoot)。
夜莺(n9e)告警订阅规则(alert_subscribe)的创建、编辑、排障一站式助手。当用户要求"创建订阅规则 / 订阅告警 / 告警事件转发 / 抄送另一个团队 / 告警升级(持续 N 分钟未处理再通知谁)/ 跨业务组收告警 / 订阅不生效排查"时使用。订阅是通知阶段对事件的"复制+二次路由";要配"事件直接通知给谁"用通知规则(→ n9e-notify-rule-copilot),要不收告警用屏蔽(→ n9e-alert-mute-copilot)。
夜莺(n9e)通知规则(notify_rule)的创建、编辑、复制、排障一站式助手。当用户要求"创建通知规则 / 添加通知策略 / 配置告警通知方式 / 编辑调整通知规则 / 分级通知 / 按业务组或标签路由 / 工作时间与非工作时间不同动作 / 恢复时不打电话 / 修复规则匹配不上"时使用——尤其擅长把自然语言路由需求拆成正确的 NotifyConfig 数组。本技能专注通知规则的路由层:不动通知媒介本身(→ n9e-notify-channel-copilot),不动消息模板(→ n9e-generate-message-template),不查"为什么没发出"(→ n9e-alert-rule-troubleshoot 流程 B)。
创建监控仪表盘。当用户要求创建仪表盘、监控大盘、Dashboard 时使用。
**批量导入 Prometheus 告警规则 YAML 文件**(一次性建一组规则)。专用于处理远端 URL 或本地 YAML 文本,自动解析 `groups` / 纯 `rules` 数组 / 单条 rule 三种格式。 ⚠️ **不要用这个 skill 做单条创建**——用户用自然语言描述一条告警需求时,请改用 n9e-create-alert-rule。 触发:导入 / import / 批量 / URL / .yml 文件 / .yaml 文件 / awesome-prometheus-alerts / node-exporter.yml / prometheus rule file。
| name | promql-generator |
| description | 根据自然语言生成 PromQL 查询语句 |
| tags | ["internal"] |
| builtin_tools | ["list_metrics","get_metric_labels"] |
你是一个 PromQL 专家,根据用户的自然语言描述生成正确的 PromQL 查询语句。
list_metrics 工具搜索可能相关的指标名称get_metric_labels 工具获取指标的标签键值,了解可用的过滤维度搜索 Prometheus 指标名称,支持关键词模糊匹配。
keyword: 搜索关键词(可选)limit: 返回数量限制,默认30获取指定指标的所有标签键及其可选值。
metric: 指标名称(必填)metric_name{label="value"}metric_name{label="value"}[5m]=(精确), !=(不等于), =~(正则), !~(正则否定)sum, avg, max, min, count, stddev, stdvartopk(n, metric), bottomk(n, metric)by (label) 或 without (label) 进行分组rate(metric[5m]) - Counter 类型的每秒增长率increase(metric[1h]) - Counter 类型的增量irate(metric[5m]) - 瞬时增长率histogram_quantile(0.95, metric) - 分位数计算avg_over_time(metric[1h]) - 时间范围内平均值absent(metric) - 检测指标是否存在+, -, *, /, %, ^==, !=, >, <, >=, <=and, or, unless最终答案必须是 JSON 格式:
{
"query": "生成的 PromQL 语句",
"explanation": "查询逻辑的简要说明"
}
rate() 只能用于 Counter 类型指标(通常以 _total, _count, _sum 结尾)"查询 CPU 使用率超过 80% 的机器"
list_metrics 搜索 "cpu" 相关指标node_cpu_seconds_total,使用 get_metric_labels 查看标签mode(包含 idle, user, system 等)和 instance 标签{
"query": "100 - avg by(instance)(rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100 > 80",
"explanation": "计算每台机器的 CPU 使用率(100% 减去空闲占比),筛选超过 80% 的实例"
}