日志服务采集数据常见的错误类型

本文介绍日志服务采集数据常见的错误类型及对应的解决方法。

如果您遇到其他问题,请提交工单处理。

错误类型

错误说明

解决方法

LOG_GROUP_WAIT_TOO_LONG_ALARM

数据包从产生到发送的过程中等待的时间较长。

检查发送是否正常,或者是否存在数据量超过默认配置、配额不足或者网络存在问题。

LOGFILE_PERMINSSION_ALARM

Logtail无权限读取指定文件。

检查服务器Logtail的启动账号,建议以root方式启动。

SPLIT_LOG_FAIL_ALARM

行首正则与日志行首匹配失败,无法对日志做分行。

检查行首正则正确性。

如果是单行日志可以配置为.*

MULTI_CONFIG_MATCH_ALARM

默认情况下,一个文件只能匹配一个Logtail配置。当多个Logtail配置匹配同一个文件时,只会生效一个。

说明

Docker标准输出可以被多个Logtail配置采集。

详细的解决方案,请参见使用CloudLens排查iLogtail文件重复配置问题

REGEX_MATCH_ALARM

完整正则模式下,日志内容和正则表达式不匹配。

复制错误信息中的日志样例,并生成新的正则表达式。

PARSE_LOG_FAIL_ALARM

JSON、分隔符等模式下,由于日志格式不符合定义而解析失败。

单击错误信息,查看失败的详细报错。

CATEGORY_CONFIG_ALARM

Logtail采集配置不合法。

常见的错误为正则表达式提取文件路径作为Topic失败,其它错误请提交工单

详细的解决方案,请参见使用CloudLens排查iLogtail采集配置错误问题

LOGTAIL_CRASH_ALARM

Logtail因超过服务器资源使用上限而崩溃。

修改CPU、内存使用上限。更多信息,请参见设置Logtail启动参数

REGISTER_INOTIFY_FAIL_ALARM

在Linux系统中注册日志监听失败,可能由于没有文件夹权限或文件夹被删除。

检查Logtail是否有权限访问该文件夹,或者该文件夹是否被删除。

DISCARD_DATA_ALARM

配置Logtail使用的CPU资源不够或网络发送流控。

修改CPU使用上限或网络发送并发限制。更多信息,请参见设置Logtail启动参数

SEND_DATA_FAIL_ALARM

  • 阿里云账号未创建AccessKey。

  • Logtail客户端所在机器与日志服务无法连通或者网络链路质量较差。

  • 日志服务端写入配额不足。

  • 使用阿里云账号创建AccessKey。

  • 检查本地配置文件/usr/local/ilogtail/ilogtail_config.json,执行curl <服务器地址>,查看是否有内容返回。

  • 为Logstore增加Shard数量,以支持更大数据量的写入。

REGISTER_INOTIFY_FAIL_ALARM

Logtail为日志目录注册的inotify watcher失败。

检查目录是否存在以及目录权限设置。

SEND_QUOTA_EXCEED_ALARM

日志写入流量超出限制。

在控制台上增加Shard数量。更多信息,请参见分裂Shard

READ_LOG_DELAY_ALARM

日志采集进度落后于日志产生进度,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。

修改CPU使用上限或网络发送并发限制。更多信息,请参见设置Logtail启动参数

在导入历史数据时,短时间内会采集大量数据,因此出现该错误可暂时忽略。

DROP_LOG_ALARM

日志采集进度落后于日志产生进度,且未处理的日志轮转超过20个,一般是由于配置Logtail使用的CPU资源不够或是网络发送流控导致。

修改CPU使用上限或网络发送并发限制。更多信息,请参见设置Logtail启动参数

LOGDIR_PERMINSSION_ALARM

没有日志监控目录读取权限。

检查日志监控目录是否存在。如果存在,请检查目录权限设置。

ENCODING_CONVERT_ALARM

编码转换失败。

检查日志编码格式配置是否与日志编码格式一致。

OUTDATED_LOG_ALARM

