Integracje

Jak dodać check KSeF do monitoringu

Najpopularniejsze narzędzia: UptimeRobot/Better Stack/Pingdom, Grafana/Prometheus, Zabbix/Icinga, Datadog/New Relic, Slack/Teams oraz eskalacje PagerDuty/Opsgenie.

Podstawowe endpointy

  • Check: https://ksef-status.pl/api/v1/check/TEST
  • Status: https://ksef-status.pl/api/v1/status/TEST
  • History (24h): https://ksef-status.pl/api/v1/history/TEST?range=24h&bucket=auto
  • Metrics (Prometheus): https://ksef-status.pl/metrics
  • Health: https://ksef-status.pl/healthz

Zamień TEST na DEMO/PROD według potrzeb.

Status kody (check)

  • 200 OK → tekst OK
  • 206 Partial → tekst WARN
  • 503 Service Unavailable → tekst CRIT

Wystarczy sprawdzenie kodu HTTP; treść jest pomocnicza.

UptimeRobot / Better Stack / Pingdom

  1. Typ: HTTP(S) check.
  2. URL: https://ksef-status.pl/api/v1/check/TEST.
  3. Kod oczekiwany: 200 (OK). WARN → 206, CRIT → 503.
  4. Fraza opcjonalna: OK w treści.

Grafana / Prometheus

  • Scrape: https://ksef-status.pl/metrics
  • Alert (przykład):
    - alert: KSeFDown
      expr: ksef_status{env="TEST"} >= 2
      for: 5m
      labels:
        severity: critical
      annotations:
        summary: "KSeF TEST niedostępny"
        description: "Status >= CRIT przez 5m"
  • Wykresy: ksef_response_avg_ms, ksef_status.

Zabbix / Icinga

  • Typ: HTTP agent / web scenario.
  • URL kroku: https://ksef-status.pl/api/v1/check/TEST.
  • Kod: 200; opcjonalnie regex na treść OK.
  • Trigger: kod != 200 lub czas > próg.

Datadog / New Relic

  • Synthetics HTTP: https://ksef-status.pl/api/v1/check/TEST, kod 200.
  • Fraza: OK (opcjonalnie).
  • Metryki: pull https://ksef-status.pl/metrics (Agent/OTel).
  • Alert: status != 200 lub latency > baseline.

Slack / Microsoft Teams

Przykładowe payloady webhook:

POST https://hooks.slack.com/services/...
Content-Type: application/json
{
  "text": "KSeF TEST: CRIT (avg 5200 ms)"
}
POST https://outlook.office.com/webhook/...
Content-Type: application/json
{
  "@type": "MessageCard",
  "text": "KSeF TEST: WARN (avg 1800 ms)"
}

PagerDuty / Opsgenie

Skonfiguruj alerty z Prometheus/Grafana/Zabbix jako źródło i wyślij do webhooku PD/Opsgenie.

Przykład: Alertmanager → webhook PD/Opsgenie, warunek ksef_status >= 2 przez 5m.