Configurer l'Agent Watchflare Tous les champs de agent.conf : connexion Hub, TLS, intervalles, journal d'écriture anticipée, journaux, variables d'environnement.
L’agent lit un fichier TOML, écrit par register. Dans la pratique, vous n’y touchez presque jamais. Un redémarrage du service recharge le fichier.
Plateforme Chemin Linux /etc/watchflare/agent.confmacOS (Apple Silicon) /opt/homebrew/etc/watchflare/agent.confmacOS (Intel) /usr/local/etc/watchflare/agent.conf
Attention
agent.conf contient agent_key. Traitez-le comme un mot de passe. Droits 0640 (root:watchflare sous Linux). Ne le copiez pas ailleurs, ne le collez pas dans un ticket.
Exemple complet
# Hub connection
server_host = " hub.example.com "
server_port = " 50051 "
# Credentials (written at registration, do not edit manually)
agent_id = " xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx "
agent_key = " base64encodedkey... "
# TLS
ca_cert_file = " /etc/watchflare/ca.pem "
server_name = " watchflare "
# Collection intervals
heartbeat_interval = 5 # seconds
metrics_interval = 30 # seconds
# Write-Ahead Log
wal_enabled = true
wal_path = " /var/lib/watchflare/metrics.wal "
wal_max_size_mb = 10
# Logging
log_file = " /var/log/watchflare-agent.log "
log_level = " info "
# Container metrics (opt-in)
container_metrics = false
Champs
Connexion
Champ Type Défaut Description server_hoststring Aucun Nom d’hôte ou IP du Hub server_portstring "50051"Port gRPC du Hub
Identifiants
register les écrit. N’y touchez pas.
Champ Type Description agent_idstring UUID attribué par le Hub à l’enregistrement agent_keystring Clé HMAC pour signer les requêtes gRPC
TLS
Champ Type Défaut Description ca_cert_filestring Aucun Chemin du certificat CA du Hub, écrit à l’enregistrement server_namestring "watchflare"Nom présenté au TLS. Écrit à l’enregistrement d’après la réponse du Hub. Doit correspondre au CN du certificat.
Intervalles de collecte
Champ Type Défaut Description heartbeat_intervalint 5Secondes entre deux heartbeats metrics_intervalint 30Secondes entre deux collectes (et envois) de métriques
Write-Ahead Log
Champ Type Défaut Description wal_enabledbool trueÉcrit les métriques en local tant que le Hub est injoignable wal_pathstring {data_dir}/metrics.walChemin du fichier WAL wal_max_size_mbint 10Taille max du WAL, en Mo. Au-delà, les plus anciens sont jetés (FIFO).
Journaux
Champ Type Défaut Description log_filestring ""Chemin du fichier de journal. Vide : stdout, récupéré par systemd ou launchd. log_levelstring "info"Niveau : debug, info, warn, error. Pour forcer le debug : WATCHFLARE_DEBUG=1.
Métriques conteneurs
Champ Type Défaut Description container_metricsbool falseMétriques par conteneur (Docker et Podman). Sous Linux, l’utilisateur watchflare doit être dans le groupe docker. Voir Métriques Docker .
Variables d’environnement
Quatre variables pour changer les chemins ou le niveau de journal. Homebrew les pose tout seul sous macOS. Vous n’avez généralement rien à exporter.
Variable Description WATCHFLARE_CONFIG_DIRDossier de config (/etc/watchflare sous Linux) WATCHFLARE_DATA_DIRDossier de données (/var/lib/watchflare sous Linux) WATCHFLARE_LOG_FILEChemin du fichier de journal WATCHFLARE_DEBUG1 force le niveau debug, quel que soit log_level
Fichiers
Linux
Chemin Rôle Propriétaire Mode /usr/local/bin/watchflare-agentBinaire root:root 755 /etc/watchflare/agent.confConfig root:watchflare 640 /etc/watchflare/ca.pemCertificat CA root:watchflare 640 /var/lib/watchflare/Données watchflare:watchflare 750 /var/lib/watchflare/metrics.walWAL watchflare:watchflare 640 /var/lib/watchflare/packages.state.jsonÉtat des paquets watchflare:watchflare 640 /var/log/watchflare-agent.logJournaux watchflare:watchflare 644 /etc/systemd/system/watchflare-agent.serviceService root:root 644
macOS
$(brew --prefix) vaut /opt/homebrew sur Apple Silicon, /usr/local sur Intel.
Chemin Rôle $(brew --prefix)/bin/watchflare-agentBinaire $(brew --prefix)/etc/watchflare/agent.confConfig $(brew --prefix)/etc/watchflare/ca.pemCertificat CA $(brew --prefix)/var/watchflare/Données $(brew --prefix)/var/watchflare/metrics.walWAL $(brew --prefix)/var/watchflare/packages.state.jsonÉtat des paquets $(brew --prefix)/var/log/watchflare-agent.logJournaux