我想在 GCP 虚拟机上安装 ops agent 并让它将日志从 systemd 服务发送到 StackDriver。
但是,相关文档并未指出如何指定一个(且仅有一个)systemd 服务。
有没有一种方法可以限制只有一个 systemd 服务的日志读取(并分派到 StackDriver)?
我也找不到 systemd_journald 接收器的任何选项。但是,您可以通过在管道中使用“排除日志处理器”来实现相同的逻辑,以仅包含来自正确 systemd 单元的日志。这是一个示例配置,仅包含来自 ssh 服务的日志:
logging:
receivers:
systemd_receiver:
type: systemd_journald
processors:
filter_systemd:
type: exclude_logs
match_any:
- 'NOT jsonPayload._SYSTEMD_UNIT = "ssh.service"'
service:
pipelines:
systemd_pipeline:
receivers:
- systemd_receiver
processors:
- filter_systemd
由于 GCP 的日志查询语言处理缺失字段
,您必须使用
NOT
运算符而不是 !=
运算符。