The SRE Exporter is a service running in Edge Orchestrator that perpetually collects a subset of metrics from both Edge Orchestrator services and Edge Nodes, and exports them to an arbitrary external destination server using the Prometheus Remote-Write Protocol.
The SRE Exporter is intended to enhance the reliability of Edge Orchestrator by allowing it to store and monitor its essential metrics within an independent Site Reliability Engineering (SRE) system. Such an SRE system may implement its own data retention policy and provide SRE functions like performance monitoring, incident management, on-call management, etc.
The SRE Exporter allows for the configuration of the following settings:
- Destination server URL and basic authentication credentials
- TLS (optionally the server's private CA root certificate can be provided)
- Export time interval
- Edge Orchestrator instance-specific label
The SRE Exporter allows for monitoring the following metrics:
- Edge Orchestrator API success rate and latency
- Edge Orchestrator cluster nodes saturation metrics (CPU and memory)
- Edge Orchestrator Vault status
- Edge Nodes metrics (CPU, memory, disk, temperature) across all organizations and projects
See the Exported metrics specification for more details.
Read more about the SRE Exporter in the Documentation.
To set up the development environment and work on this project, follow the steps below.
All necessary tools will be installed using the install-tools
target.
Note that docker
and asdf
must be installed beforehand.
To install all the necessary tools needed for development the project, run:
make install-tools
To build the project, use the following command:
make build
To lint the code and ensure it adheres to the coding standards, run:
make lint
To run the tests and verify the functionality of the project, use:
make test
To build the Docker images for the project, run:
make docker-build
To package the Helm chart for the project, use:
make helm-build
To push the Docker images to the registry, run:
make docker-push
To push the Helm chart to the repository, use:
make helm-push
To load the Docker images into a local Kind cluster, run:
make kind-all
To generate code from protobuf definitions, use:
make proto
It is recommended to develop the sre-exporter
application by deploying and testing it as a part of the Edge Orchestrator cluster.
Refer to Development and Testing document for more detailed instructions.
The code of this project is maintained and released in CI using the VERSION
file.
In addition, the chart is versioned with the same tag as the VERSION
file.
This is mandatory to keep all chart versions and app versions coherent.
To bump the version, increment the version in the VERSION
file and run the following command
(to set version
and appVersion
in the Chart.yaml
automatically):
make helm-build
To learn how to contribute to the project, see the Contributor's Guide.
To learn more about the project, its community, and governance, visit the Edge Orchestrator Community.
For support, start with Troubleshooting or Contact us.
The Edge Orchestrator Site Reliability Engineering (SRE) Exporter is licensed under the Apache 2.0 License.
Last Updated Date: {March 28, 2025}