@ZabbixPro

Страница 249 из 1183
Сергей
18.05.2017
06:47:28
Например, как разобрать такой ключ system.cpu.util[,["user,system",iowait],avg1]
Это же csv, если взять любую либу для работы с csv, то проблем не будет. На пхп и на lua делал так и все было норм

А если самому писать, то получится ещё одна либа для разбора csv

Misak
18.05.2017
07:19:29
Здрасте, а кто в заббиксе делал мониторинг мультикаст потоков?

наличие, количество ошибок в стриме и прочее

Google
Timofey
18.05.2017
07:21:38
ого =) а что за ошибки, последовательность прибытия?

Misak
18.05.2017
07:22:47
ну там не только эти бывают

ну в принципе у меня прямо сейчас ничего нет, так что любой совет к месту

Timofey
18.05.2017
07:24:35
вывод из консоли интересно бы поглядеть что конкретно имеется в виду. ну а раз есть вывод то всегда можно будет самому собрать

Misak
18.05.2017
07:28:07
я даже не знаю какой тулзой это все анализировать

Alexander
18.05.2017
07:48:04
Саян
18.05.2017
07:54:08


Ilya
18.05.2017
07:57:28
Какие счётчики?

Саян
18.05.2017
07:58:17
неправильно выразился, меня интересуют минимальный и максимальный показания в графике, т.е. их хочу убрать

Ilya
18.05.2017
07:58:43
Никак, кроме как "открыть исходный код и поправить"

Саян
18.05.2017
07:59:26
жаль... а вот еще тут мелькают фразы типа графанов всяких, не подскажете они для чего? не успел поинтересоваться

Alexander
18.05.2017
08:00:09
Графики рисовать

Google
Саян
18.05.2017
08:00:47
бля красиво

Сергей
18.05.2017
08:03:40
Очень похоже, но не совсем. В CSV нет array params. Но 99% это должно покрыть.
не совсем понял про array params лучше всего код -- Функция разбивки csv в таблицу -- http://lua-users.org/wiki/CsvUtils function fromCSV (s) s = s .. ',' local t = {} local fieldstart = 1 repeat if string.find(s, '^"', fieldstart) then local a, c local i = fieldstart repeat a, i, c = string.find(s, '"("?)', i+1) until c ~= '"' if not i then error('unmatched "') end local f = string.sub(s, fieldstart+1, i-1) table.insert(t, (string.gsub(f, '""', '"'))) fieldstart = string.find(s, ',', i) + 1 else local nexti = string.find(s, ',', fieldstart) table.insert(t, string.sub(s, fieldstart, nexti-1)) fieldstart = nexti + 1 end until fieldstart > string.len(s) return t end это я такое нашел на lua, использую для составления документации при помощи nginx а это уже на php function print_item($item){ $name = $item->name; $key_ = $item->key_; #$pattern = array("/\\\$1/", "/\\\$2/", "/\\\$3/", "/\\\$4/", "/\\\$5/", "/\\\$6/", "/\\\$7/", "/\\\$9/", "/\\\$10/"); $pattern = array("$1", "$2", "$3", "$4", "$5", "$6", "$7", "$9", "$10"); $replace = new Replacer(); $name = $replace->macros($item->name); if(strpos($name, "$") !== false){ $lstart = strpos($key_, "[") +1; $str = substr($key_, $lstart, -1); $replace = str_getcsv($str); $name = str_replace($pattern, $replace, $name); } return $name; }

Alexander
18.05.2017
08:05:01
system.cpu.util[,["user,system",iowait],avg1] будет разобран как { "column0": "system.cpu.util[", "column1": "[\"user", "column2": "system\"", "column3": "iowait]", "column4": "avg1]" }

А Заббикс не так разбирает

Сергей
18.05.2017
08:05:43
вот такие не встречал

даже и не знал что там такие можно делать

Alexander
18.05.2017
08:06:40
Я тоже, просто когда фиксил баг, открыл детальное описание в заббиксе, там есть и такое

https://www.zabbix.com/documentation/3.0/manual/config/items/item/key

Сергей
18.05.2017
08:07:34
надо будет посмотреть вдруг будет такая запись где полезна и тоже огребу тогда кучу багов

))

