Promtail 是 Grafana Loki 项目的日志收集代理,它负责从本地文件系统或其他来源收集日志,并将这些日志推送到 Loki 服务器。以下是一个简化的 Promtail 配置文件 promtail-config.yaml 示例:
yaml# Global configuration for Promtailglobal: scrape_interval: 10s # 设置Promtail抓取日志的间隔,默认为每10秒一次server: http_listen_port: 9080 # Promtail监听的HTTP端口,用于接收健康检查和配置更新请求clients: - url: http://loki:3100/loki/api/v1/push # Loki服务器的URL和端口,Promtail将日志推送至此处scrape_configs: - job_name: system_logs # 日志采集任务名称 static_configs: - targets: - localhost # 监控的目标主机,这里是本机 labels: job: host # 为这批日志分配一个job标签,便于在Loki中区分不同类型的日志 __path__: /var/log/*.log # 指定抓取的日志文件路径,这里是系统日志目录下所有.log结尾的文件 # 若需要监控Docker容器日志 - job_name: docker_container_logs docker_labels: - job=docker # 标记所有有特定Docker标签的容器日志 docker_sd_configs: - host: unix:///var/run/docker.sock # Docker守护进程的socket refresh_interval: 1m # Docker容器刷新间隔 containers: filter: "label!=io.kubernetes.container.name" # 可选过滤规则,例如排除Kubernetes容器 # ... 更多其他的scrape_configs配置,可根据需要添加在上述配置中,Promtail被配置为从 /var/log/*.log 中抓取系统日志,并将其发送至 http://loki:3100/loki/api/v1/push。此外,还有一个配置项用于从Docker容器中抓取日志。请注意,具体的配置应当根据你的实际环境调整,包括Loki服务器的实际地址、日志源的位置以及所期望监控的日志类型等。另外,Promtail可以从多个来源收集日志,包括但不限于文件、系统日志、Docker容器日志等。