The Logging Operator is now a CNCF Sandbox project.
The Logging operator solves your logging-related problems in Kubernetes environments by automating the deployment and configuration of a Kubernetes logging pipeline.
Your logs are always transferred on authenticated and encrypted channels.
This operator helps you bundle logging information with your applications: you can describe the behavior of your application in its charts, the Logging operator does the rest.
This operator helps you bundle logging information with your applications: you can describe the behavior of your application in its charts, the Logging operator does the rest.
The Logging operator manages the log collectors and log forwarders of your logging infrastructure, and the routing rules that specify where you want to send your different log messages.
The log collectors are endpoint agents that collect the logs of your Kubernetes nodes and send them to the log forwarders. Logging operator currently uses Fluent Bit as log collector agents.
The log forwarder instance receives, filters, and transforms the incoming the logs, and transfers them to one or more destination outputs. The Logging operator supports Fluentd and syslog-ng as log forwarders. Which log forwarder is best for you depends on your logging requirements.
You can filter and process the incoming log messages using the flow custom resource of the log forwarder to route them to the appropriate output. The outputs are the destinations where you want to send your log messages, for example, Elasticsearch, or an Amazon S3 bucket. You can also define cluster-wide outputs and flows, for example, to use a centralized output that namespaced users can reference but cannot modify. Note that flows and outputs are specific to the type of log forwarder you use (Fluentd or syslog-ng).
You can configure the Logging operator using the following Custom Resource Definitions.
Logging
resource defines the logging infrastructure (the log collectors and forwarders) for your cluster that collects and transports your log messages. It also contains configurations for Fluent Bit, Fluentd, and syslog-ng.ClusterOutput
. To configure syslog-ng outputs, see SyslogNGOutput
.filters
and outputs
. Basically, the flow routes the selected log messages to the specified outputs. This is a namespaced resource. See also ClusterFlow
. To configure syslog-ng flows, see SyslogNGFlow
.controlNamespace
only unless allowClusterResourcesFromAllNamespaces
is set to true.controlNamespace
only unless allowClusterResourcesFromAllNamespaces
is set to true. To configure syslog-ng clusterflows, see SyslogNGClusterFlow
.SyslogNGClusterOutput
. To configure Fluentd outputs, see output
.filters
and outputs
. Basically, the flow routes the selected log messages to the specified outputs. This is a namespaced resource. See also SyslogNGClusterFlow
. To configure Fluentd flows, see flow
.controlNamespace
only unless allowClusterResourcesFromAllNamespaces
is set to true.controlNamespace
only unless allowClusterResourcesFromAllNamespaces
is set to true. To configure Fluentd clusterflows, see clusterflow
.See the detailed CRDs documentation.
Follow these quickstart guides to try out the Logging operator!
Deploy Logging Operator with our Helm chart.
Caution: The master branch is under heavy development. Use releases instead of the master branch to get stable software.
If you encounter problems while using the Logging operator the documentation does not address, open an issue or talk to us on the #logging-operator Discord channel.
You can find the complete documentation on the Logging operator documentation page :blue_book:
If you find this project useful, help us:
Please read the Organisation's Code of Conduct!
For more information, read the developer documentation.
Copyright (c) 2021-2023 Cisco Systems, Inc. and its affiliates Copyright (c) 2017-2020 Banzai Cloud, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.