@prozabbix

Страница 34 из 127
Aleksandr
14.10.2016
09:46:51
Про макрос в имя что то не понял
у вас текущий LDD шаблон сейчас создаёт айтемы с макросом внутри функции, можно скопировать этот макрос из функции и добавить ещё и в имя

зависит от версии заббикса
я вот не вспомню, было ли такое до 2.2 сейчас not supported у меня обычно отсутствие метрики на агенте

или таймаут, или ещё чего косвенное

Jenny
14.10.2016
09:48:20
я вот не вспомню, было ли такое до 2.2 сейчас not supported у меня обычно отсутствие метрики на агенте
угу, или неподходящее значение. например отрицательное значение на метрику типа uint

Google
Jenny
14.10.2016
09:49:36
This is how the item will be named. The following macros can be used: $1, $2…$9 - referring to the first, second… ninth parameter of the item key For example: Free disk space on $1 If the item key is “vfs.fs.size[/,free]”, the description will automatically change to “Free disk space on /”

Сергей
14.10.2016
09:51:02
у вас текущий LDD шаблон сейчас создаёт айтемы с макросом внутри функции, можно скопировать этот макрос из функции и добавить ещё и в имя
Я же правильно понимаю, что нужно что бы помимо ID он возвращал в этой фунции ещё и имя сервера?

Aleksandr
14.10.2016
09:51:44
Я же правильно понимаю, что нужно что бы помимо ID он возвращал в этой фунции ещё и имя сервера?
то, что должно быть в имени, уже ведь и так появляется в функции, верно? или нужно что-то ещё?

Jenny
14.10.2016
09:52:33
сделай скриншот функции, пожалуйста, и имя, которое ты хочешь получить

Сергей
14.10.2016
10:01:32
Да вроде придумал как сделать

Спасибо за наводку

Dmitry
14.10.2016
10:01:58
а вообще можно получить список всех метрик, которые сейчас отдает хост?

Dmitry
14.10.2016
10:02:28
эх

казалось бы такая важная фича

Aleksandr
14.10.2016
10:03:01
ей, наверное, не особо есть применение в архитектуре заббикса

то, что он сейчас поддерживает, и так видно на агенте в папке с userparameters

Google
Dmitry
14.10.2016
10:03:29
ну у меня вот есть такая фигня

Aleksandr
14.10.2016
10:03:30
можно сделать свой скрипт, который будет парсить папку и отдавать, но в заббикс, например, такой лист данных некуда принять

Dmitry
14.10.2016
10:03:30
ща

UserParameter=rabbitmq.discovery_queue,/etc/zabbix/scripts/rabbitmq/list_rabbit_queues.sh UserParameter=rabbitmq.discovery_shovel,/etc/zabbix/scripts/rabbitmq/list_rabbit_shovels.sh UserParameter=rabbitmq.discovery_nodes,/etc/zabbix/scripts/rabbitmq/list_rabbit_nodes.sh UserParameter=rabbitmq[*],/etc/zabbix/scripts/rabbitmq/rabbitmq-status.sh $1 $2 $3 ~

вот это убивает меня

потому что у меня в темплейте ~20 метрик

Aleksandr
14.10.2016
10:08:42
а как хотелось бы в идеале?

UserParameter=rabbitmq.discovery_queue,/etc/zabbix/scripts/rabbitmq/list_rabbit_queues.sh UserParameter=rabbitmq.discovery_shovel,/etc/zabbix/scripts/rabbitmq/list_rabbit_shovels.sh UserParameter=rabbitmq.discovery_nodes,/etc/zabbix/scripts/rabbitmq/list_rabbit_nodes.sh UserParameter=rabbitmq[*],/etc/zabbix/scripts/rabbitmq/rabbitmq-status.sh $1 $2 $3 ~
эта штука по всей видимости дёргает rabbitmq-status.sh, который в свою очередь не отдаёт результат, а сам шлёт пачкой полученные метрики через zabbix_sender, чтобы делать это одним пакетом, а не по 100 раз реквестить весь статус-пейдж на каждую отдельную метрику

в этой ситуации агент не может знать, сколько метрик он поддерживает, поскольку это регулирует сервер и скрипт, а не агент

Aleksandr
14.10.2016
10:14:29
других способов не завезли =) в других системах это ещё более абстрагировано: мониторинг не знает заранее, что получит, поэтому смотреть всё-равно приходится само ПО, которое шлёт

Aleksandr
14.10.2016
10:29:29
collectd тоже может недополучать что-то от своего плагина, и отлаживать это предстоит между ПО и плагином, ещё до collectd

но я понимаю боль в целом

