https://github.com/netcracker/qubership-logging-operator
Operator to deploy Logging parts in Cloud
https://github.com/netcracker/qubership-logging-operator
logging observability qubership-observability
Last synced: about 2 months ago
JSON representation
Operator to deploy Logging parts in Cloud
- Host: GitHub
- URL: https://github.com/netcracker/qubership-logging-operator
- Owner: Netcracker
- License: apache-2.0
- Created: 2024-12-12T10:56:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-20T11:47:01.000Z (about 2 months ago)
- Last Synced: 2026-04-20T12:38:00.615Z (about 2 months ago)
- Topics: logging, observability, qubership-observability
- Language: Go
- Homepage:
- Size: 4.1 MB
- Stars: 0
- Watchers: 4
- Forks: 9
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Qubership Logging Operator
[](https://golang.org/)
[](https://kubernetes.io/)
[](https://helm.sh/)
[](https://netcracker.github.io/qubership-logging-operator)
Kubernetes Operator for deploying and managing a comprehensive logging stack including Graylog, FluentD, FluentBit,
and K8S Events Reader.
## Table of Contents
* [Qubership Logging Operator](#qubership-logging-operator)
* [Table of Contents](#table-of-contents)
* [Features](#features)
* [Requirements](#requirements)
* [Common Prerequisites](#common-prerequisites)
* [Storage Requirements](#storage-requirements)
* [Installation](#installation)
* [Quick Start with Helm](#quick-start-with-helm)
* [Usage](#usage)
* [Configuration](#configuration)
* [API Reference](#api-reference)
* [Architecture](#architecture)
* [System Overview](#system-overview)
* [Testing](#testing)
* [Integration Tests](#integration-tests)
* [Robot Framework Tests](#robot-framework-tests)
* [Contributing](#contributing)
* [License](#license)
## Features
The main features are as follows:
* **Comprehensive Logging Stack**: Deploy Graylog, FluentD, FluentBit, and K8S Events Reader
* **Kubernetes Native**: Extend Kubernetes API with custom resources and controllers
* **Multi-Platform Support**: Kubernetes 1.21+ and OpenShift 4.10+ compatibility
* **Template-Based Deployment**: Logging deployment via customizable templates
* **High Availability**: Support for HA configurations
* **Cloud Integration**: AWS CloudWatch, Kafka, Splunk integrations
* **Security**: TLS support, RBAC, authentication proxy
* **Monitoring**: Built-in observability and troubleshooting tools
* **Integration Testing**: Automated testing framework
## Requirements
### Common Prerequisites
* **Kubernetes**: 1.21+ or OpenShift 4.10+
* **Command-line Tools**: kubectl 1.21+ or oc 4.10+
* **Package Manager**: Helm 3.0+
* **Go**: 1.24+ (for development)
### Storage Requirements
* **Persistent Volumes**: Required for Graylog (MongoDB and journald)
* **Storage Types**: Block storage recommended (NFS-like storage not supported)
* **OpenSearch/Elasticsearch**: Compatible versions depend on Graylog version
For detailed storage requirements, see the [Installation Guide](https://netcracker.github.io/qubership-logging-operator/installation/).
## Installation
### Quick Start with Helm
1. Add the Helm repository:
```bash
helm repo add qubership-logging-operator https://netcracker.github.io/qubership-logging-operator
helm repo update
```
2. Install the operator:
```bash
helm install qubership-logging-operator qubership-logging-operator/qubership-logging-operator
```
3. Create a LoggingService custom resource to deploy your logging stack.
For comprehensive installation instructions, see the [Installation Guide](https://netcracker.github.io/qubership-logging-operator/installation/).
## Usage
The operator extends Kubernetes API by creating custom resources and controllers that watch these resources.
Deploy logging components by creating LoggingService custom resources.
Example usage and configuration can be found in the
[Examples](https://netcracker.github.io/qubership-logging-operator/examples/) section.
## Configuration
The operator supports extensive configuration options for all logging components:
* **FluentD**: Custom inputs, filters, and outputs
* **FluentBit**: Daemon set and stateful set configurations
* **Graylog**: Authentication, plugins, storage settings
* **K8S Events Reader**: Event filtering and forwarding
For detailed configuration options, see:
* [Configuration Examples](https://netcracker.github.io/qubership-logging-operator/examples/)
* [Graylog Configuration Guide](https://netcracker.github.io/qubership-logging-operator/graylog-configuration/)
## API Reference
Complete API documentation is available at:
* [API Reference](https://netcracker.github.io/qubership-logging-operator/api/)
* [Architecture & Components](https://netcracker.github.io/qubership-logging-operator/architecture/)
## Architecture
### System Overview
```mermaid
flowchart TB
subgraph "Kubernetes Cluster"
subgraph "Logging Operator"
LO[Logging Operator
Controller]
CR[LoggingService
Custom Resource]
end
subgraph "Log Collection"
FB[FluentBit
DaemonSet]
FD[FluentD
DaemonSet]
ER[Events Reader
Deployment]
end
subgraph "Log Processing & Storage"
GL[Graylog
StatefulSet]
MG[(MongoDB)]
ES[(OpenSearch/
Elasticsearch)]
end
subgraph "Applications"
APP1[App Pods]
APP2[App Pods]
K8S[Kubernetes API]
end
end
subgraph "External"
EXT[External Systems
AWS CloudWatch, Kafka, Splunk]
end
CR --> LO
LO --> FB
LO --> FD
LO --> GL
LO --> ER
APP1 --> FB
APP2 --> FB
K8S --> ER
FB --> FD
FD --> GL
ER --> GL
GL --> MG
GL --> ES
GL --> EXT
```
The operator follows the standard Kubernetes operator pattern, extending the API with custom resources and controllers.
For detailed architecture information, see the [Architecture Guide](https://netcracker.github.io/qubership-logging-operator/architecture/).
## Testing
The project includes comprehensive testing:
### Integration Tests
```bash
# Run integration tests
make test-integration
```
### Robot Framework Tests
```bash
# Run robot tests
cd test/robot-tests
pip install -r requirements.txt
robot src/tests/
```
For more testing information, see the test directories:
* `test/envtests/` - Environment tests
* `test/robot-tests/` - Robot framework tests
## Contributing
We'd love to accept patches and contributions to this project. Please follow these guidelines:
1. **Contributor License Agreement**: You must sign the [Contributor License Agreement](https://pages.netcracker.com/cla-main.html)
2. **Code of Conduct**: Read and follow the [Code of Conduct](CODE-OF-CONDUCT.md)
3. **Development**: See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.