#python #ping #influxdb
#python #ping #influxdb
Вопрос:
У меня проблемы с записью данных в мой influxdb это код из моего скрипта python. Это скрипт ping для поиска, подключены ли мои устройства к локальной сети. После этого я могу прочитать файл python в influxdb, я хочу визуализировать это в Grafana
*import subprocess
import platform
from influxdb import InfluxDBClient
router= "192.168.1.1"
measurement = "ping"
def ping_ip(current_ip_address):
try:
output = subprocess.check_output("ping -{} 1 {}".format('n' if platform.system().lower(
) == "windows" else 'c', current_ip_address ), shell=True, universal_newlines=True)
if 'unreachable' in output:
return False
else:
return True
except Exception:
return False
if __name__ == '__main__':
current_ip_address = [router]
for each in current_ip_address:
if ping_ip(each):
print(f"{each} is available")
else:
print(f"{each} is not available")
ping_data = [{
"measurement" : "ping",
"tags" : {
"router" :router,
},
"fields" : {
"ping": ping_ip
}
}
]
client = InfluxDBClient('localhost', 8086, 'ping', 'ping', 'ping')
client.write_points(ping_data)*
Может кто-нибудь помочь мне, что я делаю не так с этим кодом?
Комментарии:
1. с какой реальной проблемой вы столкнулись? Вы видели, какое исключение выдается?
Ответ №1:
В вашем json вам нужно преобразовать результат вашей функции в строку.
ping_data = [{
"measurement" : "ping",
"tags" : {
"router" :router,
},
"fields" : {
"ping": str(ping_ip)
}
}
]