Aller au contenu

Module Lua influxdb

Le module influxdb permet d’écrire et lire des points de métriques via HTTP.

Import

Pour importer le module :

local influxdb = require("influxdb1")

Configuration YAML

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.

API 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 Lua associés

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