
Prometheus 的 job 标签是什么?
job 标签来自 scrape_config 的 job_name,标识一组同类抓取目标(如所有 node exporter),与 instance 标签一起构成 Prometheus 最基本的两个维度。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

job 标签来自 scrape_config 的 job_name,标识一组同类抓取目标(如所有 node exporter),与 instance 标签一起构成 Prometheus 最基本的两个维度。

Prometheus 告警生命周期:Inactive(未触发)→ Pending(表达式为真但未满足 for 时长)→ Firing(触发,送 Alertmanager)→ 恢复 Resolved。

Counter 只增不减(重启归零),记录累计量如请求总数;Gauge 可增可减,记录瞬时值如内存占用。查询方式也因此不同:Counter 用 rate() 看速率,Gauge 直接看值。一文讲清选型。

Fluentd 给日志添加字段的三种方式:record_transformer 插件加静态字段或主机名、rewrite_tag_filter 改写 tag 路由、以及 filter 中条件添加。本文给出完整配置示例。

Filebeat 支持多配置文件:--config 指定主文件,用 filebeat.config.inputs / modules 的 glob 加载目录下的多个片段,或用 -c 与 --path.config 组合。

可以——Fluentd 配置中用 "#{ENV['VAR_NAME']}" 内嵌 Ruby 表达式引用环境变量。本文给出语法示例、常见用途(密钥、地址、环境区分)与容器部署中的配合方式。

Elasticsearch 动态映射默认把字符串同时建成 text+keyword 双字段。

Fluentd 没有 if-else 语法,条件逻辑通过 rewrite_tag_filter 按字段值改写 tag 分流,或用 grep 过滤器按正则筛选,也可用 record_transformer 的 Ruby 表达式做条件赋…
![Elasticsearch 报 "No handler for type [keyword] declared on field" 错误怎么办? cover](/learn/images/learn-covers/responsive/log-monitoring.4600d1b232.640.webp)
该错误表示 ES 版本不认识 keyword 类型——keyword 是 ES 5.x 引入的,旧版本用 string + not_analyzed。升级集群或改写 mapping 即可解决。本文给出两种修法与版本对照。

Fluentd 通过 "#{ENV['VAR']}" 语法在配置中引用环境变量,典型用于密钥外置、多环境复用与容器化部署。本文给出完整示例、默认值写法与 Systemd/Docker/K8s 三种注入方式。

Fluentd 的 match 用通配符匹配 tag,排除特定日志可用取反的标签命名、grep 过滤器的 exclude 块、或 rewrite_tag_filter 把不要的日志路由到 null 输出。本文给出三种排除写法。

Kibana 导出 CSV 的三条路径:Discover 保存搜索后 Share→CSV Reports 生成下载、Lens 表格面板直接导出、或借助 Canvas/报表功能。免费版功能受限时用 ELK API 或第三方工具替代。