with one click
promql-generator
根据自然语言生成 PromQL 查询语句
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
根据自然语言生成 PromQL 查询语句
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| 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% 的实例"
}
**创建告警规则**。优先复用 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。