Charmed Loki

loki-k8s is a charm for Loki. It is an essential part of the COS Lite bundle.

This Charmed Operator handles deployment, scaling, configuration, and Day 2 operations specific to Loki.

This operator drives the Loki application, and it can be composed with other operators to deliver a complex application or service.

The charm imposes configurable resource limits on the workload, can be readily integrated with logging sources, and comes with built-in alert rules and dashboards for self-monitoring.

This charm is:

  • part of the COS Lite bundle
  • intended to be used together with alertmanager-k8s

In this documentation

Tutorial
Get started - a hands-on introduction for new users deploying the charmed operator.
How-to guides
Step-by-step guides covering key operations and common tasks
Explanation
Concepts - discussion and clarification of key topics
Reference
Technical information - specifications, APIs, architecture

Project and community

Charmed Loki is part of the Canonical Observability Stack. It’s an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Thinking about using the Canonical Observability Stack for your next project? Get in touch!

Navigation

Level Path Navlink
1 Tutorials Tutorials
1 How To How To
2 http-api Using HTTP API
2 uncharmed Integrate with external (non-charmed) workloads
2 integrating Integrating
2 sizing Node sizing
2 missing-logs Troubleshooting missing logs
2 charm-logging Forwarding charm logs
2 pebble-log-forwarding Logging via Pebble Log Forwarding
1 Reference Reference
2 network Network requirements
2 solution-matrix Solution matrix
2 Security Cryptographic documentation for COS-Lite charms
1 Explanation Explanation
2 relations Relations
2 topology-labels Juju topology labels
2 Likes

the

Having an example IP address is pretty straightforward but if we want something copyable then maybe something like

alertmanager_ip=$(juju status alertmanager/0 --format=json | \
  jq -r ".applications.alertmanager.units.\"alertmanager/0\".address")

If deployed from charmhub then strictly speaking it is not the latest image. Maybe change to “Every release of the loki charm uses the latest stable version of loki at the time of release.”

1 Like

Thanks Leon!

@jose I had to run juju trust loki-k8s --scope=cluster in order to get it to work (stable rev 91). Otherwise, the charm stays in BlockedStatus with

unit-loki-k8s-0: 14:58:18 ERROR unit.loki-k8s/0.juju-log Failed to apply resource limit patch: statefulsets.apps "loki-k8s" is forbidden: User "system:serviceaccount:observability:loki-k8s" cannot get resource "statefulsets" in API group "apps" in the namespace "observability"

Hi @bartz

Fixed!

That’s because we are patching the StatefulSets… anyway, we are going to change this, so in the future you will not have to do it.

1 Like

@jose We are missing the Explanation index for this doc