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!
rubu gem database influxdb
Commentami!