Alertmanager UI is useful for browsing alerts and managing silences, but it's lacking as a dashboard tool - karma aims to fill this gap. This charm deploys and manages Karma in a Kubernetes environment.
See the Karma source for the details on Karma itself.
To use Karma, you need to have at least one Alertmanager instance that you wish to view. These need to be either related to Karma, or you can use the karma-alertmanager-proxy charm configured to point to a remote Alertmanager instance, and relate that to karma. For more information see INTEGRATING.
You also need to have a working Kubernetes environment, and have bootstrapped a Juju controller of version 2.9+, with a model ready to use with the Kubernetes cloud.
Example deployment:
juju deploy karma-k8s
Then you could relate to alertmanager:
juju deploy alertmanager-k8s
juju relate alertmanager-k8s karma-k8s
or to a remote alertmanager via an alertmanager proxy:
juju deploy karma-alertmanager-proxy-k8s --config url="http://somewhere:9093"
juju relate karma-alertmanager-proxy-k8s karma-k8s
You could add an ingress for the karma web interface (see INTEGRATING for more information):
# ingress for karma web interface
juju deploy nginx-ingress-integrator
juju relate karma-k8s nginx-ingress-integrator
Karma is an alertmanager client and therefore is not designed to operate as an HA cluster internally. For this reason there is no difference in availability between deploying multiple karma apps vs multiple karma units, although the latter would be easier to configure.
To add additional Karma units for high availability,
juju add-unit karma-k8s
To access Karma, use a web browser pointing to http://service-address:8080
.
Currently, supported relations are:
dashboard
, via which karma-operator receives information about alertmanager units, e.g. from alertmanager-operator or karma-alertmanager-proxy-operator.ingress
, for interfacing with nginx-ingress-integrator.
This charm can be used with the following image:
ghcr.io/prymitive/karma:v0.111