Проблемы с записью данных из скрипта python во influxdb

#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)
}
}
]