Skip to main content

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​

FichierRôle
dashboards/machines-overview.jsonParc de machines : dernier relevé, CPU, mémoire, charge, disque, réseau, systèmes de fichiers
dashboards/machines-kubernetes-nodes.jsonNœuds Kubernetes (plan de contrôle et workers) : état, usage, pressions
dashboards/services-overview.jsonServices : état, santé, version, mode, méthode, pannes et alertes dans le temps
dashboards/services-detail.jsonDétail d'un service : URL et points d'accès, instances par machine
provisioning/datasources/clickhouse.yamlSource de données ClickHouse (uid navin-clickhouse, base navin_manager)
provisioning/dashboards/navin.yamlChargement 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​

  1. 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 base navin_manager, l'utilisateur d'écriture navin_manager du Manager et l'utilisateur en lecture seule navin_reader.
  2. Installez le greffon : grafana cli plugins install grafana-clickhouse-datasource.
  3. Copiez provisioning/datasources/clickhouse.yaml dans /etc/grafana/provisioning/datasources/ et provisioning/dashboards/navin.yaml dans /etc/grafana/provisioning/dashboards/.
  4. Copiez dashboards/*.json dans /var/lib/grafana/dashboards/navin/.
  5. Définissez dans l'environnement de Grafana NAVIN_CLICKHOUSE_HOST (adresse du serveur ClickHouse) et NAVIN_CLICKHOUSE_READER_PASSWORD (mot de passe de navin_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​

FilePurpose
dashboards/machines-overview.jsonMachine fleet: last sample, CPU, memory, load, disk, network, file systems
dashboards/machines-kubernetes-nodes.jsonKubernetes nodes (control plane and workers): state, usage, pressures
dashboards/services-overview.jsonServices: state, health, version, mode, method, failures and alerts over time
dashboards/services-detail.jsonDetail of a service: URLs and endpoints, instances per machine
provisioning/datasources/clickhouse.yamlClickHouse datasource (uid navin-clickhouse, database navin_manager)
provisioning/dashboards/navin.yamlLoads 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​

  1. Provision the telemetry database from the Manager: service clickhouse, command Provision the telemetry database (provision_telemetry). It creates the database navin_manager, the Manager writer navin_manager and the read only user navin_reader.
  2. Install the plugin: grafana cli plugins install grafana-clickhouse-datasource.
  3. Copy provisioning/datasources/clickhouse.yaml to /etc/grafana/provisioning/datasources/ and provisioning/dashboards/navin.yaml to /etc/grafana/provisioning/dashboards/.
  4. Copy dashboards/*.json to /var/lib/grafana/dashboards/navin/.
  5. Set NAVIN_CLICKHOUSE_HOST (address of the ClickHouse server) and NAVIN_CLICKHOUSE_READER_PASSWORD (password of navin_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.