Dmitry
14.10.2016
14:24:05
кто rabbitmq мониторит заббиксом?

толи темплейт говно

то ли я

ptchol
14.10.2016
15:06:02
тои заббикс ! )

Google
Aleksandr
14.10.2016
15:07:01
что-то конкретное не получается?

Juriy
14.10.2016
15:11:50
кто rabbitmq мониторит заббиксом?
ну так спрашивайте, много кто мониторит

Dmitry
14.10.2016
15:29:47
сори что пропал - сам пытался разобраться

короче есть питоновый скрипт, который дергает апи рабита

генерит темп файл

и шлет в заббикс

и есть одна метрика непонятная

во-первых непонятно что она вообще показывает, во-вторых сервер на нее ругается

error reason for "somehost.ru:rabbitmq[queues]" changed: Received value [/tmp/tmpoMIwSr2] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]

вот

на сервер все это шлется вот так

zabbix_sender -i /tmp/tmplse6Zy -c /etc/zabbix_agentd.conf

Aleksandr
14.10.2016
15:33:53
Dmitry
14.10.2016
15:34:02
http://pastebin.com/vTdSTsDB

Aleksandr
14.10.2016
15:34:02
показывает, видимо, путь до темпового файла

Dmitry
14.10.2016
15:34:07
сейчас жду

и вот не очень понятно

info from server: "processed: 0; failed: 42; total: 42; seconds spent: 0.000494" sent: 42; skipped: 0; total: 42

это failed 42

Google
Aleksandr
14.10.2016
15:35:04
это значит, что ни одна из метрик не доехала

Dmitry
14.10.2016
15:35:14
вот

блин, но почему

в логах уже норм все

на сервере

Aleksandr
14.10.2016
15:36:49
надо глянуть, как скрипт шлёт данные

через zabbix_sender или сам

Dmitry
14.10.2016
15:37:16
ну вот апи складывает все в файлик

через сендер

100%

Aleksandr
14.10.2016
15:37:45
можно найти в скрипте строку, где он вызывает сендер и посмотреть, как он это делает

Dmitry
14.10.2016
15:37:49
def _send_data(self, tmpfile): '''Send the queue data to Zabbix.''' args = 'zabbix_sender -c {0} -i {1}' if self.senderhostname: args = args + " -s " + self.senderhostname return_code = 0 process = subprocess.Popen(args.format(self.conf, tmpfile.name), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

да уже нашел

Aleksandr
14.10.2016
15:38:03
а в {0} влетает адеватный путь до конфига?

Dmitry
14.10.2016
15:38:06
да

я делаю прямо руками

и таже хня

42 failed

Aleksandr
14.10.2016
15:38:43
обычно failed по двум причинам - либо метрик нет на сервере с такими именами, либо хостнейм у отправляемой пачки неправильный

не совпадает с хостнеймом на сервере

Google
Dmitry
14.10.2016
15:39:16
блин, может просто взять другой темплейт

Aleksandr
14.10.2016
15:39:46
посмотри, совпадает ли хостнейм агента с хостнеймом на сервере

Dmitry
14.10.2016
15:39:53
да

Aleksandr
14.10.2016
15:39:55
указан ли правильный ServerActive в конфиге агента

Dmitry
14.10.2016
15:39:58
да

самое интересно

что zabbix_get с сервера тянет метрики

получается только через сендер не шлется

более того, сендер юзает заббиксовый конфиг для отправки в скрипте

Aleksandr
14.10.2016
15:40:44
этот шаблон умеет и гетить, и пачкой сендить? или он гетит одни данные, а пачка шлёт совсем другие?

Dmitry
14.10.2016
15:41:04
да

и гетит, и сендит

Aleksandr
14.10.2016
15:41:15
прямо по одной метричке?

Dmitry
14.10.2016
15:41:15
т.е. есть юзерпарамы в конфига

а вот черт его знает

там жалких 17 метрик

щас покажу конфиг его

Aleksandr
14.10.2016
15:41:53
давай

Dmitry
14.10.2016
15:42:07
UserParameter=rabbitmq.discovery_queue,/etc/zabbix/scripts/rabbitmq/list_rabbit_queues.sh UserParameter=rabbitmq.discovery_shovel,/etc/zabbix/scripts/rabbitmq/list_rabbit_shovels.sh UserParameter=rabbitmq.discovery_nodes,/etc/zabbix/scripts/rabbitmq/list_rabbit_nodes.sh UserParameter=rabbitmq[*],/etc/zabbix/scripts/rabbitmq/rabbitmq-status.sh $1 $2 $3

вотт

башки дергают питоновый скрипт

который умеет отдавать просто метрики через апи

Страница 34 из 127