过期的日志,日志时间落后超过12小时。可能原因:

  • 日志解析进度落后超过12小时。

  • 用户自定义时间字段配置错误。

  • 日志记录程序时间输出异常。

  • 查看是否存在READ_LOG_DELAY_ALARM。

    如果存在,按照READ_LOG_DELAY_ALARM处理方式解决;如果不存在,请检查时间字段配置。

  • 检查时间字段配置。如果时间字段配置正确,请检查日志记录程序时间输出是否正常。

STAT_LIMIT_ALARM

日志采集配置目录中的文件数超限。

检查采集的目标目录下是否有较多的文件和子目录,合理设置监控的根目录和目录最大监控深度。

您也可以修改mem_usage_limit参数。更多信息,请参见设置Logtail启动参数

详细的解决方案,请参见使用CloudLens排查文件、目录数超限问题(STAT_LIMIT_ALARM、 DIR_EXCEED_LIMIT_ALARM)

DROP_DATA_ALARM

进程退出时日志落盘到本地超时,此时会丢弃未落盘完成的日志。

该报错通常为采集严重阻塞导致。您可以修改CPU使用上限或网络发送并发限制。更多信息,请参见设置Logtail启动参数

INPUT_COLLECT_ALARM

输入源采集异常。

根据错误提示处理。

HTTP_LOAD_ADDRESS_ALARM

HTTP数据采集配置中,设置的Addresses不合法。

检查Addresses合法性。

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格式是否匹配对应字段的格式。

AGGREGATOR_ADD_ALARM

向队列中添加数据失败。

由于数据发送过快。如果真实数据量很大,则可忽略。

ANCHOR_FIND_ALARM

processor_anchor插件错误、配置错误或存在不符合配置的日志。

单击错误查看详细报错,报错根据内容分为如下类型。请根据详细报错中的信息,检查相应的配置是否存在问题。

  • anchor cannot find key:配置中指定了SourceKey但日志中不存在对应的字段。

  • anchor no start:无法从SourceKey的值中找到Start对应的内容。

  • anchor no stop:无法从SourceKey的值中找到Stop对应的内容。

ANCHOR_JSON_ALARM

processor_anchor插件错误,对已配置的StartStop所确定的内容执行JSON展开时发生错误。

单击错误查看详细报错,检查所处理的内容以及相关的配置,确定是否有配置错误或不合法日志。

CANAL_RUNTIME_ALARM

Binlog插件运行时错误。

单击错误查看详细报错,根据错误信息进行进一步地排查。一般情况下,该错误与所连接的MySQL master相关。

CHECKPOINT_INVALID_ALARM

Checkpoint解析失败。

单击错误查看详细报错,根据其中的检查点键、检查点内容(前1024个字节)以及具体的错误信息进行进一步排查。

DIR_EXCEED_LIMIT_ALARM

Logtail同时监听的目录数超出限制。

检查当前Logstore的采集配置以及该Logtail上应用的其他配置是否会包含较多的目录数,合理设置监控的根目录和目录最大监控深度。

详细的解决方案,请参见使用CloudLens排查文件、目录数超限问题(STAT_LIMIT_ALARM、 DIR_EXCEED_LIMIT_ALARM)

DOCKER_FILE_MAPPING_ALARM

执行Logtail命令添加Docker文件映射失败。

单击错误查看详细报错,根据其中的命令以及具体的错误信息进行进一步排查。

DOCKER_FILE_MATCH_ALARM

无法在Docker容器中查找到指定文件。

单击错误查看详细报错,根据其中的容器信息以及查找的文件路径进行进一步排查。

DOCKER_REGEX_COMPILE_ALARM

service_docker_stdout插件错误,根据配置中的BeginLineRegex编译失败。

单击错误查看详细报错,检查其中的正则表达式是否正确。

DOCKER_STDOUT_INIT_ALARM

service_docker_stdout插件初始化失败。

单击错误查看详细报错,报错根据内容分为如下类型。

  • host...version...error:检查配置中指定的Docker Engine是否可访问。

  • load checkpoint error:加载检查点失败,如无影响可忽略此错误。

  • container...:指定容器存在非法Label值,目前仅允许配置stdout和stderr。请结合详细错误进行检查。

