Задать вопрос
@mrlevtol

Какой лучший способ вынести параметры запуска скрипта на python для разных хостов?

Хочу написать собственный экспoртер для мoнитoрингa виндовой инфраструктуры, который должен преобразовывать jsоn, который забирает мeтрики из LHM и преобразовывает их в прoмeтеус формат.
Проблема в том, что
1) Если делать в лоб, то получается очень громоздкий захардкоженный кусок кода вида

# создаём объект типа Gauge
        self.MB_temperature = Gauge("MB_temperature", "Motherbord Temperature, first sensor")
        self.MB_Fan_1 = Gauge("MB_Fan_1", "Motherbord Fan #1")
...
        self.GPU_Temperature_Core = Gauge("GPU_Temperature_Core", "GPU Core Temperature_Core")
...


# впоследствии, присваиваем значение метрике
        self.MB_temperature.set(LhmMetricsRespJson["Children"][0]["Children"][0]["Children"][0]["Children"][1]["Children"][0]["Value"])
        self.MB_Fan_1.set(LhmMetricsRespJson["Children"][0]["Children"][0]["Children"][0]["Children"][2]["Children"][0]["Value"])
...
        self.GPU_Temperature_Core.set(LhmMetricsRespJson["Children"][0]["Children"][3]["Children"][1]["Children"][0]["Value"])
...


2) Формат jsоn'а, который отдаёт LHM, неодинаков для разного железа, и полагаться на цифры индекса и глубину вложения нельзя: где-то может быть меньше/больше вентиляторов, сетевых карт, SSD и т.п.

Как лучше всего вынести параметры запуска скрипта для разных хостов?
Надо как-то вынести набор "метрика (название+описание) + путь, откуда брать её значение" в отдельные файлы для разных хостов, которые скрипт должен подтягивать при запуске, но как это сделать удобнее всего?

Пример jsоn'а, который отдаёт LHM: https://pastebin.com/ituNcrZj
  • Вопрос задан
  • 130 просмотров
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы