35 lines
999 B
Python
35 lines
999 B
Python
## Sean Corrigan 2020
|
|
# Easy lite API to use in my other scripts
|
|
# to send data to my influx server.
|
|
|
|
from influxdb import InfluxDBClient
|
|
|
|
def createFields(datadict):
|
|
data = []
|
|
for i,v in datadict.items():
|
|
data.append("\"{}\": {}\n".format(i,v))
|
|
return ''.join(data)
|
|
|
|
|
|
def uploadData(host, database, measurementname, datadict, nickname = 'pythontestscript', port=8086): ## Push data to Influx server
|
|
fields = createFields(datadict)
|
|
bind_params = {'host': servernickname}
|
|
|
|
json_body = [
|
|
{
|
|
"measurement": measurementname,
|
|
"tags": {
|
|
"host": servernickname,
|
|
},
|
|
|
|
"fields": {
|
|
createFields(datadict),
|
|
}
|
|
}
|
|
]
|
|
|
|
client = InfluxDBClient(host, port, database) # Init connection to Influx Server
|
|
client.write_points(json_body) # Write Speedtest results
|
|
|
|
if if __name__ == "__main__":
|
|
uploadData(host='192.168.0.13', database='telegraf', ) |