Aller au contenu

Module Lua influxdb

Le module influxdb permet d’écrire et de lire des points de métriques dans une base InfluxDB v2 via le protocole HTTP. Il expose deux fonctions Lua :

  • write pour envoyer un point unique (mesure, champs, tags, timestamp).

Pour l’importer, utilisez :

local db = require("influxdb") 
-- remplacer “influxdb” par le name du module dans la config YAML

Configuration

Dans votre fichier aca04-agentaca.yaml, déclarez le module avec ses paramètres :

modules:
  influxdb:
    - name: influxdb1   # nom du module
      url: http://localhost:8086    # URL du serveur InfluxDB
      token: my-secret-token           # jeton d’authentification
      org: my-org                      # organisation InfluxDB
      bucket: metrics                  # bucket où écrire et lire

Détails de la configuration

  • name : nom unique de l’instance.
  • url : URL complète (incluant protocole et port) de l’API InfluxDB.
  • token : jeton d’accès API InfluxDB.
  • org : nom de l’organisation InfluxDB.
  • bucket : nom du bucket (base de données) cible.

Fonctions Lua

influxdb1.write(measurement, fields_tbl, tags_tbl[, timestamp_ms])

Écrit un point unique dans InfluxDB.

  • Paramètres
  • measurement (string) : nom de la mesure.
  • fields_tbl (table) : dictionnaire { champ = valeur } (number, string ou bool).
  • tags_tbl (table) : dictionnaire { tag = valeur } (string).
  • timestamp_ms (number, optionnel) : timestamp en millisecondes depuis l’Époque. Si omis, time.Now() est utilisé.
  • Retour
  • true si OK, sinon nil et err (string).
local ok, err = influxdb1.write(
  "cpu_usage",
  { usage = 42.5 },
  { host = "edge1", region = "eu" }
)
if not ok then
  print("Échec de l’écriture :", err)
end

Champs associés

  • db.name : nom de l’instance InfluxDB.
  • db.type : égal à "influxdb".