用途:该技能用于查询 Loki API,帮助搜索日志中的错误或模式、排查 Pod 或服务问题、查询 Kubernetes 事件,并结合日志量或错误率做指标式聚合分析。
主要能力:支持健康检查、日志实时跟踪(tail)、瞬时查询(query,用于 rate/bytes_rate/topk 等聚合)、带时间窗口的范围查询(range)、标签发现(labels)、序列查找(series)。检索时可用 |= 做包含过滤、|~ 做正则(含 (?i) 大小写不敏感)过滤,并可按 namespace、container 等标签缩小范围。Kubernetes 事件可通过 Alloy 的 kubernetes_events 采集任务查询。
使用方式:Loki 在内网入口网关没有 HTTPRoute,网关组件已禁用(replicas: 0),因此需要端口转发,不能像 Prometheus、Grafana 那样用内部 DNS 直接访问。 export LOKI_URL=http://localhost:3100 kubectl --context <cluster> port-forward -n monitoring svc/loki-headless 3100:3100 & 可用集群为 dev、integration、live。示例(脚本路径 .claude/skills/loki/scripts/logql.sh): ./scripts/logql.sh health ./scripts/logql.sh tail '{namespace="monitoring"}' --since 15m ./scripts/logql.sh query 'rate({namespace="monitoring"}[5m])' ./scripts/logql.sh range '{namespace="flux-system"}' --start 1h --step 1m --limit 50 ./scripts/logql.sh labels ./scripts/logql.sh series '{namespace="monitoring"}'
适用场景:集群日志检索与错误排查、Pod/服务故障定位、命名空间事件查看、日志量或错误率统计。
限制:必须使用端口转发,其他有 HTTPRoute 的服务(Prometheus、Grafana、Alertmanager)应优先使用内部 DNS。具体参数细节与权限范围暂未提供。