Alexander
18.05.2017
08:08:07
Да, но, честно, я этот array param ни разу не видел

просто сделал уже как положено

Сергей
18.05.2017
08:09:13
рекурсивную фцнкцию надо прям ))

Alexander
18.05.2017
08:09:56
Ну мне надо только в имя подставлять, так что я внутри массива уже не разбираю параметры.

Так что я проверил, как заббикс их в интерфейсе разбирает и сделал несколько тест-кейсов

https://github.com/alexanderzobnin/grafana-zabbix/blob/master/src/datasource-zabbix/specs/utils_specs.js#L65

А сама функция здесть https://github.com/alexanderzobnin/grafana-zabbix/blob/master/src/datasource-zabbix/utils.js#L25

Сергей
18.05.2017
08:15:21
не силен я в js, да и давно такое сам не писал (писал еще в колледже более 15 лет назад)

получается что добрая половина скриптов не соотетствуют спецификации например тот же скрипт на баше может принимать параметры, которые еще могут быть и массивом

у меня явно 100% не обработают такой ключ

Google
Alexius
18.05.2017
08:54:22
как на легенде в графане вывести имена хостов, а не айтемов?

Alexander
18.05.2017
09:00:56
Если несколько хостов возвращается, то автоматически выводятся еще и имена хостов

Serge
18.05.2017
09:50:43
Добрый день. Кто-нибудь подскажет, какая логика у активных проверок в плане периода опроса? Настраиваю через agent (active) проверку даты создания файла. Если выставляю проверять раз в 2 часа, то потом, выставляя меньший интервал проверки - например, 1 минута, ничего не проверяется.. Во всяком случае, пока агента не рестартанешь, после этого интервал проверок действительно становится 1 минута.. Как я понимаю, агент каждые 2 минуты (по дефолту) бегает за конфигурашкой к серверу, в том числе получает интервалы обновления метрик.. А в моем случае, если я с большего интервала меняю на меньший, то такое ощущение, что у него где-то закеширован старый интервал, и обновления метрик не происходит.. в чем может быть дело? (на нескольких хостах такое поведение наблюдаю)

Ilya
18.05.2017
09:52:29
Выставь обновление каждые 60 сек

Данных

Serge
18.05.2017
09:55:37
я в параметрах метрики и выставляю это обновление.. в 60 сек.. но если там раньше стояло 3600, то ничего и не происходит ни через минуту, ни через 10 (не обновляется значение, хотя по факту оно изменилсь).. пока агент не рестартанешь

Update interval (in sec)

Ilya
18.05.2017
10:00:03
Не то

Есть время получения новых данных с сервера (так у прокси, я не уверен, что это на агенты действует, но по логике – должно)

Serge
18.05.2017
10:06:46
тогда я не совсем понял, где эта настройка.. на стороне сервера, я так думал, это настраивается в метрике.. а на стороне агента - интервалом опроса со стороны агента (как часто он будет за обновлениями бегать к серверу).. получается, еще где-то на стороне сервера?

со стороны агента: ### Option: RefreshActiveChecks # How often list of active checks is refreshed, in seconds. # # Mandatory: no # Range: 60-3600 # Default: # RefreshActiveChecks=120

Alseg
18.05.2017
10:08:41
Подскажите пожалуйста как ssh.run[<unique short description>,<ip>,<port>,<encoding>] сделать в шаблоне с переменными в виде %IP% и т.д.

ну вроде достаточно дать ему только 1ый аргумент, остальные не давать

Ash
18.05.2017
11:00:42
Подскажите пожалуйста как ssh.run[<unique short description>,<ip>,<port>,<encoding>] сделать в шаблоне с переменными в виде %IP% и т.д.
это внешняя проверка? порт не передается во внешний скрипт, а вот макросы передаются

Alseg
18.05.2017
11:01:51
и порт там указать можно явно

мне не нужно было в скрипт передать порт

Ash
18.05.2017
11:03:02
в смысле встроенноый макрос {HOST:PORT} не работает

Google
Alseg
18.05.2017
11:03:21
это понятно, какой макрос в поле key

