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í
| Komponenta | Role | Balíček |
|---|---|---|
| Grafana | Webové UI pro dashboardy, prohlížení logů a trace | grafana |
| Loki | Backend pro agregaci logů | loki |
| Tempo | Backend pro distribuované trace | tempo |
| Prometheus | Úložiště a dotazování metrik | prometheus |
| OpenTelemetry Collector | Agent telemetrie (přijímá OTLP, směruje do backendů) | insoft-otelcol-contrib |
| Insoft konfigurace | Drop-in konfigurace, která vše propojuje | insoft-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 na | Upstream 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
| Backend | Výchozí retence | Konfigurace |
|---|---|---|
| Loki | 240 hodin (10 dní) | /etc/loki/config.yml (limits_config.retention_period) |
| Tempo | 240 hodin (10 dní) | /etc/tempo/config.yml (compactor.compaction.block_retention) |
| Prometheus | Neomezená (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