Size: a a a

Zabbix Russian Community

2020 October 07

BA

Baglan Akerman in Zabbix Russian Community
можно с ответом не зубрить
Тупо запустить скрипт  по плану
источник

BA

Baglan Akerman in Zabbix Russian Community
Через агент желательно
источник

AG

Alexandr Gordeev in Zabbix Russian Community
Baglan Akerman
Через агент желательно
Просто вопрос "запустился" скрипт или нет, не до конца понятен, заббикс агент его к примеру запустил (или команду), а дальше скрипт по факту не отработал.... но заббикс то его запустил.....
источник

AG

Alexandr Gordeev in Zabbix Russian Community
Я не знаю что советовать т.к. не понятно что и как должно работать, из инструментов есть возможность запускать EnableRemoteCommands=0
источник

AG

Alexandr Gordeev in Zabbix Russian Community
и через system run можно запускать некие команды, в документации описано
источник

BA

Baglan Akerman in Zabbix Russian Community
Мб есть вариант создать эл данных чтобы он запустил скрипт все.
источник

AG

Alexandr Gordeev in Zabbix Russian Community
Baglan Akerman
Мб есть вариант создать эл данных чтобы он запустил скрипт все.
Посмотрите в сторону RemoteCommands, в документации есть описание, что бы заббикс запускал на удаленном ПК необходимые команды.
Возможно вам это подойдет
источник

AG

Alexandr Gordeev in Zabbix Russian Community
Можно ведь скрипт запускать и средствами самого "сервера/пк", а заббикс просто будет получать "результат", логику можно разную придумать, какой из них вас устроит смотрите сами.
источник

BA

Baglan Akerman in Zabbix Russian Community
Суть такова скрипт запускается проверят нужные вещи и создает логи в нужном месте.через эд я читаю эти логи. Вопрос перефразирую можно ли тупо запускать скрипт через эд заббикса. Т.е там есть возможность время расписание итд выбрать на самом настройке эд. Тупо эд который будет запускать сприпт через агент. Ответ выполнение сприпта или не выполнен без разницы. Тупо запускает скрипт. Мб ключ vfs.start.script[1234.sh] что то в таком плане
источник

ДУ

Денис Устинов... in Zabbix Russian Community
Baglan Akerman
Суть такова скрипт запускается проверят нужные вещи и создает логи в нужном месте.через эд я читаю эти логи. Вопрос перефразирую можно ли тупо запускать скрипт через эд заббикса. Т.е там есть возможность время расписание итд выбрать на самом настройке эд. Тупо эд который будет запускать сприпт через агент. Ответ выполнение сприпта или не выполнен без разницы. Тупо запускает скрипт. Мб ключ vfs.start.script[1234.sh] что то в таком плане
На агенте или сервере?
источник

BA

Baglan Akerman in Zabbix Russian Community
Агент
источник

MC

Maxim Chudinov in Zabbix Russian Community
Baglan Akerman
Агент
Можно. Через userparameter
источник

BA

Baglan Akerman in Zabbix Russian Community
А подробнее
источник

ДУ

Денис Устинов... in Zabbix Russian Community
источник

D

Drew | AtticLab Bloc... in Zabbix Russian Community
Коллеги! Подскажите как выкрутится из проблемы:
Item prototype "web.page.get[localhost,status,{#NODEPORT}]" already exists on "host1", inherited from another template.
Есть пачка сервисов которые отдают разные prometheus метрики на разных портах в пределах одного хоста и требуют отдельного препроцессинга.
По логике я разбиваю их на отдельные шаблоны в которых есть по одному дискавери.
Но если типичный сервис из разных шаблонов использует одинаковый ключ (один и тот же макрос), то zabbix не может поцепить 2й шаблон с такой метрикой
web.page.get[localhost,metrics,{#NODEPORT}]

Переименовывать макрос неохота, теряеться логика, а впихивать все сервисы в один шаблон+дискавери и вовсе.

#!/bin/bash
lld_string= cat <<EOT
[
 {
   "{#SERVICE}": "Service 1",
   "{#NODENAME}": "host1:32799",
   "{#NODEIP}": "127.0.0.1",
   "{#NODEPORT}": "32799",
   "{#STATUS}": "main"
 },
 {
   "{#SERVICE}": "Service 2",
   "{#NODENAME}": "host1:22799",
   "{#NODEIP}": "127.0.0.1",
   "{#NODEPORT}": "22799",
   "{#STATUS}": "reserve"
 }
]
EOT
echo "$lld_string"
источник

TU

Tikhon Uskov in Zabbix Russian Community
Drew | AtticLab Block Producer
Коллеги! Подскажите как выкрутится из проблемы:
Item prototype "web.page.get[localhost,status,{#NODEPORT}]" already exists on "host1", inherited from another template.
Есть пачка сервисов которые отдают разные prometheus метрики на разных портах в пределах одного хоста и требуют отдельного препроцессинга.
По логике я разбиваю их на отдельные шаблоны в которых есть по одному дискавери.
Но если типичный сервис из разных шаблонов использует одинаковый ключ (один и тот же макрос), то zabbix не может поцепить 2й шаблон с такой метрикой
web.page.get[localhost,metrics,{#NODEPORT}]

Переименовывать макрос неохота, теряеться логика, а впихивать все сервисы в один шаблон+дискавери и вовсе.

#!/bin/bash
lld_string= cat <<EOT
[
 {
   "{#SERVICE}": "Service 1",
   "{#NODENAME}": "host1:32799",
   "{#NODEIP}": "127.0.0.1",
   "{#NODEPORT}": "32799",
   "{#STATUS}": "main"
 },
 {
   "{#SERVICE}": "Service 2",
   "{#NODENAME}": "host1:22799",
   "{#NODEIP}": "127.0.0.1",
   "{#NODEPORT}": "22799",
   "{#STATUS}": "reserve"
 }
]
EOT
echo "$lld_string"
только менять урл или макрос... по идее, metrics можно заменить на metrics/ или даже на metrics//
источник

TU

Tikhon Uskov in Zabbix Russian Community
или заменить localhost на 127.0.0.1
источник

TU

Tikhon Uskov in Zabbix Russian Community
вариантов много, но в общем - ключ не должен повторяться, увы
источник

D

Drew | AtticLab Bloc... in Zabbix Russian Community
Tikhon Uskov
вариантов много, но в общем - ключ не должен повторяться, увы
Можно как то выкрутится с помощью контекстов?
https://www.zabbix.com/documentation/current/ru/manual/config/macros/user_macros_context
источник

TU

Tikhon Uskov in Zabbix Russian Community
Drew | AtticLab Block Producer
Можно как то выкрутится с помощью контекстов?
https://www.zabbix.com/documentation/current/ru/manual/config/macros/user_macros_context
разве что web.page.get[localhost,{$PATH:"template1"},{#NODEPORT}] и что-то подобное пробовать
источник