Ad Widget

Collapse

zabbix_agent: команда bash в UserParameters

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Pretender
    Junior Member
    • Oct 2018
    • 2

    #1

    zabbix_agent: команда bash в UserParameters

    Здравствуйте!

    Я хочу настроить мониторинг smart на сервере Zabbix (установлен на FreeBSD 11.3), для этого в конфиге zabbix-агента добавил несколько ключей, например

    Code:
    UserParameter=HDD.tresh.[*], /usr/local/sbin/smartctl -A $1 -d $2 | awk "/$3/ {print $$6}"
    Сама команда отрабатывает нормально, выводит значение 000 - проверил в шелле, работает. А когда пытаюсь достать значение через zabbix_get

    Code:
    zabbix_get -s 127.0.0.1 -k 'HDD.tresh.[/dev/ada0,atacam,Current_Pending_Sector]'
    Не получаю ничего. Как правильно написать в конфиге эту команду? Перебрал кучу вариантом, но никак не могу добиться нужного результата. Измучился уже...
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Сама команда отрабатывает нормально
    Пробовали от того пользователя, от которого запускается Zabbix-агент (обычно - zabbix)?

    Code:
    zabbix_get -s 127.0.0.1 -k 'HDD.tresh.[/dev/ada0,atacam,Current_Pending_Sector]'
    Не получаю ничего
    Конфиг-файл агента разрешает входящие соединения с адреса 127.0.0.1 (параметр "Server=...")?

    Comment

    • sadman
      Senior Member
      • Dec 2010
      • 1611

      #3

      Try zabbix_agentd -t 'HDD.tresh.[/dev/ada0,atacam,Current_Pending_Sector]'

      Comment

      • Pretender
        Junior Member
        • Oct 2018
        • 2

        #4
        Originally posted by Kos
        Пробовали от того пользователя, от которого запускается Zabbix-агент (обычно - zabbix)?
        Ну да, в общем, оказалось, что в этом проблема. Поставил sudo, добавил в /usr/local/etc/sudoers
        Code:
        zabbix ALL=(ALL) NOPASSWD: /usr/local/sbin/smartctl
        И в итоге, в конфиге агента параметр стал выглядеть так
        Code:
        UserParameter=HDD.tresh.[*], /usr/local/bin/sudo /usr/local/sbin/smartctl -A $1 -d $2 | awk '/$3/ {print $$6}'
        Спасибо!

        Comment

        Working...