Here is an example of docker containers for the observability of modoh-server
, conjunctively configured with its container in ../docker/
directory.
This example consists of the following containers:
opentelemetry-collector
: Receives and aggregates OTLP gRPC messages frommodoh-server
. In this example, it is collocated withmodoh-server
in a virtual local network. You need to update./otel-config.yml
as your setting.Jaeger
: Receives trace information via OTLP gRPC fromopentelemetry-collector
, and visualize the trace on the web (http://localhost:16686
). CurrentlyJaeger
in our setting uses a non-persistent in-memory storage.Grafana mimir
: Receives metrics information via Prometheus Remote Write protocol fromopentelemetry-collector
. This is responsible to aggregate and store the metric information in a long-term storage like object storage services. Update./mimir.yml
and./mimir-alertmanager-fallback.yml
if needed.Grafana
: Retrieves Prometheus metrics fromGrafana mimir
and visualize the metrics information on the web (http://localhost:3000
).Rclone
: Serves an S3 compatible object storage backed by a certain cloud storage service like Dropbox. This is connected fromGrafana mimir
to store the metrics data.rclone.conf
requires to be configured. (See the Rclone docs)
For the detailed configurations for these containers, please refer to ./docker-compose.yml
and its mounting configuration files. Of course, the ./docker-compose.yml
itself should be updated according to your environment.