Karma

Notifikationer och larm · Larminstrumentpanel för Prometheus Alertmanager

Instrumentpanel för Prometheus Alertmanager: slår ihop larm från flera instanser, filtrerar, visar inhiberade larm och hanterar tystnader.

Betyg 80 av 100 Praktiskt granskad

Läs bedömningen
API · Officiellt

Karmas eget HTTP-gränssnitt är integrationsytan: webbklienten hämtar larm och tystnader från JSON-slutpunkter i samma process, /metrics exponerar Prometheus-mätvärden och /health svarar på hälsokontroller. Slutpunkterna är inte dokumenterade som publikt API; tystnader skapas och avslutas i stället via Alertmanagers API v2.

Karmas HTTP-gränssnitt · Karma-projektet (prymitive)

Källa: https://github.com/prymitive/karma/blob/master/docs/CONFIGURATION.md

Kontrollerat:

MCP · Ej hittat

Ingen MCP-server finns för Karma, varken i kärnan eller som förstapartspaket. Den som vill automatisera larm och tystnader går mot Alertmanagers API v2 i stället.

MCP-server för Karma · —

Källa: Webbsökning 2026-11-04 efter MCP-server för Karma: inga relevanta träffar

Kontrollerat:

Karma: instrumentpanelen uppdelad per kluster med rubrikerna cluster: nordljus-backup med två larm, cluster: nordljus-drift med fyra larm och därefter nordljus-nat och nordljus-fil, varje larm med beskrivning, ålder, allvarlighetsgrad och etiketterna instance, job och team
1 / 5 Ett rutnät per kluster: Nordljus AB:s nio larm fördelade på nordljus-backup, nordljus-drift, nordljus-nat och nordljus-fil, med antal per kluster i rubriken

Bedömning

Så bedömer vi

Totalbetyg

80 av 100

Praktiskt granskad

