使用Logtail收集日志时,会遇到诸如正则解析失败,文件路径不正确,流量超过Shard服务能力等错误,日志服务提供诊断功能,支持自主诊断Logtail日志收集错误。
选择指定Project后,进入Logstore列表,在列表的日志收集模式列中单击诊断。
进入诊断页面后,即可查看指定Logstore对应的所有Logtail收集日志错误列表。
在错误查询页面中,可以通过在输入框输入指定机器IP地址,显示指定机器的所有收集错误。其中Logtail上报错误信息的时间间隔为5分钟。
处理问题完毕后,根据错误统计时间可以查看业务恢复正常后是否仍有报错。历史报错在过期前仍可显示,您可以忽略这部分报错,仅确认在问题处理完毕的时间点之后是否有新的错误即可。
以下为Logtail错误类型及处理方式,您可以在诊断收集错误时根据报错来查询处理。如有其它问题,请提工单。
错误类型 | 错误说明 | 处理方式 |
---|---|---|
LOGFILE_PERMINSSION_ALARM | Logtail无权限读取指定文件。 | 检查服务器Logtail的启动账户,建议以root方式启动。 |
SPLIT_LOG_FAIL_ALARM | 行首正则与日志行首匹配失败,无法对日志做分行。 | 检查行首正则正确性,如果是单行日志可以配置为.* 。 |
MULTI_CONFIG_MATCH_ALARM | 同一个文件,只能被一个Logtail的配置收集,不支持同时被多个logtail配置收集。 | 检查一个文件是否在多个配置中被收集,删除多余的配置。 |
REGEX_MATCH_ALARM | 正则表达式解析模式下,日志内容和正表达式不匹配。 | 复制错误内容中的日志样例重新尝试匹配,并生成新的新的解析正则式。 |
PARSE_LOG_FAIL_ALARM | JSON、分隔符等解析模式下,由于日志格式不符合定义而解析失败。 | 请单击错误查看匹配失败的详细报错。报错提示以及原因如下: 1、 keys count unmatch columns count ,分隔符日志中解析的字段数少于配置的key数量;2、 parse delimiter log fail ,分隔符日志格式不正确,一般由于非法Quote引起;3、 no column keys defined ,分隔符日志中没有配置解析的key;4、 parse json log fail ,json类型日志非法,详细错误参考rapidjson error 后的信息;5、 invalid json object ,解析的json不是object类型;6、 found no time_key ,配置了时间解析但并没有在日志中找到该字段。 |
CATEGORY_CONFIG_ALARM | Logtail采集配置不合法。 | 常见的错误为正则表达式提取文件路径作为topic失败,其它错误请提工单解决。 |
LOGTAIL_CRASH_ALARM | Logtail因超过服务器资源使用上限而崩溃。 | 请参考Logtail启动参数配置修改CPU、内存使用上限,如有疑问请提工单。 |
REGISTER_INOTIFY_FAIL_ALARM | Linux下注册日志监听失败,可能由于没有文件夹权限或文件夹被删除 | 检查logtail是否有权限访问该文件夹或该文件夹是否被删除 |
DISCARD_DATA_ALARM | 配置Logtail使用的CPU资源不够或网络发送流控导致。 | 请参考Logtail启动参数配置修改CPU使用上限或网络发送并发限制,如有疑问请提工单解决。 |
SEND_DATA_FAIL_ALARM | (1)主账号未创建任何AcessKey; (2)Logtail客户端机器与日志服务服务端无法连通或者网络链路质量较差; (3)服务端写入配额不足。 |
(1)主账号登录AcessKey控制台 创建AcessKey; (2)检查本地配置文件/usr/local/ilogtail/ilogtail_config.json,执行curl <服务地址>,查看是否有内容返回; (3)为Logstore增加Shard数目,以支持更大数据量的写入。 |
PARSE_TIME_FAIL_ALARM | Logtail根据时间解析表达式解析time字段失败。 | 请根据日志时间配置正确的时间解析表达式。 |
REGISTER_INOTIFY_FAIL_ALARM | Logtail为日志目录注册inotify watcher失败。 | 请检查目录是否存在以及目录权限设置。 |
SEND_QUOTA_EXCEED_ALARM | 日志写入流量超出限制。 | 在控制台进行分区(Shard)扩容。 |
READ_LOG_DELAY_ALARM | 日志采集进度落后于日志产生进度,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 | 请参考Logtail启动参数配置修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 |
DROP_LOG_ALARM | 日志采集进度落后于日志产生进度,且未处理的日志轮转超过20个,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。 | 请参考Logtail启动参数配置修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 |
LOGDIR_PERMINSSION_ALARM | 没有日志监控目录读取权限。 | 请检查日志监控目录是否存在,若存在请检查目录权限设置。 |
ENCODING_CONVERT_ALARM | 编码转换失败。 | 请检查日志编码格式配置是否与日志编码格式一致。 |
OUTDATED_LOG_ALAR | 过期的日志,日志时间落后超过12小时。可能原因:日志解析进度落后超过12小时、用户自定义时间字段配置错误或日志记录程序时间输出异常。 | 首先查看是否存在READ_LOG_DELAY_ALARM,如存在按照READ_LOG_DELAY_ALARM处理方式解决;若不存在请检查时间字段配置;若时间字段配置正常请检查日志记录程序时间输出是否正常;如有疑问请提工单。 |
STAT_LIMIT_ALARM | 日志采集配置目录中的文件数超限 | 检查采集配置目录是否有较多的文件和子目录,合理设置监控的根目录和目录最大监控深度。 |
DROP_DATA_ALARM | 进程退出时日志Flush到本地超时,此时会丢弃未Flush完毕的日志 | 此种情况一般由于采集严重阻塞导致,请参考Logtail启动参数配置修改CPU使用上限或网络发送并发限制,如有疑问请提工单。 |
INPUT_COLLECT_ALARM | 输入源采集异常 | 请参考错误提示处理 |
HTTP_LOAD_ADDRESS_ALARM | http输入的address不合法 | 请检查address合法性 |
HTTP_COLLECT_ALARM | http采集异常 | 请根据错误提示排查,一般由于超时导致 |
FILTER_INIT_ALARM | 过滤器初始化异常 | 一般由于过滤器的正则表达式非法导致,请根据提示修复 |
INPUT_CANAL_ALARM | mysql binlog 运行异常 | 请根据错误提示排查(在配置更新时canal服务可能重启,对于服务重启的错误可以忽略) |
CANAL_INVALID_ALARM | mysql binlog 内部状态异常 | 此错误一般由于运行时表的schema信息变更导致meta不一致引起,请确实报错期间是否在修改表的schema,其他情况请提工单。 |
MYSQL_INIT_ALARM | mysql 初始化异常 | 请参考错误提示处理 |
MYSQL_CHECKPOING_ALARM | mysql checkpoint格式异常 | 请确认是否修改该配置中的checkpoint相关配置,其他情况请提工单。 |
MYSQL_TIMEOUT_ALARM | mysql 查询超时 | 请确认mysql服务器和网络是否异常。 |
MYSQL_PARSE_ALARM | mysql 查询结果解析失败 | 请确认mysql配置的checkpoint格式是否匹配对应字段的格式。 |
注:如需查看所有因解析失败而丢弃的完整日志行,请登录机器查看/usr/local/ilogtail/ilogtail.LOG。
在文档使用中是否遇到以下问题
更多建议
匿名提交