| # Master configuration file for google-fluentd |
| |
| # Include any configuration files in the config.d directory. |
| # |
| # An example "catch-all" configuration can be found at |
| # https://github.com/GoogleCloudPlatform/fluentd-catch-all-config |
| @include config.d/*.conf |
| |
| # Prometheus monitoring. |
| <source> |
| @type prometheus |
| port 24231 |
| </source> |
| <source> |
| @type prometheus_monitor |
| </source> |
| |
| # Do not collect fluentd's own logs to avoid infinite loops. |
| <match fluent.**> |
| @type null |
| </match> |
| |
| # Add a unique insertId to each log entry that doesn't already have it. |
| # This helps guarantee the order and prevent log duplication. |
| <filter **> |
| @type add_insert_ids |
| </filter> |
| |
| # Configure all sources to output to Google Cloud Logging |
| <match **> |
| @type google_cloud |
| # Set the chunk limit conservatively to avoid exceeding the recommended |
| # chunk size of 5MB per write request. |
| buffer_chunk_limit 1M |
| # Flush logs every 5 seconds, even if the buffer is not full. |
| flush_interval 5s |
| # Enforce some limit on the number of retries. |
| disable_retry_limit false |
| # After 3 retries, a given chunk will be discarded. |
| retry_limit 3 |
| # Wait 10 seconds before the first retry. The wait interval will be doubled on |
| # each following retry (20s, 40s...) until it hits the retry limit. |
| retry_wait 10 |
| # Never wait longer than 5 minutes between retries. If the wait interval |
| # reaches this limit, the exponentiation stops. |
| # Given the default config, this limit should never be reached, but if |
| # retry_limit and retry_wait are customized, this limit might take effect. |
| max_retry_wait 300 |
| # Use multiple threads for processing. |
| num_threads 8 |
| # Use the gRPC transport. |
| use_grpc true |
| # If a request is a mix of valid log entries and invalid ones, ingest the |
| # valid ones and drop the invalid ones instead of dropping everything. |
| partial_success true |
| # Enable monitoring via Prometheus integration. |
| enable_monitoring true |
| monitoring_type prometheus |
| project_id {{ project_id }} |
| vm_id {{ fqdn }} |
| vm_name {{ hostname }} |
| zone {{ zone_name }} |
| </match> |
| |