Tableaux de bord Grafana Navin (add-on optionnel) / Navin Grafana dashboards (optional add-on)
Français
Pourquoi un add-on séparé
Grafana est publié sous licence AGPL-3.0. La politique de licences de la plateforme
(ADR-0101) interdit de livrer un composant AGPL avec Navin :
le test services/control-plane/tests/test_platform_no_agpl.py refuse toute mention de Grafana sous deploy/, make/
et navin-manager/catalog. La plateforme ne déploie donc pas Grafana et ne livre plus de serveur de tableaux de bord
(ADR-0169) : les machines et les services se suivent dans le Navin Manager (onglet
de surveillance des services avec son historique en base, métriques des hôtes, export de télémétrie vers ClickHouse),
les agents, la passerelle LLM, le FinOps, les SLO et la sécurité dans les écrans du portail, les journaux dans
OpenSearch Dashboards, les traces dans Jaeger et Opik.
Ce dossier propose des tableaux prêts à l'emploi pour les équipes qui exploitent déjà leur propre Grafana. Il n'est
ni installé, ni configuré, ni distribué par la plateforme : vous l'importez dans votre Grafana, sous votre
responsabilité de licence. Ce Grafana peut ensuite être relié comme console du portail avec EAI_GRAFANA_URL.
Le greffon de source de données utilisé, grafana-clickhouse-datasource, est sous licence Apache-2.0.
Contenu
| Fichier | Rôle |
|---|---|
dashboards/machines-overview.json | Parc de machines : dernier relevé, CPU, mémoire, charge, disque, réseau, systèmes de fichiers |
dashboards/machines-kubernetes-nodes.json | Nœuds Kubernetes (plan de contrôle et workers) : état, usage, pressions |
dashboards/services-overview.json | Services : état, santé, version, mode, méthode, pannes et alertes dans le temps |
dashboards/services-detail.json | Détail d'un service : URL et points d'accès, instances par machine |
provisioning/datasources/clickhouse.yaml | Source de données ClickHouse (uid navin-clickhouse, base navin_manager) |
provisioning/dashboards/navin.yaml | Chargement des tableaux depuis /var/lib/grafana/dashboards/navin |
Les requêtes lisent les tables host_metrics, host_disks,
node_metrics, service_status, service_components, service_endpoints et les vues host_latest, node_latest,
service_latest exportées en temps réel par le Manager (NM_CLICKHOUSE_URL).
Importer
- Provisionnez la base de télémétrie depuis le Manager : service
clickhouse, commande Provisionner la base de télémétrie (provision_telemetry). Elle crée la basenavin_manager, l'utilisateur d'écriturenavin_managerdu Manager et l'utilisateur en lecture seulenavin_reader. - Installez le greffon :
grafana cli plugins install grafana-clickhouse-datasource. - Copiez
provisioning/datasources/clickhouse.yamldans/etc/grafana/provisioning/datasources/etprovisioning/dashboards/navin.yamldans/etc/grafana/provisioning/dashboards/. - Copiez
dashboards/*.jsondans/var/lib/grafana/dashboards/navin/. - Définissez dans l'environnement de Grafana
NAVIN_CLICKHOUSE_HOST(adresse du serveur ClickHouse) etNAVIN_CLICKHOUSE_READER_PASSWORD(mot de passe denavin_reader, depuis votre coffre de secrets ; jamais dans un fichier versionné), puis redémarrez Grafana.
Sans provisionnement, importez chaque JSON par Dashboards > New > Import et choisissez une source de données
ClickHouse dont l'uid est navin-clickhouse.
Les variables host (identifiant ou nom de la machine) et service (nom du service dans le catalogue) acceptent une
valeur vide pour tout afficher, par exemple ?var-host=<id de la machine> ou ?var-service=clickhouse.
English
Why a separate add-on
Grafana is released under the AGPL-3.0 licence. The licence policy of the platform
(ADR-0101) forbids shipping an AGPL component with Navin: the
test services/control-plane/tests/test_platform_no_agpl.py refuses any Grafana reference under deploy/, make/ and
navin-manager/catalog. The platform therefore does not deploy Grafana and no longer ships a dashboard server
(ADR-0169): machines and services are followed in the Navin Manager (service
monitoring tab with its history in the database, host metrics, telemetry export to ClickHouse), agents, LLM gateway,
FinOps, SLO and security in the portal screens, logs in OpenSearch Dashboards, traces in Jaeger and Opik.
This folder offers ready made dashboards to teams that already run their own Grafana. The platform neither installs,
configures nor distributes it: you import it into your Grafana, under your own licence responsibility. That Grafana can
then be linked as a console of the portal with EAI_GRAFANA_URL. The datasource plugin it uses,
grafana-clickhouse-datasource, is licensed under Apache-2.0.
Content
| File | Purpose |
|---|---|
dashboards/machines-overview.json | Machine fleet: last sample, CPU, memory, load, disk, network, file systems |
dashboards/machines-kubernetes-nodes.json | Kubernetes nodes (control plane and workers): state, usage, pressures |
dashboards/services-overview.json | Services: state, health, version, mode, method, failures and alerts over time |
dashboards/services-detail.json | Detail of a service: URLs and endpoints, instances per machine |
provisioning/datasources/clickhouse.yaml | ClickHouse datasource (uid navin-clickhouse, database navin_manager) |
provisioning/dashboards/navin.yaml | Loads the dashboards from /var/lib/grafana/dashboards/navin |
The queries read the tables host_metrics, host_disks, node_metrics,
service_status, service_components, service_endpoints and the views host_latest, node_latest,
service_latest exported in real time by the Manager (NM_CLICKHOUSE_URL).
Import
- Provision the telemetry database from the Manager: service
clickhouse, command Provision the telemetry database (provision_telemetry). It creates the databasenavin_manager, the Manager writernavin_managerand the read only usernavin_reader. - Install the plugin:
grafana cli plugins install grafana-clickhouse-datasource. - Copy
provisioning/datasources/clickhouse.yamlto/etc/grafana/provisioning/datasources/andprovisioning/dashboards/navin.yamlto/etc/grafana/provisioning/dashboards/. - Copy
dashboards/*.jsonto/var/lib/grafana/dashboards/navin/. - Set
NAVIN_CLICKHOUSE_HOST(address of the ClickHouse server) andNAVIN_CLICKHOUSE_READER_PASSWORD(password ofnavin_reader, from your secret store; never in a versioned file) in the environment of Grafana, then restart it.
Without provisioning, import each JSON with Dashboards > New > Import and pick a ClickHouse datasource whose uid
is navin-clickhouse.
The variables host (id or name of the machine) and service (catalog name of the service) accept an empty value to
show everything, for instance ?var-host=<machine id> or ?var-service=clickhouse.