Ad Widget

Collapse

Создание низкоуровневого обнаружения

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • leader32
    Junior Member
    • Aug 2013
    • 4

    #1

    Создание низкоуровневого обнаружения

    Здравствуйте.
    Решил создать обнаружение ядер процессоров, установленных на целевом хосте. Версия агента и сервера одинаковые, 2.0.6, установленные с репозитория. Система Red Hat Enterprise Linux 6.4 x64.

    /etc/zabbix_agentd.conf
    UserParameter=cpu.cores.discovery,sudo /scripts/zabbix/cpu.cores.discovery
    UserParameter=system.cpu.idle[*],sudo /scripts/zabbix/PerCoreStat -i $1

    zabbix_get отрабатывает успешно как при запросе обнаружения, так и при получении значения элемента данных:

    # zabbix_get -s 127.0.0.1 -k cpu.cores.discovery
    {
    "data":[
    {
    "{#CORENAME}":"Core0",
    "{#COREINDEX}":"0"},
    {
    "{#CORENAME}":"Core1",
    "{#COREINDEX}":"1"},
    {
    "{#CORENAME}":"Core2",
    "{#COREINDEX}":"2"},
    {
    "{#CORENAME}":"Core3",
    "{#COREINDEX}":"3"}]}

    # zabbix_get -s 127.0.0.1 -k system.cpu.idle[1]
    97.14

    Но элементы данных просто не появляются в списке данного хоста. Причем, при ручном оздании элемента с ключом system.cpu.idle[1], в статусе обнаружения пишется ошибка о уже существующем элементе данных.

    Низкоуровневое обнаружение создавалось с параметрами:
    Имя: CPU Cores Discovery
    Ключ: cpu.cores.discovery
    Макрос: {#COREINDEX}
    Регулярное выражение: @CPU cores to discovery

    Прототип элемента данных:
    Имя: Idle time for $1
    Ключ: system.cpu.idle[{#COREINDEX}]
    Тип данных: float

    Выходной формат обнаружения специально подгонял по образцу с доступными по умолчанию шаблонами. Однако, элементы всё равно не появляются.

    Что нужно добавить/убрать, чтобы элементы создавались автоматически?
  • leader32
    Junior Member
    • Aug 2013
    • 4

    #2
    Вот что появляется в логах сервера, после включения параметра DebugLevel=4:

    7520:20130829:165435.937 In substitute_key_macros() data:'cpu.cores.discovery'
    7520:20130829:165435.937 End of substitute_key_macros():SUCCEED data:'cpu.cores.discovery'
    7520:20130829:165435.937 In substitute_simple_macros() data:'10050'
    7520:20130829:165435.937 In get_value() key:'cpu.cores.discovery'
    7520:20130829:165435.937 In get_value_agent() host:'Zabbix server' addr:'127.0.0.1' key:'cpu.cores.discovery'
    7520:20130829:165435.937 Sending [cpu.cores.discovery
    ]
    7521:20130829:165435.940 In get_values()
    7521:20130829:165435.940 In DCconfig_get_poller_items() poller_type:0

    Comment

    • leader32
      Junior Member
      • Aug 2013
      • 4

      #3
      Solved

      Проблема решена, оказалось, всё дело в регулярном выражении. Я копировал его с документации, но не проходило. Тогда решил поставить действитльно точно работающее выражение, и элементы автоматически добавились.

      Если кому интересно, как закончу с созданием остальных обнаружений, могу выложить сюда, либо в общий раздел на английском языке, полные выкладки по скриптам, пользовательским параметрам и шаблонам.

      Comment

      • SHADOW-13
        Junior Member
        • Sep 2013
        • 2

        #4
        мне очень интересно.

        Comment

        • leader32
          Junior Member
          • Aug 2013
          • 4

          #5
          Вобщем, форум не дал запостить, говорит, много ссылок/картинок, можно здесь посмотреть:

          How to get CPU Per Core Discovery in Zabbix 2.0:
          http://pastebin.com/7ASgRwnW

          If you have a questions, welcome to thread!
          Attached Files

          Comment

          Working...