Promtail 如何配置Pipeline
时间: 2024-11-25 22:12:24 浏览: 9
Promtail 是 Logstash 的一个轻量级替代品,用于从远程源收集并解析日志,然后将数据发送给 Prometheus 或其他工具。它主要用于处理容器的日志,特别是 Kubernetes 中的日志。Promtail 配置 Pipeline 主要涉及以下几个步骤:
1. **规则文件** (rule_files): 首先,你需要创建一个或多个 YAML 规则文件,每个文件定义了要收集的日志文件路径、格式以及如何解析字段。例如:
```yaml
paths:
- /var/log/*.log
pipeline:
processors:
- labelmap:
mappings:
container_name: $kubernetes.container.name
```
2. **采集设置** (collection): 包括主机名(hostname)、标签(labels)和其他配置选项,如添加 TLS 安全连接。
3. **过滤器** (processors): 可以使用诸如 `drop_lines`、`labelmap`、`regex` 等处理器对收集到的数据进行预处理。
4. **目标地址** (exporters): 定义将处理后的数据发送到哪里,比如 `prometheus`, `elasticsearch`, 或者 `graylog`。
配置示例:
```yaml
global:
scrape_interval: "5s"
scrape_timeout: "10s"
remote_write:
- url: "http://your-prometheus-server:9201/write"
basic_auth:
username: "your_username"
password: "your_password"
match_labels:
job: "promtail_logs"
timeout: "5s"
relabel_configs:
- source_labels: [__name__]
target_label: __metrics_path__
replacement: metrics
- source_labels: [job]
target_label: k8s_job_name
replacement: $(kubernetes.job-name)
```
阅读全文