Note de version 0.2.0 (Bael), et reprise des huit pages de docs/ qui parlaient de dnsmasq ou du DHCP. Ajouts de fond : la section Backend DHCP de la page de configuration, avec la procédure de bascule manuelle et l'avertissement qu'elle ne migre rien ; la section du serveur intégré dans les services ; et dans la page de diagnostic comment interroger la socket de contrôle, probe étant le point de départ le plus rapide quand une VM n'obtient pas d'adresse. Le nom de version se déduit du rang, pas du numéro : deuxième release, deuxième nom de codenames.md. Construit avec sphinx-build -W --keep-going, sans avertissement. Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
84 lines
2.5 KiB
ReStructuredText
84 lines
2.5 KiB
ReStructuredText
Observabilité
|
|
=============
|
|
|
|
Métriques Prometheus
|
|
--------------------
|
|
|
|
Exposées sur le port ``prometheus.port`` (9090 par défaut), alimentées par l'état lu en base :
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
:widths: 40 60
|
|
|
|
* - Métrique
|
|
- Description
|
|
* - ``syonad_vpcs_total``
|
|
- nombre de VPC, par état
|
|
* - ``syonad_subnets_total``
|
|
- nombre de subnets, par état
|
|
* - ``syonad_vms_total``
|
|
- nombre de VM, par état
|
|
|
|
Les états sont ceux du :doc:`cycle de vie </concepts/cycle-de-vie>`. Une valeur non nulle et
|
|
durable sur ``error`` est l'alerte la plus utile à poser ; une valeur durable sur ``creating``
|
|
ou ``deleting`` signale une opération qui n'aboutit pas.
|
|
|
|
Watchdog
|
|
--------
|
|
|
|
Une goroutine périodique vérifie que les ressources marquées ``running`` en base existent
|
|
toujours sur le système, et **notifie les écarts sans jamais réparer**.
|
|
|
|
.. code-block:: yaml
|
|
|
|
watchdog:
|
|
enabled: true
|
|
interval_seconds: 60
|
|
|
|
Il contrôle notamment l'existence des network namespaces, des liens réseau des subnets, des taps
|
|
de VM et la réponse des units systemd associées.
|
|
|
|
.. note::
|
|
|
|
Un écart persistant est signalé **à chaque tick**, sans déduplication. Le volume de
|
|
notifications est donc proportionnel à la durée de l'anomalie : c'est voulu, mais cela veut
|
|
dire qu'une alerte doit agréger, pas compter.
|
|
|
|
Le watchdog étant strictement en lecture seule, une divergence entre la base et le système
|
|
subsiste jusqu'à une action explicite (``DELETE`` puis recréation).
|
|
|
|
Journaux
|
|
--------
|
|
|
|
``slog`` structuré, niveau réglé par ``logger.level`` (``debug``, ``info``, ``warn``, ``error``),
|
|
``logger.debug: true`` forçant ``debug``.
|
|
|
|
.. code-block:: bash
|
|
|
|
journalctl -u agent -f
|
|
journalctl -u 'metadata@i-web' -n 50
|
|
tail -f /var/log/dnsmasq-vp-admin_br-sn000001.log # backend dnsmasq
|
|
journalctl -fu 'dhcp@vp-admin_br-sn000001' # backend two
|
|
|
|
Inspection de la base
|
|
---------------------
|
|
|
|
En ligne de commande, sur l'host :
|
|
|
|
.. code-block:: bash
|
|
|
|
/opt/two/bin/db -conf /etc/two/agent.yml
|
|
|
|
.. warning::
|
|
|
|
``db`` ouvre directement la base Badger. **Ne pas l'utiliser pendant que l'agent tourne** :
|
|
deux processus ne doivent pas ouvrir la même instance.
|
|
|
|
L'API d'administration donne la même lecture sans ce risque, quand elle est activée :
|
|
|
|
.. code-block:: bash
|
|
|
|
curl -s 'http://127.0.0.1:9091/db?prefix=vm/'
|
|
|
|
Elle expose l'intégralité des valeurs, **y compris les hashs de mot de passe** — cf.
|
|
:doc:`/exploitation/configuration`.
|