Ad Widget

Collapse

zfs and zones

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mikhaylov.rv
    Junior Member
    • Dec 2011
    • 12

    #1

    zfs and zones

    сервер Zabbix:
    готовое решение Zabbix 1.8.9 opensuse

    Сторона клиента:
    агент версии 1.8.5 (сборка 19050) от 15.04.2011 бинарная сборка с сайта
    Исходные данные системы
    SunOS 5.10 sparc 2 зоны и 2 пула zfs

    для примера хотел отследить состояние зон и статус файловой системы
    zabbix_agentd.conf
    ---------------------------------------
    #1
    UserParameter=zpool.[*],zpool status -x $1 | grep "is healthy" | wc -l
    #2
    UserParameter=zpool.status,zpool status | grep -q "No known data errors" && echo 1 ||echo 0
    #3
    UserParameter=zpool.list,zpool list | grep -q "ONLINE" && echo 0 ||echo 1
    #4
    UserParameter=zpool.onlinecount,zpool list | grep -q "OFFLINE" |wc -l
    #5
    UserParameter=zoneadm.runall,zoneadm list -v | grep "running" |wc -l
    --------------------------------------
    проверка локально показывает:

    данные вроде как обрабатываются

    ключи :

    для #1
    zpool.[home]
    для #2
    zpool.status

    при первом обновлении он отключает их как "Не поддерживается"

    хотя остальные данные поступают от агента не поступают только те что в "UserParameter"
    при этом локально :
    пример>>
    /sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t zpool.[home]
    zpool.[home] [t | 0]

    в какую сторону копать? уже столько идей накопилось )) а все остановилось буквально на пороге...

    и ещё ни где не нашел как отследить загрузку по процессору на платформе sparc где процессоров 4 или 8 то что уже есть из шаблонов показывает что то непонятное из одной переменной system.cpu.load[,avg1] и system.cpu.util[,user,avg1] причем вторая нулевая пробовал system.cpu.load[,avg1,2,3,4,5,6,7,8] ничего может есть какое то решение и на эту задачку или он там идет единым модулем и отслеживается через одну переменную на загрузку и простой
    Attached Files
    Last edited by mikhaylov.rv; 19-12-2011, 10:39.
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    zabbix_agent перезапускали после добавления UserParameter?
    Тестировать UserParameter лучше zabbix_get.
    Все остальные проверки, которые работают, у вас тоже типа Zabbix Agent(Active)?
    По поводу system.cpu.util, документацию почитайте.
    http://www.zabbix.com/documentation/...l/config/items
    Last edited by dima_dm; 19-12-2011, 11:09.

    Comment

    • mikhaylov.rv
      Junior Member
      • Dec 2011
      • 12

      #3
      Originally posted by dima_dm
      zabbix_agent перезапускали после добавления UserParameter?
      да конечно

      Originally posted by dima_dm
      Тестировать UserParameter лучше zabbix_get.
      пробую в
      /bin/zabbix_get -s 127.0.0.1 -p 10050 -k "zpool.stat"
      Broken Pipe
      /bin/zabbix_get -s 127.0.0.1 -p 10050 -k "zpool.[home]"
      пустая строка

      пробую из примера:
      zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
      пустая строка

      Originally posted by dima_dm
      Все остальные проверки, которые работают, у вас тоже типа Zabbix Agent(Active)?
      другие шаблоны работают все передается в режиме "Zabbix агент" кроме пользовательских параметров,
      они в режиме "Zabbix агент (активный)" пользовательские настройки не переходят в режим "Не поддерживается", но и данные не передаются

      Originally posted by dima_dm
      По поводу system.cpu.util, документацию почитайте.
      http://www.zabbix.com/documentation/...l/config/items
      не дошел до этой главы ещё ) обязательно прочту вопросов пока больше нет по этой теме. Пока ждал ответа докрутил теперь и процессоры корректно отображает, отличная табличка по настройке.
      Last edited by mikhaylov.rv; 19-12-2011, 12:17.

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        проверьте, что адрес 127.0.0.1 указан в поле Server
        /etc/zabbix/zabbix_agentd.conf
        Server=172.16.36.76,127.0.0.1

        Добейтесь сначала, чтобы UserParameter заработал в режиме "Zabbix агент"
        Соединения открываются
        Активный режим: zabbix_agent -> zabbix_server:10051,
        Пассивный режим zabbix_agent:10050 <- zabbix_server
        Стрелкой показано направление открытия TCP соединения

        Comment

        • mikhaylov.rv
          Junior Member
          • Dec 2011
          • 12

          #5
          Originally posted by dima_dm
          проверьте, что адрес 127.0.0.1 указан в поле Server
          /etc/zabbix/zabbix_agentd.conf
          Server=172.16.36.76,127.0.0.1
          добавил

          Originally posted by dima_dm
          Добейтесь сначала, чтобы UserParameter заработал в режиме "Zabbix агент"
          Соединения открываются
          Активный режим: zabbix_agent -> zabbix_server:10051,
          Пассивный режим zabbix_agent:10050 <- zabbix_server
          Стрелкой показано направление открытия TCP соединения
          все переключил в режим "Zabbix агент"

          вот ещё мой конфиг агента:
          Code:
          LogFile=/tmp/zabbix_agentd.log
          EnableRemoteCommands=1
          LogRemoteCommands=1
          Server=172.16.33.80,127.0.0.1
          Hostname=test_zabbix
          
          UserParameter=system.test,who|wc -l
          #
          # ZFS related UserParameter
          #
          # takes just one parameter (a zpool name) and returns 0 or 1
          #
          UserParameter=zpool.[*],zpool status -x $1 | grep "is healthy" | wc -l
          исключены все комментарии

          не дает покоя пустая строчка или broken pipe при запросе через zabbix_get
          стандартные и адаптированные запросы агент обрабатывает и пересылает вопрос встал с UserParameter, system.run[] тоже отказывается работать

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Укажите полные пути к программам zpool, grep, wc в UserParameter

            Comment

            • mikhaylov.rv
              Junior Member
              • Dec 2011
              • 12

              #7
              Originally posted by dima_dm
              Укажите полные пути к программам zpool, grep, wc в UserParameter
              прописал, не срабатывает ранее это было тоже испробовано,
              а если пользователь zabbix на удаленной машине не в группе root и вообще он простой пользователь, есть место быть такому? ведь эти файлы доступны лишь root пользователю на запуск и порой даже добавление пользователя в группу к нему не дают права запускать эти утилиты

              возможна ли схема запуска команды от привилегированного пользователя?
              и какие права доступа должны быть у агента

              через zabbix_get так ничего и не показывает даже стандартные данные типа system.uname, которые отображаются на сервере, ясность так и не наступила через --print
              Code:
              agent.ping                                    [u|1]
              agent.version                                 [s|1.8.5]
              system.localtime                              [u|1324354404]
              system.run[echo test]                         [t|test]
              system.uptime                                 [u|584119]
              system.boottime                               [u|1323770285]
              net.tcp.service[ssh,127.0.0.1,22]             [u|1]
              net.tcp.service.perf[ssh,127.0.0.1,22]        [d|0.005466]
              system.test                                   [t|       3]
              zpool.[]                                      [t|       0]
              zoneadm.runall                                [t|       3]
              все просматривается какие данные формируются все команды локально запускаются от root, может в этом дело?

              пробовал уже и
              AllowRoot=1 //это вроде как должно быть раз из под root запускаю

              Code:
              /etc/group
              zabbix::122:
              /etc/passwd
              zabbix:x:1003:122:Zabbix user:/export/home/zabbix:/usr/bin/false
              странность:
              видим
              Version of zabbix_agent(d) running 20 Дек 2011 13:44:08 1.8.5

              невидим
              Number of running processes zabbix-agentd 0

              хотя prstat |grep zabbix результат 4 процесса
              Last edited by mikhaylov.rv; 20-12-2011, 08:10.

              Comment

              • dima_dm
                Senior Member
                • Dec 2009
                • 2697

                #8
                zabbix_agent работает под пользователем zabbix и запускает все скрипты под пользователем zabbix. Используйте suid скрипты.

                Comment

                • mikhaylov.rv
                  Junior Member
                  • Dec 2011
                  • 12

                  #9
                  Originally posted by dima_dm
                  zabbix_agent работает под пользователем zabbix и запускает все скрипты под пользователем zabbix. Используйте suid скрипты.
                  это единственное решение ? ведь до этого запуск агента производился от root, и зачем тогда AllowRoot=1?

                  и ещё получается надо все скрипты распространять вместе с агентом по удаленным хостам?

                  это касается только solaris? или в других системах так же присутствует такая загвоздка с правами доступа

                  или в следующих версиях агента мы будем работать без suid скриптов?

                  теперь стало ясно почему везде пишут для solaris так #2:

                  Code:
                  ### ZFS related UserParameter
                  # 1
                  UserParameter=zpool.status[*],zpool status -x $1 | grep "is healthy" | wc -l
                  # 2
                  UserParameter=zpool.list[*],zpool list -H -o $2 $1 | /etc/zabbix/remove_SIunits.sh
                  хотелось бы конечно иметь в запасе работающий system.run без предварительно подготовленного скрипта на стороне агента zabbix'а

                  Originally posted by dima_dm
                  Используйте suid скрипты.
                  Какой способ вы имели ввиду, используются suid скрипты: system.run[/etc/zabbix/zpool_list.sh] или UserParameter=zpool.list, /etc/zabbix/zpool_list.sh
                  Last edited by mikhaylov.rv; 20-12-2011, 11:53.

                  Comment

                  • dima_dm
                    Senior Member
                    • Dec 2009
                    • 2697

                    #10
                    Originally posted by mikhaylov.rv
                    Какой способ вы имели ввиду, используются suid скрипты: system.run[/etc/zabbix/zpool_list.sh] или UserParameter=zpool.list, /etc/zabbix/zpool_list.sh
                    Я говорил про
                    UserParameter=zpool.list, /etc/zabbix/zpool_list.sh
                    Считаю использование system.run брешью в защите сервера и всегда отключаю EnableRemoteCommands. Также как и запуск zabbix_agent под root-ом.

                    Comment

                    • mikhaylov.rv
                      Junior Member
                      • Dec 2011
                      • 12

                      #11
                      Originally posted by dima_dm
                      Я говорил про
                      UserParameter=zpool.list, /etc/zabbix/zpool_list.sh
                      Считаю использование system.run брешью в защите сервера и всегда отключаю EnableRemoteCommands. Также как и запуск zabbix_agent под root-ом.
                      побольше бы таких рекомендаций из личного опыта,
                      так как все заработало, мои действия были следующими:
                      пересоздал пользователя(все делал точно так же) и теперь запускается и так и так только через скрипты с suid

                      Comment

                      Working...