Connessione a InfluxDB con Ruby

Mattepuffo's logo
Connessione a InfluxDB con Ruby

Connessione a InfluxDB con Ruby

Come sapete Ruby non mi fa impazzire, ma ho deciso comunque di continuare un pò a tenerlo vivo e testarlo su alcune cose.

In questo articolo vediamo come usarlo per connetterci a InfluxDB.

Non andremmo molto in "profondità", anche perchè ho fatto giusto un test veloce.

Ma funziona; prima di tutto dobbiamo installare la libreria tramite gem:

gem install influxdb-client

Dopo di che dovete creare il vostro token, se non lo avete già ovviamente.

Questa operazione la fate direttamente dalla voce apposita che trovate in Load Data.

Fatto questo:

require 'influxdb-client'

token = 'TOKEN'
org = 'EMAIL'
bucket = 'test'

client = InfluxDB2::Client.new('https://eu-central-1-1.aws.cloud2.influxdata.com', token, precision: InfluxDB2::WritePrecision::NANOSECOND)

# SCRITTURA
write_api = client.create_write_api
point = InfluxDB2::Point.new(name: 'mem')
  .add_tag('host', 'host1')
  .add_field('used_percent', 23.43234543)
  .time(Time.now.utc, InfluxDB2::WritePrecision::NANOSECOND)
write_api.write(data: point, bucket: bucket, org: org)

# LETTURA
query = "from(bucket: "test") |> range(start: -1h)"
tables = client.create_query_api.query(query: query, org: org)
tables.each do |_, table|
  table.records.each do |record|
    puts "#{record.time} #{record.measurement}: #{record.field}=#{record.value}"
  end
end

client.close!

Dove org è la email con la quale vi siete iscritti; e bucket è quello che avete creato.

Enjoy!


Condividi

Commentami!