Bedömningsprofil
Ett driftteam som kör Prometheus och Alertmanager i två instanser för hög tillgänglighet, och som vill ha en gemensam larmvy där det går att filtrera, se vilka larm som är inhiberade eller tystade och skapa tystnader – utan att bygga en egen instrumentpanel.
Bedömningsdatum
Modellversion
3.0.0
  1. Öppenhet och kontroll

    Apache License 2.0 enligt LICENSE i repot, och hela produkten ligger i samma förråd: Go-backenden som hämtar larm och hanterar tystnader och React-gränssnittet som renderar dem. Det finns ingen sluten utgåva, inget enterprise-paket och ingen licensnyckel. Instansen i labbet byggdes ur den publicerade containeravbildningen och körde utan konto. All konfiguration är en YAML-fil som går att versionshantera.

  2. Funktionell passform

    Driftsatt i labbet mot två Alertmanager-instanser i ett HA-par. Nio larm skickade till båda instanserna visades som nio larm totalt – dedupliceringen fungerade – och varje grupp bar båda källnamnen. Tystnaden som skapades på den ena instansen nådde den andra via klustret, och vyn för tystade larm visade tystnadens kommentar, skapare och sluttid. Inhiberade larm markerades med vilket larm som döljer dem, och multi-grid gav en ruta per kluster. Användningsfallet löstes utan kringgående. Avdraget gäller det som saknas i produkten: ingen notisleverans, ingen historik utan Prometheus och ett engelskt gränssnitt.

  3. Dataflytt och interoperabilitet

    Det finns inget inlåst tillstånd: Karma har ingen egen databas, larmen och tystnaderna ligger kvar i Alertmanager och följer med när den flyttas. Det som ska flyttas är konfigurationsfilen och den är YAML. Gränssnittet talar dessutom med Alertmanagers API v2, som är dokumenterat och standardiserat. Poängen dras ner från fem av att Karma inte har något dokumenterat eget API: den som vill läsa ut data programmatiskt hänvisas till interna JSON-slutpunkter utan kontrakt.

  4. Mognad och trygghet

    Projektet har funnits sedan 2018, har en versionshistorik med täta utgåvor, en changelog, en fullständig konfigurationsreferens och en publik demosajt. Utvecklingen är aktiv i dag. Säkerhetsmodellen är uttalad i README: Karma ändrar aldrig larm och tystnader är den enda skrivvägen. Det som håller kvar på fyra är förvaltningen: projektet drivs i praktiken av en enda underhållare och har ingen bred organisation bakom sig.

  5. Framtidskraft

    Karma har inget dokumenterat API, ingen CLI för automation och ingen MCP-server. Det som går att automatisera är konfigurationen – filter, etiketter, ACL:er och multi-grid sätts i en fil och kan versionshanteras – men själva instrumentpanelen är byggd för att läsas av människor. Den verkliga integrationsytan ligger ett steg bort: Alertmanagers API v2, som är dokumenterat och som både Prometheus och andra verktyg talar med. Poängen speglar att produkten inte är en integrationspunkt i sig.

  6. Drift och införande

    Införandet tog en compose-fil: en container, en YAML-fil med två Alertmanager-servrar och namnen i proxyn. Ingen databas att migrera, inget schema att uppgradera, ingen egen lagring att säkerhetskopiera. Uppgradering är att byta avbildningstagg, och konfigurationen kan läsas som miljövariabler i stället för fil. Driftkraven är dokumenterade och i rimlig proportion till nyttan.

  7. Kostnadsbild

    Apache-2.0 utan avgift, utan abonnemang och utan funktioner bakom betalning. Totalkostnaden är en container och den tid det tar att skriva konfigurationen; det finns ingen licensnyckel, ingen supportavgift och ingen inlåsning som kostar pengar att lämna. Kostnadsbilden är därmed både transparent och låg för målgruppen.

  8. Svensk användbarhet

    Webbgränssnittet är engelskt i den körande instansen, dokumentationen är engelsk och projektkanalerna är engelska. Det finns ingen lokaliseringsmekanism i gränssnittet och ingen svensk översättning att slå på. Produkten är tekniskt användbar i Sverige, men det finns inget verifierat svenskt belägg – därför ettan och inte noll.

Om Karma

Karma är en instrumentpanel ovanpå Prometheus Alertmanager, inte ett eget larmsystem. Den hämtar larm och tystnader från en eller flera Alertmanager-instanser – ett HA-par eller helt separata installationer – slår ihop identiska larm och märker varje rad med vilka instanser som rapporterade den. Grupperingen följer Alertmanagers group_by, så en grupp i Karma motsvarar en grupp som routingen faktiskt arbetar med. Ovanpå det finns filter på alla etiketter och på tillstånd (@state=active, suppressed), en multi-grid-vy som delar upp skärmen per valfri etikett, en översiktsmodal per etikettvärde, markering av inhiberade larm med en lista över vilka larm som döljer dem, samt tystnadshantering: skapa, bläddra bland och avsluta tystnader, med ACL-regler för vem som får tysta vad. Larmen kan också ackrediteras med en kortlivad tystnad, och en dead man's switch-kontroll larmar i gränssnittet om larmkedjan tystnar. Karma skriver aldrig till Alertmanager utom just tystnader, och kan proxy sådana anrop via sin egen backend. Projektet började som unsee på Cloudflare och skrevs om i React under namnet Karma; det är inte att förväxla med testramverket med samma namn.

Användning

Passar för

  • Driftteam som har flera Alertmanager-instanser – ett HA-par, en per miljö eller en per kluster – och vill se dem i en gemensam, filtrerbar larmvy i stället för att hoppa mellan flikar
  • Den som vill skapa och avsluta tystnader från samma skärm som larmen, med kommentar och skapare synliga, och styra vem som får tysta vad med ACL-regler
  • Team som vill förstå varför ett larm inte larmar: inhiberade larm visas med en lista över vilka larm som döljer dem, och tystade larm visar tystnadens kommentar och sluttid

Passar mindre bra för

  • Den som behöver notisleverans, eskalering eller jourhavande-scheman – Karma visar larm men skickar ingenting; det gör Alertmanager och dess mottagare
  • Den som vill ha larmhistorik och trender ur lådan – historikblocket kräver att Prometheus är nåbart och att history slås på, annars visas ingen historik
  • Den som behöver svenskt gränssnitt eller svensk support – webbgränssnitt, dokumentation och projektkanaler är engelska

Styrkor och begränsningar

Styrkor

  • Dedupliceringen fungerar: samma larm skickat till båda Alertmanager-instanserna i labbets HA-par visades en gång, med båda källnamnen, och tystnader skapade på den ena instansen dök upp i båda
  • Grupperingen följer Alertmanagers group_by, så det som är en grupp i routingen är en grupp i vyn – ingen egen grupperingsmodell att lära sig
  • Multi-grid delar skärmen per valfri etikett; i labbet gav cluster en egen ruta per kluster med antal larm i rubriken, vilket gjorde det uppenbart vilket kluster som brann
  • Tystnadsformuläret fyller i matchers ur larmgruppen och visar en förhandsgranskning av vilka larm tystnaden träffar innan den sparas
  • Inhiberade larm förklaras: ett klick visar vilka larm som döljer dem, i stället för att de bara försvinner ur vyn

Begränsningar

  • Gränssnittet är engelskt och det finns ingen lokaliseringsmekanism – svenska finns varken i webbgränssnitt, dokumentation eller projektkanaler
  • Karma levererar inga notiser: ingen e-post, ingen webhook, ingen eskalering. Det är en instrumentpanel, och notisvägen måste byggas i Alertmanager
  • Larmhistoriken i vyn kräver att Prometheus går att nå från webbläsaren och att history är påslaget i konfigurationen; utan det blir 24-timmarsblocket tomt
  • Inget dokumenterat publikt API: den som vill automatisera mot Karma har bara dess interna JSON-slutpunkter, och de är inte ett kontrakt
  • En enda underhållare står bakom större delen av koden – aktivt och med täta utgåvor, men projektet har ingen bred förvaltarorganisation
  • Karma kräver Alertmanager 0.22 eller senare och är känslig för API-förändringar i Alertmanager; README uppmanar uttryckligen till att följa den testade versionlistan

Skärmbilder

Tekniska resurser

Alternativ

ntfy

Notifikationer och larm · Pushnotiser över HTTP

Skript, backuper och cron-jobb skickar en notis med ett HTTP-anrop; ntfy levererar den till mobil, skrivbord och webbläsare – på egen server.

Startår
2021
Licens
Apache License 2.0 (även GPLv2)
Öppen källkod
Ja

Betyg

92 av 100

Preliminär (källbaserad)

Läs bedömningen om ntfy

Projektdata

35 284GitHub-stjärnor
Visa alla fakta och bedömningarVisa alla fakta
Startår
2021
Licens
Apache License 2.0 (även GPLv2)Öppen källkod (OSI-godkänd licens) · Repot är dubbellicensierat under Apache 2.0 och GPLv2, och GitHub identifierar Apache-2.0. Båda licenserna tillåter egen drift och ändringar; GPLv2-alternativet gör koden förenlig med projekt som redan står under GPL. · Licensmodeller
Öppen källkod
Ja
Plattformar
Linux · containers
API
REST API Uppgivet
Export
Delvis Hela meddelandehistoriken i cachen går att läsa ut per ämne med since=all i JSON-API:t, och användare, åtkomstregler och token ligger i SQLite-filer som kan flyttas med servern. Något samlat export- eller importverktyg för hela installationen finns inte dokumenterat. Uppgivet
Språk
Gränssnitt: Svenska · Dokumentation: Engelska · Support: Engelska
Öppenhet och kontroll Gäller: Hela produkten – server, webbapp, kommandoradsverktyg och mobilklienterna – ligger i ett repo under Apache 2.0 med GPLv2 som alternativ, och servern kan köras helt utan leverantörens tjänst. Inga funktioner i den egna servern är låsta till betalplanerna på ntfy.sh, som bara höjer gränser och förlänger lagringstider för den publika tjänsten.
Funktionell passform Gäller: I labbet publicerades tio meddelanden över fyra ämnen med JSON-API:t, med rubrik, prioritet och taggar, och de visades i webbappen i rätt ordning med tider, ikoner och klicklänk. Åtkomstregler per ämne och användare fungerade som dokumenterat: en läsbehörig kollega kunde läsa alla driftämnen men bara skriva i larmkanalen, och servern svarade på hälsokontrollen utan ingrepp.
Dataflytt och interoperabilitet Gäller: Notishistoriken går att läsa ut per ämne med since=all i JSON-API:t och användare, regler och token ligger i vanliga SQLite-filer som kan flyttas med servern. Prenumerationer och klienter talar samma HTTP-protokoll, så en annan server kan ta över adressen. Något samlat export- eller importverktyg för hela installationen finns inte dokumenterat, vilket håller nivån under 5.
Mognad och trygghet Gäller: Projektet har funnits sedan 2021, har över trettiofem tusen stjärnor och ett drygt hundratal utgåvor, egna appar i Google Play, App Store och F-Droid samt en dokumentationsportal som täcker publicering, prenumeration, serverkonfiguration, gränser och felsökning. Servern är ett enda program som har varit stabilt över många utgåvor, och den publika tjänsten drivs på samma kod.
Framtidskraft Gäller: Protokollet är vanlig HTTP utan egen klientberoende logik, vilket gör tjänsten lätt att byta ut eller bygga vidare på, och utvecklingen är aktiv med tät utgivningstakt. Avvägningen är att projektet i praktiken vilar på en huvudutvecklare och att iOS-notiser från en egen server är beroende av en vidarebefordran till ntfy.sh eller en egen APNS-ansluten server.
Drift och införande Gäller: Driftsättningen är en container eller ett paket med SQLite som standard, och i labbet räckte en enda container bakom den delade proxyn för fyra ämnen, två konton och tio meddelanden. Hälsokontroll och Prometheus-mått finns inbyggda. Det som drar ner nivån är att servern måste sättas bakom TLS, stängas med autentisering och gränser innan den exponeras, och att cachen och användardatabasen ska säkerhetskopieras separat.
Kostnadsbild Gäller: Egen server är gratis under Apache 2.0 utan funktionsgränser eller abonnemang, och alla klienter är fria att installera. Betalplanerna gäller den publika tjänsten ntfy.sh och höjer gränser och lagringstider där – inget som krävs för en egen installation.
Svensk användbarhet Gäller: Webbappen är översatt till svenska och följer webbläsarens språk: menyerna, inställningarna, publiceringsdialogen och kontosidorna visades på svenska i labbet. Mätningen mot projektets språkfiler ger 399 av 470 engelska nycklar med svenskt värde, och en del strängar i kontosidorna är ännu oöversatta. Dokumentation och support är på engelska.

Kostnad: .

Faktakontrollerad

Alerta

Notifikationer och larm · Larmkonsol som samlar och avdubblikar larm från flera övervakningssystem

Larmkonsol som tar emot larm från flera övervakningssystem, tar bort dubbletter och ger ett ställe att kvittera, tysta och följa upp dem.

Startår
2012
Licens
Apache-2.0
Öppen källkod
Ja

Betyg

87 av 100

Praktiskt granskad

Läs bedömningen om Alerta

Projektdata

2 535GitHub-stjärnor
Visa alla fakta och bedömningarVisa alla fakta
Startår
2012
Licens
Apache-2.0Öppen källkod (OSI-godkänd licens) · Hela källkoden – API, kommandoradsverktyg, plugin och webbkonsol – ligger under Apache-2.0 enligt LICENSE i repot. Det finns ingen sluten utgåva av samma kod och inga funktioner bakom avtal; alla larmfunktioner, kundvyer och integrationer följer med den egenhostade installationen. · Licensmodeller
Öppen källkod
Ja
Plattformar
Linux · containers
API
REST API Uppgivet
MCP
Saknas
Export
Delvis Alla larm, tystnader och hjärtslag går att läsa ut över API:et med paging och filter, och databasen är vanlig PostgreSQL eller MongoDB som kan dumpas med standardverktyg. Något samlat export- eller importverktyg för hela installationen, med användare och nycklar, finns inte. Uppgivet
Språk
Gränssnitt: Engelska · Dokumentation: Engelska · Support: Engelska
Öppenhet och kontroll Gäller: Hela källkoden ligger under Apache-2.0 enligt LICENSE i repot: API, kommandoradsverktyg, plugin och webbkonsol. Det finns ingen sluten utgåva av samma kod, inga funktioner bakom avtal och ingen licensnyckel – instansen i labbet startade utan konto och alla funktioner, inklusive kundvyer och API-nycklar, var tillgängliga direkt.
Funktionell passform Gäller: Driftsatt i labbet med PostgreSQL och tjugo larm: tre eskaleringar av samma disklarm blev en rad med fyra historikposter i stället för tre larm, fyra tystnader för planerade fönster låg ute utan att skymma de riktiga larmen, tre hjärtslag visade att nattbackupen, loggrotationen och faktureringskörningen rapporterade, och alla larm kunde läsas och skrivas över REST-API:et. Hela användningsfallet gick att lösa utan kringgående.
Dataflytt och interoperabilitet Gäller: Larmen är JSON över ett dokumenterat HTTP-API och databasen är vanlig PostgreSQL eller MongoDB, så själva larmhistoriken går att läsa ut och flytta. Men det finns inget samlat export- eller importverktyg för en installation – användare, API-nycklar, tystnader och plugin-konfiguration får återskapas för hand – och integrationerna i de övervakande systemen måste pekas om. Det som är portabelt är data och API-kontraktet, inte konfigurationen.
Mognad och trygghet Gäller: Projektet startade 2012 och har getts ut kontinuerligt sedan dess; 9.1.0 kom i mars 2026 och förrådet har commits från samma månad. Containeravbildningen alerta/alerta-web har närmare tio miljoner nedladdningar på Docker Hub, dokumentationen täcker API, plugin, kundvyer och distribution, och det finns ett etablerat kommandoradsverktyg och Python-SDK vid sidan av webbkonsolen.
Framtidskraft Gäller: Arkitekturen är enkel och öppen – allt går över ett dokumenterat HTTP-API, och integrationer skrivs som skript eller plugin, vilket gör att produkten kan bytas ut eller byggas vidare utan att larmen låser sig. Utvecklingstakten är måttlig: 9-serien kom 2024 och 9.1 först 2026, och projektet drivs av en liten krets utan kommersiell huvudman. Det ger en stabil men långsam plattform, därför fyra och inte fem.
Drift och införande Gäller: Två containrar – appen och PostgreSQL – räckte för en komplett larmbild, och admin-kontot skapades ur miljövariabler vid första starten. Driften kräver ändå sitt: en databas som säkerhetskopieras och uppgraderas, plugin-listan som styr vilka larm som avvisas eller berikas, och en genomtänkt timeout så att larm inte går till Expired i förtid. Det är normalt för ett internt verktyg, inte trivialt.
Kostnadsbild Gäller: Programvaran är gratis och Apache-2.0, det finns ingen avgiftsbelagd utgåva och inga funktioner som kräver abonnemang. Den enda kostnaden är drift av appen och dess databas, som kan ligga på befintlig hårdvara.
Svensk användbarhet Gäller: Webbgränssnittet har språkfilerna en, de, fr och tr – ingen svensk översättning – och dokumentationen finns bara på engelska. Datum och tider följer webbläsarens språk, men menyval, knappar och rapporter är engelska, och det finns ingen svensk supportkanal.

Kostnad: .

Faktakontrollerad

Källor