InfraxDB を使う
2019-6-13 1:00 JST
InfluxDB は時系列を扱うデータベース。むかし docker で作った時は docker 生成時に dbname というデータベースが自動的に作られた。
measurement が収集の単位。これを1つの収集とする。グラフ化する単位と思ってよい。Query をみると from に指定されるのでデータベースの table 的なもの。tags に任意のタグをつけることが出来る。例えば、location とか。select でフィルタリングするときに便利に使える。fields は実際の値。一度、整数などを入れてしまうと、あとで実数を入れようとするとエラーになる。そういう場合は delete_series で消せばよい。Python の例を示す。
to_deb.py
from influxdb import InfluxDBClient
client = InfluxDBClient('127.0.0.1', 8086, '####user####', '***passwd***', 'dbname')
client.switch_database('dbname')
print(client.get_list_database())
print(client.get_list_measurements())
print(client.get_list_retention_policies())
idata = [
{
"measurement": "status",
"tags": {"location": "field0"},
"fields": {
"temperature": 11,
"humidity": 22
}
},
]
idata = [
{
'measurement': 'register',
'fields': {
'simid': '07066632002',
'location': 2
}
}
]
#client.delete_series(database='dbname', measurement="status")
#client.delete_series(database='dbname', measurement="register")
#client.delete_series(database='dbname', measurement="register")
client.write_points(idata)
リンク集
InfluxDB の本家ドキュメント
InfluxDB の雑多な情報