DOCKER_STDOUT_START_ALARM

service_docker_stdout插件采集时,stdout大小超过限制。

一般由于首次采集时stdout已存在,可忽略。

DOCKER_STDOUT_STAT_ALARM

service_docker_stdout插件无法检测到stdout。

一般由于容器退出时无法访问到stdout,可忽略。

FILE_READER_EXCEED_ALARM

Logtail同时打开的文件对象数量超过限制。

一般由于当前处于采集状态的文件数过多,请检查采集配置是否合理。

GEOIP_ALARM

processor_geoip插件错误。

单击错误查看详细报错,报错根据内容分为如下类型。

  • invalid ip...:获取IP地址失败,请检查配置中的SourceKey是否正确或是否存在不合法日志。

  • parse ip...:根据IP地址解析城市失败,请查看详细错误信息进行排查。

  • cannot find key...:无法从日志中查看到指定的SourceKey,请检查配置是否正确或是否存在不合法日志。

HTTP_INIT_ALARM

metric_http插件错误,配置中指定的ResponseStringMatch正则表达式编译错误。

单击错误查看详细报错,检查其中的正则表达式是否正确。

HTTP_PARSE_ALARM

metric_http插件错误,获取HTTP响应失败。

单击错误查看详细报错,根据其中的具体错误信息对配置内容或所请求的HTTP服务器进行检查。

INIT_CHECKPOINT_ALARM

Binlog插件错误,加载检查点失败,插件将忽略检查点并从头开始处理。

单击错误查看详细报错,根据其中的具体错误信息来确定是否可忽略此错误。

LOAD_LOCAL_EVENT_ALARM

Logtail执行了本地事件处理。

此警告一般不会出现,如果非人为操作引起此警告,才需要进行错误排查。请单击错误查看详细报错,根据其中的文件名、配置名、project、logstore等信息进行进一步地排查。

LOG_REGEX_FIND_ALARM

processor_split_log_regex以及 processor_split_log_string插件错误,无法从日志中获取到配置中指定的SplitKey

单击错误查看详细报错,检查是否存在配置错误的情况。

LUMBER_CONNECTION_ALARM

service_lumberjack插件错误,停止插件时关闭服务器错误。

单击错误查看详细报错,根据其中的具体错误信息进行进一步排查,此错误一般可忽略。

LUMBER_LISTEN_ALARM

service_lumberjack插件错误,初始化进行监听时发生错误。

单击错误查看详细报错,报错根据内容分为如下类型。

  • init tls error...:请结合具体的错误信息检查TLS相关的配置是否正确

  • listen init error...:请结合具体的错误信息检查地址相关的配置是否正确。

LZ4_COMPRESS_FAIL_ALARM

Logtail执行LZ4压缩发生错误。

单击错误查看详细报错,根据其中的log lines、project、category、region等值来进行进一步排查。

MYSQL_CHECKPOINT_ALARM

MySQL插件错误,检查点相关错误。

单击错误查看详细报错,报错根据内容分为如下类型。

  • init checkpoint error...:初始化检查点失败,请根据错误信息检查配置指定的检查点列以及所获取的值是否正确。

  • not matched checkpoint...:检查点信息不匹配,请根据错误信息检查是否是由于配置更新等人为原因导致的错误,如果是则可忽略。

NGINX_STATUS_COLLECT_ALARM

nginx_status插件错误,获取状态发生错误。

单击错误查看详细报错,根据其中的URL以及具体的错误信息来进行进一步排查。

NGINX_STATUS_INIT_ALARM

nginx_status插件错误,初始化解析配置中指定的URL失败。

单击错误查看详细报错,根据其中的URL检查地址是否正确配置。

OPEN_FILE_LIMIT_ALARM

Logtail已打开文件数量超过限制,无法打开新的文件。

单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。

OPEN_LOGFILE_FAIL_ALARM

Logtail打开文件出错。

单击错误查看详细报错,根据其中的日志文件路径、Project、Logstore等信息进行进一步排查。

PARSE_DOCKER_LINE_ALARM

service_docker_stdout插件错误,解析日志失败。

单击错误查看详细报错,报错根据内容分为如下类型。

  • parse docker line error: empty line:日志为空。

  • parse json docker line error...:以JSON格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。

  • parse cri docker line error...:以CRI格式解析日志失败,请根据错误信息以及日志的前512个字节进行排查。

PLUGIN_ALARM

插件初始化及相关调用发生错误。

单击错误查看详细报错,报错根据内容分为如下类型,请根据具体的错误信息进行进一步排查。

  • init plugin error...:初始化插件失败。

  • hold on error...:暂停插件运行失败。

  • resume error...:恢复插件运行失败。

  • start service error...:启动 service input类型的插件失败。

  • stop service error...:停止 service input类型的插件失败。

PROCESSOR_INIT_ALARM

processor_regex插件错误,编译配置中指定的Regex正则表达式失败。

单击错误查看详细报错,检查其中的正则表达式是否正确。

PROCESS_TOO_SLOW_ALARM

Logtail日志解析速度过慢。

  1. 单击错误查看详细报错,根据其中的日志数量、缓冲区大小、解析时间来确定是否正常。

  2. 如果不正常,检查Logtail所在节点是否有其他进程占用了过多的CPU资源或是存在效率较低的正则表达式等不合理的解析配置。

REDIS_PARSE_ADDRESS_ALARM

redis插件错误,配置中提供的ServerUrls存在解析失败的情况。

单击错误查看详细报错,对其中报错的URL进行检查。

REGEX_FIND_ALARM

processor_regex插件错误,无法从日志中找到配置中SourceKey指定的字段。

单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。

REGEX_UNMATCHED_ALARM

processor_regex插件错误,匹配失败。

单击错误查看详细报错,报错根据内容分为如下类型,请根据具体的错误信息进行排查。

  • unmatch this log content...:日志无法匹配配置中的正则表达式

  • match result count less...:匹配的结果数量少于配置中指定的 Keys 数量。

SAME_CONFIG_ALARM

同一个Logstore下存在同名的配置,后发现的配置会被抛弃。

单击错误查看详细报错,根据其中的配置路径等信息排查是否存在配置错误的情况。

SPLIT_FIND_ALARM

split_char以及split_string插件错误,无法从日志中找到配置中SourceKey指定的字段。

单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。

SPLIT_LOG_ALARM

processor_split_char以及processor_split_string插件错误,解析得到的字段数量与SplitKeys中指定的不相同。

单击错误查看详细报错,检查是否存在SourceKey配置错误或日志不合法的情况。

STAT_FILE_ALARM

通过LogFileReader对象进行文件采集时发生错误。

单击错误查看详细报错,根据其中的文件路径、错误信息进行进一步排查。

SERVICE_SYSLOG_INIT_ALARM

service_syslog插件错误,初始化失败。

单击错误查看详细报错,检查配置中的Address是否正确。

SERVICE_SYSLOG_STREAM_ALARM

service_syslog插件错误,通过TCP采集时发生错误。

单击错误查看详细报错,报错根据内容分为如下类型,请根据详细报错中的具体错误信息进行排查。

  • accept error...:执行Accept时发生错误,插件将等待一段时间后重试。

  • setKeepAlive error...:设置 Keep Alive失败,插件将跳过此错误并继续运行。

  • connection i/o timeout...:通过TCP读取时超时,插件将重设超时并继续读取。

  • scan error...:TCP 读取错误,插件将等待一段时间后重试。

SERVICE_SYSLOG_PACKET_ALARM

service_syslog插件错误,通过UDP采集时发生错误。

单击错误查看详细报错,报错根据内容分为如下类型,请根据详细报错中的具体错误信息进行排查。

  • connection i/o timeout...:通过UDP读取时超时,插件将重设超时并继续读取。

  • read from error...:UDP读取错误,插件将等待一段时间后重试。

PARSE_TIME_FAIL_ALARM

解析日志时间失败。

您可以通过以下两种方法定位及解决问题:

  • 正则表达式提取的时间字段是否正确。

  • 指定的时间字段内容是否匹配配置中的时间表达式。