自从我更新到 promtail 2.0 后,我无法读取 loki 中的日志文件的内容。
配置-promtail.yml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://192.168.1.103:3100/loki/api/v1/push
scrape_configs:
- job_name: manuallog
static_configs:
- targets:
- 192.168.1.103
labels:
job: tomcat
host: 192.168.1.103
path: /opt/error.log
我也尝试在抓取配置中使用不同的配置,但没有成功:
- job_name: varlog
journal:
max_age: 12h
labels:
filename: /opt/error.log
path: /opt/error.log
error.log不为空:
# cat /opt/error.log
Disconnected from localhost
Promtail 版本 - 2.0
./promtail-linux-amd64 --version
promtail, version 2.0.0 (branch: HEAD, revision: 6978ee5d)
build user: root@2645337e4e98
build date: 2020-10-26T15:54:56Z
go version: go1.14.2
platform: linux/amd64
有什么线索吗?我是不是做错了什么?
非常感谢,
尝试更换:
path: /opt/error.log
致:
__path__: /opt/error.log
看来您只指定了:
journal.lables.path: /opt/error.log
这只会为抓取的日志条目添加标签。
您忘记注明:
journal.path: /opt/error.log
这将告诉 Promtail 在哪里可以找到要跟踪的日志。
====================================================== =========
这是我正在使用的 Promtail 2.1 日志抓取配置。
scrape_configs:
- job_name: journal
pipeline_stages:
- drop:
expression: ".*something-redudant.*"
journal:
path: /var/log/journal
max_age: 12h
labels:
job: systemd-journal
relabel_configs:
- source_labels: ['__journal__systemd_unit']
target_label: 'unit'
- source_labels: ['__journal__hostname']
target_label: 'hostname'