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-k8sThen you could relate to alertmanager:
juju deploy alertmanager-k8s
juju relate alertmanager-k8s karma-k8sor 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-k8sYou 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-integratorKarma 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-k8sTo 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