故障类问题
为什么日志查询报错?
- 日志检索报错原因:因为目前日志检索必须配置对应索引才可查询对应的柱形图和日志内容,否则会报错提示未配置索引
- 如match GET全文检索需要配置全文索引
- 如match method:GET字段检索需要配置对应的字段索引
- 如match * 查全部日志,目前需要配置全文索引或字段索引任意一种
- select统计分析时报错原因如下:
- select前面如有检索语句,则检索内容需要配置相关索引,否则报错
- 如select统计分析语句里存在一些语句错误,会有相关报错
为什么我的日志传输任务无法获取日志?
如果您的传输任务出现无法收集日志的情况,请您按照以下步骤先逐一排查一下。
第一步:确认控制台上有无异常信息,如有异常信息请根据异常信息进行排查。
-
请检查任务下的收集器状态,如显示"丢失",则说明收集器无法发送心跳,请检查主机网络状态。如显示"异常",请根据异常信息提示进行相应调整。常见的异常如下:
- "访问文件权限拒绝":此时需要对文件及目录权限进行调整;其相应调整方法为:需满足运行收集器的用户具有r权限对所采文件,并对该文件上级目录直至根目录均具有r+x权限。
- "bucket不存在":此时需要检查所配bucket所在region是否与BLS region相同。
第二步:再次确认目的端是否有数据达到
- 如果传输到BOS,如果配置日志聚合,请根据BOS bucket和配置的聚合路径查看是否存在目标文件。
-
可通过checkpoint文件检查目标文件的采集状态
方法为登录目标主机,进入采集器安装目录,默认安装路径为/opt/logbeat,checkpoint文件位置为data/registry/{taskID}/data.json,使用less命令打开该文件,其内容为一个json数组,每个对象为一个文件的标识,形如:
{"source":"/home/bls/log/server/bls_server.log.2020110523","offset":53096994,"timestamp":"2020-11-06T00:01:05.435819387+08:00","ttl":176400000000000,"type":"log","meta":null,"FileStateOS":{"inode":75504128,"device":2056}}
其中,source字段为系统中的文件名,offset字段为已确认的文件采集并传输完成偏移位置,如果该值为0,则表明文件或许正在被采集和传输。如果checkpoint中无目标文件,请继续排查。
-
检查任务是否已下达主机
正常情况下,修改任务3分钟后,最新的配置将会下达主机;您可查看下达配置本地缓存文件以检查新配置是否下达,任务配置缓存文件位置为:安装路径下config/management.yml,注意对该文件的任何手动修改都是无效的。
第三步:检查目标文件是否在采集范围内
- 文件目录不允许写正则,但可以写glob规则(https://golang.org/pkg/path/filepath/#Match)。
- 文件规则应符合标准正则表达式规则,如不可以以*开头,如*.log,可自测所写表达式是否可以匹配目标文件。
- 实时日志绝对路径,不允许在文件名的表达式中出现反斜线\,因为在文件路径中,斜线与反斜线均被视为路径分隔符。如/home/bls/log/server\.log,会被理解为/home/bls/log/server/.log。
- 检查待采集日志是否被排除文件规则命中,如命中需修改排除文件规则。
- 检查待采文件的最后修改时间,是否在配置的文件有效期时间范围内。计算方法为:文件有效时间范围所配置天数*24小时是否早于文件最后修改时间。
- 如果配置了BOS日志按时间聚合,则日志文件名中应包含有所配置时间格式,如没有则忽略该文件。
最后:
如以上步骤都无法诊断出问题所在,您可以向BLS提工单,由我们来为您解决。在此提示您在提工单时,请提供如下信息:
1、您配置任务所在region;
2、任务ID;
3、一台主机日志; 获取方法为:登录目标主机,查看采集器安装目录下的运行日志文件,默认安装路径为/opt/logbeat,日志位置为logs/logbeat。
为什么我的收集器状态是“未认证”?
收集器处于“未认证”状态表明该收集器所使用的Token已失效。为保证日志传输任务的正常执行,请尽快创建新的Token,并在相应的主机上重新部署收集器。
为什么浏览器中不显示安装命令的“复制”按钮?
-
首先请检查浏览器是否安装了Flash插件。浏览器支持Flash说明如下:
- Chrome默认支持Flash。
- IE、Firefox默认已装Flash插件。
- OSX firefox、Safari默认不支持Flash插件,需安装。
- 若仍然无法复制安装命令,请根据收集器安装命令样例与解释,自行组装Linux或Windows环境安装命令。
需要注意的是:不同region需要使用相应region的安装脚本,各region的安装脚本地址如下:
北京:https://logbeat-repo-bj.bj.bcebos.com/install-logbeat.sh
广州:https://logbeat-repo-gz.gz.bcebos.com/install-logbeat.sh
苏州:https://logbeat-repo-sz.su.bcebos.com/install-logbeat.sh
保定:https://logbeat-repo-bd.bd.bcebos.com/install-logbeat.sh
香港:https://logbeat-repo-hk.hkg.bcebos.com/install-logbeat.sh
武汉:https://logbeat-repo-wh.fwh.bcebos.com/install-logbeat.sh
以上均为Linux脚本,Windows脚本只需将sh替换为bat。
此外,Windows环境还可以使用zip包方式进行安装,请参考Windows系统zip安装方法。
为什么我的已传输数据会清零?
原因如下:
- 安装在该主机上的收集器重新配置了Token。由于更换了新的Token,日志服务会对收集器重新识别认证,故使用旧Token时的历史信息将会被清零。
- 在传输任务详情的主机列表中删除某主机后,该主机的历史信息将不被保留,因此当重新部署同一传输任务到该主机上时,已传输数据将从零开始重新计算。