我是filebeat的新手,由于.yml配置问题而陷入启动状态。我正在研究Win7专业版。
我配置了默认的简单配置:
filebeat:
prospectors:
-
paths:
- "e:\Applications\Apache Tomcat 8.0.9\logs\localhost_access_log.*.txt"
- "e:\Applications\Apache Tomcat 8.0.9\logs\*.log"
input_type: log

配置中没有选项卡。由PSPad验证。
依赖于行尾我遇到错误:
使用DOS:
加载配置文件错误:apache.yml上的YAML配置解析失败: yaml:第4行:找到未知的逃脱角色。离开。
使用UNIX:
加载配置文件错误:apache.yml上的YAML配置解析失败: yaml:第3行:找不到预期的':'。离开。
答案 0 :(得分:3)
发生“未知转义字符”错误,因为\A
被解释为引用标量中的转义字符。最简单的解决方案是删除引号,因为它们在这里不是必需的(它们通常不在YAML中):
filebeat:
prospectors:
- paths:
- e:\Applications\Apache Tomcat 8.0.9\logs\localhost_access_log.*.txt
- e:\Applications\Apache Tomcat 8.0.9\logs\*.log
input_type: log
或者,您可以使用另一个反斜杠来转义反斜杠:
filebeat:
prospectors:
- paths:
- "e:\\Applications\\Apache Tomcat 8.0.9\\logs\\localhost_access_log.*.txt"
- "e:\\Applications\\Apache Tomcat 8.0.9\\logs\\*.log"
input_type: log
答案 1 :(得分:2)
正如Jordan所指出的,这是由反斜杠被解释为转义序列引起的。
有两种可能的解决方法:
1)引用并转义每个反斜杠:
- "e:\\Applications\\Apache Tomcat 8.0.9\\logs\\*.log"
2)删除引号(但不是当配置参数需要字符串列表时,这不起作用)
- e:\Applications\Apache Tomcat 8.0.9\logs\*.log
如果配置参数需要列表格式[]
,例如certificate_authorities
,那么您必须使用解决方法#1。
certificate_authorities: ["C:\\certs\\filebeat.crt"]