Promtail是负责收集日志发送给loki的代理程序,Promtail默认通过一个config.yaml文件进行配置,其中包含Promtail服务端信息、存储位置以及如何从文件中抓取日志等配置。
要指定加载哪个配置文件,只需要在命令行下通过-config.file参数传递YAML配置文件即可。此外我们还可以通过在配置文件中使用环境变量引用来设置需要的配置,但是需要在命令行中配置-config.expand-env=true。
然后可以使用${VAR}来配置,其中VAR是环境变量的名称,每个变量的引用在启动时被环境变量的值替换,替换是区分大小写的,而且在YAML文件被解析之前发生,对未定义变量的引用将被替换为空字符串,除非你指定了一个默认值或自定义的错误文本,要指定一个默认值:
${VAR
efault_value}
其中default_value是在环境变量未定义的情况下要使用的默认值。
默认的config.yaml配置文件支持的内容格式为:
#配置Promtail服务端[server:server_config]#描述Promtail如何连接到Loki的多个实例,向每个实例发送日志。#WARNING:如果其中一个远程Loki服务器未能回应或回应时出现任何可重试的错误,这将影响其他配置的远程Loki服务器发送日志。#发送是在单线程上完成的!#如果你想向多个远程Loki实例发送,一般建议并行运行多个promtail客户端。clients:-[client_config]#描述了如何将读取的文件偏移量保存到磁盘上[positions:position_config]#抓取日志配置scrape_configs:-[scrape_config]#配置被watch的目标如何tailed#Configureshowtailedtargetswillbewatched.[target_config:target_config]server
server属性配置了Promtail作为HTTP服务器的行为。
#禁用HTTP和GRPC服务[disable:boolean
default=false]#HTTP服务监听的主机[