Ash
18.05.2017
11:05:06
а так не работает: ssh.run["text",{HOST:IP},22,<encoding>] ?

в кодировку не знаю что писать, не юзаю SSH проверки

Admin
ERROR: S client not available

Ash
18.05.2017
11:05:38
только Внешние проверки активно

по аналогии накидал

Alseg
18.05.2017
11:06:17
ну вроде достаточно дать ему только 1ый аргумент, остальные не давать

Ash
18.05.2017
11:09:14
хм, судя по скриншоту с вики, можно. Пробовали?

Alseg
18.05.2017
11:16:28
я же и пишу сам себе отвечая, что достаточно ему дать только 1ый аргумент

всё работает

Maxim
18.05.2017
11:41:00
Коллеги, а кто ставил у себя Zabbix-Network-Weathermap?

делаю по https://github.com/Prototype-X/Zabbix-Network-Weathermap

при создании карты ругается root@zabbix:/opt/Zabbix-Network-Weathermap# ./weathermap.py -s test3 -z http://192.168.121.9 -l appliance -p zabbix Traceback (most recent call last): File "./weathermap.py", line 121, in <module> main() File "./weathermap.py", line 118, in main WeathermapCLI() File "./weathermap.py", line 55, in init self._map_scan() File "./weathermap.py", line 66, in _map_scan zbx = ZabbixAgent(self.args.zabbix, self.args.login, self.args.pwd) File "/opt/Zabbix-Network-Weathermap/zabbix.py", line 23, in init self.zbx_api = ZabbixAPI(url=url, use_authenticate=False, user=login, password=password) File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 156, in init self._login(user, password) File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 186, in _login self.auth = self.user.login(user=user, password=password) File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 82, in fn args or kwargs File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 236, in do_request res = urlopen(req) File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 107, in inner res = func(req, context=ctx) File "/usr/local/lib/python3.4/dist-packages/pyzabbix/api.py", line 118, in urlopen return urllib2.urlopen(*args, **kwargs) File "/usr/lib/python3.4/urllib/request.py", line 161, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python3.4/urllib/request.py", line 469, in open response = meth(req, response) File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python3.4/urllib/request.py", line 507, in error return self._call_chain(*args) File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain result = func(*args) File "/usr/lib/python3.4/urllib/request.py", line 587, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 404: Not Found

Alexander
18.05.2017
12:01:19
как в заббиксе использовать SNMP v1 (надо замониторить старые Cisco PIX)

Ash
18.05.2017
12:06:27
как в заббиксе использовать SNMP v1 (надо замониторить старые Cisco PIX)
а в чем проблема? там в айтемах можно же выбрать 1 версию

Alexander
18.05.2017
12:07:19
ага. нашел

Alseg
18.05.2017
12:12:43
это понятно, какой макрос в поле key
был неправ, всё там можно, макросы прямо в key

Oleg
18.05.2017
12:20:10
есть вопрос, ребят. Есть хост, на нём 20 jmx сокетов. Надо подключить 20 шаблонов, каждый к своему jmx. в каждом шаблоне по 100 айтемов - руками проходить переключать не вариант. Пока все к первому подключаются, хотя я меняю дефолтный вроде

а не

Google
Oleg
18.05.2017
12:22:30
работает

пардон

ништяк!

простите

Alseg
18.05.2017
12:42:20
Для одного из хостов пишет при SSH check Cannot establish SSH session: Unable to exchange encryption keys

Почитал, пишут что может быть из за долгого рукопожатия

Я уже ручками на заббиксе зашел на него удаленно по ssh, нажал yes для фингерпринта

всё ок, подключился, но заббикс в latest data продолжает утверждать Unable to exchange encryption keys

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

по этому же шаблону остальные хосты отвечают корректно

Евгений
18.05.2017
12:50:03
Подорожник прикладывал?

Alseg
18.05.2017
12:50:35
Подорожник прикладывал?
Это тот шаг что перед молитвой и постановкой свечки?

Евгений
18.05.2017
12:51:02
Если только контора православная

Alseg
18.05.2017
12:54:00
ну кароч сделал фулл клон хоста, старый хост удалил

Страница 249 из 1183