Complete fluentbit toolkit with generation and validation capabilities
92
92%
Does it follow best practices?
Impact
Pending
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