Complete fluentbit toolkit with generation and validation capabilities
74
93%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
This reference documents detailed validation rules and best practices for each Fluent Bit configuration section.
Flush - Required, must be numeric (recommended: 1-5 seconds)Log_Level - Must be one of: off, error, warn, info, debug, traceParsers_File - File path must exist if specifiedHTTP_Server - Boolean: On or OffHTTP_Listen - IP address (default: 0.0.0.0)HTTP_Port - Port number (default: 2020)storage.metrics - Boolean: on or offstorage.path - Directory path for bufferingstorage.sync - Sync mode: normal or fullstorage.checksum - Boolean: off or onHTTP_Server On for health checks and metricsstorage.metrics on for monitoring buffer usageinfo for production, debug only for troubleshootingName - Must be a valid plugin name (see Valid Plugins below)Tag - Must follow tag format (alphanumeric, dots, hyphens, wildcards)tail - Read from log filesforward - Receive from Fluent Bit/Fluentdhttp - HTTP endpoint for log ingestiontcp - TCP listenersyslog - Syslog protocolsystemd - Systemd journalkubernetes_events - Kubernetes event streamPath - File path must exist (supports wildcards)Path_Key - Optional field name for file pathRead_from_Head - Boolean: On or OffRefresh_Interval - Numeric (seconds)Rotate_Wait - Numeric (seconds)Skip_Long_Lines - Boolean: On or OffSkip_Empty_Lines - Boolean: On or OffDB - Database file for position trackingDB.locking - Boolean: true or falseMem_Buf_Limit - Memory limit (e.g., 5MB, 100MB)Parser - Must reference existing parserListen - IP address (default: 0.0.0.0)Port - Port number (default: 24224)Buffer_Size - Buffer size with unit (e.g., 32KB)Listen - IP addressPort - Port numbertag_key - Optional tag field namesuccessful_response_code - HTTP response code (default: 200)Mem_Buf_Limit (50-100MB recommended) to prevent OOMDB parameter for tail inputs to survive restartsSkip_Long_Lines On to prevent memory issuesRefresh_Interval 10 for rotated log detectionSkip_Empty_Lines On to reduce noiseName - Must be a valid filter plugin nameMatch or Match_Regex - At least one requiredparser - Parse unstructured logskubernetes - Enrich with Kubernetes metadatamodify - Add/remove/rename fieldsnest - Nest/lift nested fieldsgrep - Include/exclude recordsrecord_modifier - Modify record fieldsrewrite_tag - Re-emit with new tagthrottle - Rate limitingmultiline - Combine multiline logsMatch - Tag pattern (supports wildcards)Match_Regex - Regex pattern for tag matchingKube_URL - Kubernetes API URLKube_CA_File - CA certificate path (must exist)Kube_Token_File - Token file path (must exist)Kube_Tag_Prefix - Tag prefix (default: kube.)Merge_Log - Boolean: On or OffKeep_Log - Boolean: On or OffBuffer_Size - Recommend 0 (unbuffered) for performanceKey_Name - Field to parse (required)Parser - Parser name (must exist)Reserve_Data - Boolean: On or OffPreserve_Key - Boolean: On or Off* unless intentional (matches everything)Buffer_Size 0 for better performanceReserve_Data On to keep original fieldsName - Must be a valid output plugin nameMatch - Tag pattern to matchelasticsearch - Elasticsearch/OpenSearchopensearch - OpenSearch (dedicated plugin)kafka - Apache Kafkaloki - Grafana Lokis3 - Amazon S3cloudwatch - Amazon CloudWatch Logshttp - Generic HTTP endpointforward - Forward to Fluent Bit/Fluentdfile - Write to filestdout - Write to stdoutopentelemetry - OpenTelemetry protocolsplunk - Splunk HECdatadog - DatadogMatch - Tag pattern (required)Retry_Limit - Number of retries (recommended: 3-5)storage.total_limit_size - Total buffer size (e.g., 5G)tls - Boolean: on or offtls.verify - Boolean: on or offtls.ca_file - CA certificate pathtls.crt_file - Client certificate pathtls.key_file - Client key pathCompress - Compression algorithm: gzipHost - Hostname or IP (required)Port - Port number (default: 9200)Index - Index nameType - Document type (deprecated in ES 7+)Logstash_Format - Boolean: On or OffLogstash_Prefix - Index prefix (default: logstash)HTTP_User - Username (use env var)HTTP_Passwd - Password (use env var)Suppress_Type_Name - Boolean: On or Off (required for ES 7+)Host - Hostname or IP (required)Port - Port numbermetrics_uri - Metrics endpoint (e.g., /v1/metrics)logs_uri - Logs endpoint (e.g., /v1/logs)traces_uri - Traces endpoint (e.g., /v1/traces)header - Custom headers (can specify multiple)Brokers - Comma-separated broker list (required)Topics - Topic name (required)Format - Message format: json, msgpack, gelfMessage_Key - Optional partition key fieldrdkafka.* - librdkafka configuration optionsRetry_Limit 3-5 to handle transient failuresstorage.total_limit_size to prevent disk exhaustiontls on and tls.verify onCompress gzip for network outputs to reduce bandwidthSuppress_Type_Name On for Elasticsearch 7.x and newerName - Parser name (unique identifier)Format - Parser format type (see Valid Formats)json - JSON parserregex - Regular expression parserlogfmt - Logfmt parserltsv - LTSV (Labeled Tab-Separated Values) parserTime_Key - Field containing timestampTime_Format - strptime format stringTime_Keep - Boolean: On or OffRegex - Regular expression with named capture groups (required)Time_Key - Field containing timestampTime_Format - strptime format stringTime_Keep - Boolean: On or OffTypes - Type conversion (e.g., status:integer)No additional required fields, but supports:
Time_Key - Field containing timestampTime_Format - strptime format stringTime_Format requires Time_Key to be set(?<field_name>pattern)MULTILINE_PARSER section for stack traces and multiline formatsTypes parameter to convert strings to integers/floatsTime_Key and Time_Format for proper timestamp handling[SECTION_NAME] required before key-value pairsKey Value (space-separated)[ and ]tls.verify Off in productionMem_Buf_Limit on tail inputsstorage.total_limit_size on outputs