Přeskočit na hlavní obsah

Observabilita

UCS obsahuje samostatný observability stack — metriky, logy a distribuované trace — jako volitelný balíček insoft-telemetry. Společně s insoft-ucs se neinstaluje automaticky; nainstalujte ho ručně na hostech, kde chcete lokální sběr a vizualizaci telemetrie:

apt install insoft-telemetry    # Ubuntu
dnf install insoft-telemetry # RHEL

insoft-telemetry jako závislosti stáhne Grafanu, Loki, Tempo, Prometheus a OpenTelemetry Collector a nakonfiguruje je. Typické nasazení instaluje balíček na jednom nebo více centrálních observability hostech; ostatní UCS hosty mohou telemetrii přes Collector tam posílat.

Co je součástí

KomponentaRoleBalíček
GrafanaWebové UI pro dashboardy, prohlížení logů a tracegrafana
LokiBackend pro agregaci logůloki
TempoBackend pro distribuované tracetempo
PrometheusÚložiště a dotazování metrikprometheus
OpenTelemetry CollectorAgent telemetrie (přijímá OTLP, směruje do backendů)insoft-otelcol-contrib
Insoft konfiguraceDrop-in konfigurace, která vše propojujeinsoft-telemetry

Collector přijímá telemetrii z aplikací a každý signál posílá do příslušného backendu (trace → Tempo, metriky → Prometheus, logy → Loki). Grafana pak všechny tři backendy dotazuje a vizualizuje.

Přístup do Grafany

Doporučená URL (přes Traefik na HTTPS):

https://<adresa-serveru>/grafana/

Přímá URL (bez proxy):

http://<adresa-serveru>:3030/grafana/

Grafana je nakonfigurovaná tak, aby sloužila ze sub-cesty /grafana/, takže může běžet za Traefikem na stejném hostu jako zbytek UCS. Prefix /grafana/ je vyžadovaný v obou URL. Výchozí port :3000 je rovněž posunut na :3030, protože :3000 koliduje s uauth-fa na UCS hostech.

Výchozí přihlášení: admin / admin — Grafana vynutí změnu hesla při prvním přihlášení.

Přednastavení hesla administrátora

Pro automatizovanou instalaci (Ansible apod.) nastavte heslo před první instalací zápisem do environment souboru Grafany:

echo 'GF_SECURITY_ADMIN_PASSWORD=<vygenerované>' >> /etc/default/grafana-server

Pro každý host generujte unikátní heslo a ukládejte do správce hesel — nevkládejte hesla do sdílených skriptů.

LDAP / SSO

Pro Microsoft Active Directory nebo LDAP integraci nakonfigurujte v Grafaně LDAP autentizaci v souboru /etc/grafana/ldap.toml a povolte [auth.ldap] v grafana.ini. Lokální admin pak slouží jen jako break-glass účet.

Umístění konfigurací

Insoft konfigurace žijí na standardních upstream cestách — soubory /etc/loki/config.yml, /etc/tempo/config.yml a /etc/prometheus/prometheus.yml můžete otevřít v editoru jako obvykle.

V pozadí je každá z těchto cest symlink na conffile dodávaný Insoft balíčkem. Při instalaci je upstream originál přejmenován s příponou .dist a symlink se vytvoří:

Aktivní cesta (zde editujte)Symlink naUpstream originál
/etc/loki/config.yml/etc/loki/config-insoft.yml/etc/loki/config.yml.dist
/etc/tempo/config.yml/etc/tempo/config-insoft.yml/etc/tempo/config.yml.dist
/etc/prometheus/prometheus.yml/etc/prometheus/prometheus-insoft.yml/etc/prometheus/prometheus.yml.dist
/etc/default/prometheus/etc/default/prometheus-insoft/etc/default/prometheus.dist

Konfigurace OpenTelemetry Collectoru zůstává na standardní cestě bez přesměrování: /etc/otelcol-contrib/config.yaml (z balíčku insoft-otelcol-contrib).

Při aktualizacích: cíl symlinku (*-insoft.yml) je dpkg/rpm conffile balíčku insoft-telemetry. Pokud jste přes symlink soubor upravili, vaše změny přežijí apt upgrade / dnf upgrade — package manager případnou novou dodávanou verzi uloží vedle jako .dpkg-dist / .rpmnew, abyste mohli diff a případně mergnout naše nové defaulty.

Při odinstalaci: symlink se odstraní a .dist soubor se přejmenuje zpět na původní cestu — vrátí se upstream defaulty.

Po úpravě konfigurace restartujte příslušnou službu:

systemctl restart loki     # nebo tempo / prometheus / grafana-server / otelcol-contrib

Retence

BackendVýchozí retenceKonfigurace
Loki240 hodin (10 dní)/etc/loki/config.yml (limits_config.retention_period)
Tempo240 hodin (10 dní)/etc/tempo/config.yml (compactor.compaction.block_retention)
PrometheusNeomezená (bez časového vypršení)--storage.tsdb.retention.time=0 v /etc/default/prometheus

Prometheus si standardně drží vše — sledujte zaplnění disku a podle potřeby upravte.

Odesílání telemetrie

Aplikace běžící na stejném hostu by měly posílat do lokálního collectoru:

EndpointÚčel
localhost:4317 (gRPC)OTLP — přijímá trace, metriky, logy
localhost:4318 (HTTP)OTLP — přijímá trace, metriky, logy

Externí klienti (webové stránky, mobilní aplikace) posílají přes HTTPS skrz Traefik:

https://<adresa-serveru>/otel/v1/{traces,metrics,logs}

Pro detaily k instrumentaci aplikací a přesný formát payloadu viz vývojářskou dokumentaci (Telemetrie).

Troubleshooting

Stránka Grafany vrací "no session id" nebo podobný divný výstup na :3000 — to je uauth-fa, ne Grafana. Grafana na UCS hostech je na https://<host>/grafana/ (případně přímo :3030/grafana/).

Loki / Tempo hlásí "Ingester not ready: waiting for 15s after being ready" — normální 15sekundová pauza po restartu. Počkejte a opakujte.

Tempo selhává s "Permission denied" — zkontrolujte, že /var/tempo/ a jeho podadresáře existují a vlastní je uživatel tempo. Post-install skript balíčku insoft-telemetry je vytváří; pokud se práva ztratí, obnovte ručně:

mkdir -p /var/tempo/{wal,blocks,generator/wal,generator/traces}
chown -R tempo: /var/tempo
systemctl restart tempo

Loki selhává s "mkdir /var/lib/loki: permission denied" — stejný vzor:

mkdir -p /var/lib/loki/{chunks,rules} /var/lib/compactor
chown -R loki: /var/lib/loki /var/lib/compactor
systemctl restart loki

V Grafaně se neobjevují data:

  1. Ověřte, že služby běží: systemctl status grafana-server loki tempo prometheus otelcol-contrib
  2. Ověřte, že porty naslouchají: ss -lntp | grep -E ":3030|:3100|:3200|:4317|:4318|:9091"
  3. Zkontrolujte v collectoru chyby exportu: journalctl -u otelcol-contrib -n 50 --no-pager
  4. Vyzkoušejte přímý curl přes collector — viz vývojářské dokumenty Telemetrie.

Porty

Kompletní seznam portů najdete v sekci Komunikace.