Ad Widget

Collapse

Обработка поступающего JSON, как сделать лучше?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Dasty
    Junior Member
    • Jul 2020
    • 15

    #1

    Обработка поступающего JSON, как сделать лучше?

    Привет ребята!

    Хочу мониторить 5 активно кушающих процессор процессов,
    слепил скрипт, который в виде json выдает вот такой результат:

    Code:
    {
    "data": [
    {
    "{#CPUPERCENT}": 87.95,
    "{#CPU}": 0.25,
    "{#PROCESSNAME}": "powershell"
    },
    {
    "{#CPUPERCENT}": 27.14,
    "{#CPU}": 144.96875,
    "{#PROCESSNAME}": "oracle"
    },
    {
    "{#CPUPERCENT}": 5.71,
    "{#CPU}": 18.890625,
    "{#PROCESSNAME}": "ugslmd"
    },
    {
    "{#CPUPERCENT}": 2.95,
    "{#CPU}": 15.84375,
    "{#PROCESSNAME}": "windowsService"
    },
    {
    "{#CPUPERCENT}": 1.86,
    "{#CPU}": 9.921875,
    "{#PROCESSNAME}": "TcServerManagerService"
    }
    ]
    }
    в конфиге заббикс агента, я вызываю этот скрипт следующим образом:
    UserParameter=ListAllProcesses[*],powershell -nologo -file c:\zabbix_agent\scripts\gettoploadprocesses.ps1

    на стороне Zabbix (5.0) создаю Discovery Rule

    Click image for larger version

Name:	DiscoveryRule.png
Views:	195
Size:	30.9 KB
ID:	408237

    Создал по паре Item Prototype

    Click image for larger version

Name:	ItemPrototype1.png
Views:	155
Size:	55.2 KB
ID:	408238

    и

    Click image for larger version

Name:	ItemPrototype2.png
Views:	154
Size:	57.9 KB
ID:	408239

    и вот работает вся эту конструкция, но как-то вот не нравится, что ли, получаемый результат:

    Click image for larger version

Name:	Result.png
Views:	148
Size:	604.0 KB
ID:	408240

    Меняется не цифра загрузки процессора, а множатся Item-ы, пользоваться этим невозможно, в Latest Data, так вообще нет показателей.

    Я точно где-то портачу, но не пойму где, буду благодарен за любые идеи, спасибо.
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Вполне очевидный результат. Как настроили - то и получили.
    Как понял хочется мониторить ПРОЦЕССы ? так и прототип ЭД должен отражать процесс в первую очередь + метрику по нему.
    1) делаем прототип с именем «CPU проценты {#PROCESSNAME}» и ключем «cpu_percent({#PROCESSNAME})». (второй по аналогии)
    в результате работы LLD получим набор ЭД.
    2) далее разбираемся как эти ЭД будут получать данные. вариантов несколько.
    представьте что это обычные эд имеющие параметром имя процесса - как бы вы их настроили?

    Comment

    • Dasty
      Junior Member
      • Jul 2020
      • 15

      #3
      Originally posted by Hamardaban
      Вполне очевидный результат. Как настроили - то и получили.
      Как понял хочется мониторить ПРОЦЕССы ? так и прототип ЭД должен отражать процесс в первую очередь + метрику по нему.
      1) делаем прототип с именем «CPU проценты {#PROCESSNAME}» и ключем «cpu_percent({#PROCESSNAME})». (второй по аналогии)
      в результате работы LLD получим набор ЭД.
      2) далее разбираемся как эти ЭД будут получать данные. вариантов несколько.
      представьте что это обычные эд имеющие параметром имя процесса - как бы вы их настроили?
      Спасибо за отклик,
      вы знаете, я бы хотел получить, что-то в духе классического диспетчера процессов:

      Click image for larger version

Name:	process_list.png
Views:	151
Size:	9.0 KB
ID:	408299

      В конечном итоге, я воспринимаю Zabbix как "черный ящик" для IT, хотелось бы видеть комплексную картину, такой-то сервер медленно обрабатывал запросы, на фоне:
      процесса zzzz.exe поглащающего 54% процессрного времени, и на oracle который медленно обрабатывал поступающие запросы.

      Comment

      Working...