Skip to content

[receiver/filelog] Filelog receiver missing reading log lines in high throughput scenario #35137

Closed
@ceevaaa

Description

@ceevaaa

Component(s)

receiver/filelog

What happened?

Description

I am trying to read logs from a log file.

A bit about the log files

  • almost 250,000 lines are written per minute.
  • multiple parallel java process writes to the same file.
  • log files are rotated after they have become 250MB.

Is there a limit on how quickly can filelog receiver read logs from a file ?

A snippet from the log file

2024-09-11-12-51-50:496 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-50:497 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:499 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:196 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:396 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:496 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:596 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:696 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-51:716 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
2024-09-11-12-51-52:496 [9e0f4f407ed9e754,9e0f4f407ed9e754] [1100941918] INFO  some...amazing...log
.
.
.

Expected Result

All the log lines are read, processed and sent to next hop.

Actual Result

The filelog receiver misses reading lot of log lines. In fact almost 70% of the log lines are missed while reading.

Collector version

v0.104.0

Environment information

Environment

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CPU: 4vCPU
RAM: 8GB

OpenTelemetry Collector configuration

receivers:
  filelog:
    include: [ /home/Application/login.log ]
    include_file_path: true
    include_file_record_number: true
    poll_interval: 10ms
    start_at: end

processors:
  batch:

exporters:
  debug:
    verbosity: normal

service:
  pipelines:
    logs:
      receivers: [filelog]
      processors: [batch]
      exporters: [debug]

Internal Telemetry

# HELP otelcol_exporter_send_failed_log_records Number of log records in failed attempts to send to destination.
# TYPE otelcol_exporter_send_failed_log_records counter
otelcol_exporter_send_failed_log_records{exporter="debug",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 0
# HELP otelcol_exporter_sent_log_records Number of log record successfully sent to destination.
# TYPE otelcol_exporter_sent_log_records counter
otelcol_exporter_sent_log_records{exporter="debug",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 48903
# HELP otelcol_fileconsumer_open_files Number of open files
# TYPE otelcol_fileconsumer_open_files gauge
otelcol_fileconsumer_open_files{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 1
# HELP otelcol_fileconsumer_reading_files Number of open files that are being read
# TYPE otelcol_fileconsumer_reading_files gauge
otelcol_fileconsumer_reading_files{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 0
# HELP otelcol_process_cpu_seconds Total CPU user and system time in seconds
# TYPE otelcol_process_cpu_seconds counter
otelcol_process_cpu_seconds{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 4.16
# HELP otelcol_process_memory_rss Total physical memory (resident set size)
# TYPE otelcol_process_memory_rss gauge
otelcol_process_memory_rss{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 1.18206464e+08
# HELP otelcol_process_runtime_heap_alloc_bytes Bytes of allocated heap objects (see 'go doc runtime.MemStats.HeapAlloc')
# TYPE otelcol_process_runtime_heap_alloc_bytes gauge
otelcol_process_runtime_heap_alloc_bytes{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 6.224556e+07
# HELP otelcol_process_runtime_total_alloc_bytes Cumulative bytes allocated for heap objects (see 'go doc runtime.MemStats.TotalAlloc')
# TYPE otelcol_process_runtime_total_alloc_bytes counter
otelcol_process_runtime_total_alloc_bytes{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 1.243345416e+09
# HELP otelcol_process_runtime_total_sys_memory_bytes Total bytes of memory obtained from the OS (see 'go doc runtime.MemStats.Sys')
# TYPE otelcol_process_runtime_total_sys_memory_bytes gauge
otelcol_process_runtime_total_sys_memory_bytes{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 8.7384344e+07
# HELP otelcol_process_uptime Uptime of the process
# TYPE otelcol_process_uptime counter
otelcol_process_uptime{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 68.290974471
# HELP otelcol_processor_batch_batch_send_size Number of units in the batch
# TYPE otelcol_processor_batch_batch_send_size histogram
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="10"} 8
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="25"} 22
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="50"} 40
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="75"} 64
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="100"} 117
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="250"} 281
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="500"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="750"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="1000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="2000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="3000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="4000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="5000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="6000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="7000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="8000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="9000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="10000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="20000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="30000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="50000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="100000"} 325
otelcol_processor_batch_batch_send_size_bucket{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",le="+Inf"} 325
otelcol_processor_batch_batch_send_size_sum{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 48903
otelcol_processor_batch_batch_send_size_count{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 325
# HELP otelcol_processor_batch_metadata_cardinality Number of distinct metadata value combinations being processed
# TYPE otelcol_processor_batch_metadata_cardinality gauge
otelcol_processor_batch_metadata_cardinality{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 1
# HELP otelcol_processor_batch_timeout_trigger_send Number of times the batch was sent due to a timeout trigger
# TYPE otelcol_processor_batch_timeout_trigger_send counter
otelcol_processor_batch_timeout_trigger_send{processor="batch",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 325
# HELP otelcol_receiver_accepted_log_records Number of log records successfully pushed into the pipeline.
# TYPE otelcol_receiver_accepted_log_records counter
otelcol_receiver_accepted_log_records{receiver="filelog",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",transport=""} 48931
# HELP otelcol_receiver_refused_log_records Number of log records that could not be pushed into the pipeline.
# TYPE otelcol_receiver_refused_log_records counter
otelcol_receiver_refused_log_records{receiver="filelog",service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0",transport=""} 70614
# HELP target_info Target metadata
# TYPE target_info gauge
target_info{service_instance_id="97b54447-118c-43e9-95e4-c047b7d4f274",service_name="otelcol-contrib",service_version="0.104.0"} 1

In the below image the log receiver skips tons of lines.
image

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions