

Alexander
17.07.2017
09:39:39
меня вы немножко не поняли, то что вы мне скинули, я понял.
вот запрос:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid","itemid"],
"selectGroups": ["name"],
"selectItems": ["itemid","name"]
},
"id": 2,
"auth": "23bc89b93781106b6d58a8aec22db18d"
}
вот часть результата:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"groups": [
{
"groupid": "4",
"name": "Zabbix servers"
}
],
"items": [
{
"itemid": "23252",
"name": "Zabbix $4 $2 processes, in %"
},
{
"itemid": "23253",
"name": "Zabbix $4 $2 processes, in %"
},
{
"itemid": "23254",
"name": "Zabbix $4 $2 processes, in %"
},
{
"itemid": "23255",
"name": "Zabbix $4 $2 processes, in %"
},
{
"itemid": "23256",
"name": "Zabbix $4 $2 processes, in %"
},
мне надо так, чтобы не все подряд итемы по хосту писал, а вот именно, напрример самый простой фильтр сделаем по itemid: 23256.
вот как правильно записать этот фильтр? чисто пример бы мне
"method": "item.get",
"params": {
"output": "extend",
"itemids": [
"23256"
]
}


Dmitry
17.07.2017
09:40:40
Коллеги, а как можно поймать дедлоки от заббикс сервера в бд. Настроено большое количество дбсинкеров, подозреваю, что медленная работа БД может быть связана с этим.

Ilya
17.07.2017
09:41:28
все равно не то. Задача нати хосты, потом принять итемы ПРИВЯЗАННЫЕ К НИМ, а потом сделать фильтр по итемам этим, чтобы выводил определенные
и все в одном запросе желательно

Google

Ilya
17.07.2017
09:41:53
потому что хостов около 2к будет

Alexander
17.07.2017
09:42:07
Хотя, нет, в item.get есть фильтр по хостам

Ilya
17.07.2017
09:44:29
Я бы поселектил из базы

Alexander
17.07.2017
09:44:30

Ilya
17.07.2017
09:45:35
определенные, например в какойте группе group1 тысячи хостов, мне надо достать итемы именно этих хостов, и причем еще определенные итемы
просто надо ведь видеть какой итем к какому хосту, поэтому я отталкиваюсь от host.get, и потом selectItems, нашел итемы, а вот нужно потом определенные взять от них

Alexander
17.07.2017
09:47:50

Maxim
17.07.2017
09:48:07

Alexander
17.07.2017
09:49:18

Maxim
17.07.2017
09:49:22
но честно, когда я увидел все связи в базе, и какие конструкции нужно делать для выборки, мне стало немного не по себе)

Ilya
17.07.2017
09:49:46
Да и схема баз довольно простая

Google

Ilya
17.07.2017
09:53:21
на самом деле чушь какую-то он пишет:
вход: {
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": ["itemid"],
"selectHosts": ["hostid","name"]
},
"id": 2,
"auth": "23bc89b93781106b6d58a8aec22db18d"
}
выход:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "10009",
"hosts": [
{
"hostid": "10001",
"name": "Template OS Linux"
}
],
},
{
"itemid": "10010",
"hosts": [
{
"hostid": "10001",
"name": "Template OS Linux"
}
],
},
он привязывает к шаблонам а не к узлам

Alexander
17.07.2017
09:53:52
Все так и должно быть
Потому что шаблоны - это тоже узлы

Ilya
17.07.2017
09:58:21

Alexander
17.07.2017
09:58:31
Думаю, да, в подзапросе для items можно попробовать фильтры использовать по ключу или имени.

Ilya
17.07.2017
10:00:56
так вот это и надо, я просто чисто не знаю как правильно это прописать
ун вот если основываться на этом запросе:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid","itemid"],
"selectGroups": ["name"],
"selectItems": ["itemid","name"]
},

Alexander
17.07.2017
10:03:08
А чем 2 запроса не устраивает?

Ilya
17.07.2017
10:09:01
ну первый запрос - определяем id всех хостов и все что по ним надо, второй - выводим итем нужных хостов методом вбивания их id
так имеете ввиду?

Alexander
17.07.2017
10:09:40

Ilya
17.07.2017
10:09:51
так а если этих хостов около 2000
?
2000 вбивать?
думаю не лучшая идея

Alexander
17.07.2017
10:10:05
А в чем проблема?

Google

Alexander
17.07.2017
10:10:21

Ilya
17.07.2017
10:10:37
2000 id нужно вручную вбить с клавиатуры?

Паша
17.07.2017
10:11:23
Я думаю, речь идет о скрипте

Alexander
17.07.2017
10:11:28

Ilya
17.07.2017
10:12:19
меня вообще попросили придумать запросы, пока я аналитиком обьясню о скрипте, я чокнусь ?
я изначально хотел скриптом

Паша
17.07.2017
10:13:34
А чего им объяснять, дал скрипт, сказал как запускать :)

Ilya
17.07.2017
10:13:37
но во первых я не знаю как запускать скрипты, максимум чему научился это расширение скачал для POST запросов,?

Alexander
17.07.2017
10:13:45
А что аналитик будет делать с этим запросом? И, главное, с результатом?

Ilya
17.07.2017
10:14:19
скрипт то я напишу, пргать умею, а вот как его затетсить не понимаю, только недавно начал разбираться с API в принципе
они достают инфу с заббикса и анализируют ее и следят
им надо состоняия портов на 2000 устройствах знать
буду благодарен

Alexander
17.07.2017
10:15:37

Паша
17.07.2017
10:16:23
Ну, смотря на какой ОС сидят аналитики и на каком языке будет скрипт. Если линукс, думаю они сообразят, как запускать скрипт, если винда - то тут какой-нибудь .bat, по которому они кликнут :)

Alexander
17.07.2017
10:16:49

Ilya
17.07.2017
10:17:02
доступ к заббиксу нет
просто связь через appi

Паша
17.07.2017
10:17:27
Хм, а как тогда они бы делали POST запросы? Там же, вроде, авторизация нужна...

Google

Ilya
17.07.2017
10:17:57

Ilya
17.07.2017
10:18:07
ну я же делаю, зная логин и пароль, получаю ключ аутентификации и пишу его

Некто
17.07.2017
10:18:14
Есть ли тут любители Ubiquiti с 5-й версией контроллера? Желательно еще и с железякой типа Unifi Gateway (USG). Откликнитесь пожалуйста

Ilya
17.07.2017
10:18:25
ну точнее не прогать, а быстро разберусь ?
у меня прогать максимум было на JS в эклипсе
ну и в принципе это любой язык можно понять

Ilya
17.07.2017
10:19:18
У тебя высказывания противоречат друг другу

Ilya
17.07.2017
10:19:20
ну как мое мнение

Alexander
17.07.2017
10:20:18
Ну возьми python, там библиотека для zabbix api есть, скрипт можно быстро накидать.

Паша
17.07.2017
10:21:42
https://github.com/blacked/py-zabbix
Я вот этот модуль пользую

Ilya
17.07.2017
10:22:03
Использую pyzabbix
https://github.com/lukecyca/pyzabbix

Alexander
17.07.2017
10:22:53

Паша
17.07.2017
10:23:41
Хм, а они чет похожи...

Ash
17.07.2017
10:50:24

Некто
17.07.2017
11:13:16
правда USG не используем
Печально. А мне нужно с usg. В последних релизах его начали мощно вязать на контроллер. И мне как раз бы проверить как эта связка мониторится...

Alexander
17.07.2017
11:44:14
коллеги, подскажите, а как мониториь доступность агентов?
из стартовой страницы непонятно, какой хост отвалился

Паша
17.07.2017
11:44:34
Косвенно по отсутствию данных от них

Google

Alexander
17.07.2017
11:44:40
хм

Паша
17.07.2017
11:44:41
Функция nodata()

Дмитрий
17.07.2017
11:44:44
там же встроенная есть. в стандартной шаблоне

Паша
17.07.2017
11:44:46
В триггере

Alexander
17.07.2017
11:44:55
а самое интересное, почему-то не срабатывает agent.ping.nodata()

Паша
17.07.2017
11:45:07
Версия заббикса?

Дмитрий
17.07.2017
11:45:11
береш метрику. которая постоянно шлет данные и nodata()

Alexander
17.07.2017
11:45:14
3.5
хм
а почему agent.ping.nodata() может не срабатывать?

Kamil
17.07.2017
11:45:56
3.5
3,4 же тока вышел, откуда 3,5?

Alexander
17.07.2017
11:46:09
может есть какие встроенные фильтры мониторинга отвалившихся агентов?

Паша
17.07.2017
11:46:15
Человек из будущего просто :)
@ascher https://www.zabbix.com/documentation/3.2/manual/appendix/triggers/functions?s[]=nodata
Посмотрите на аргументы

Alexander
17.07.2017
11:46:34
3.2.5
очепаятка

Паша
17.07.2017
11:47:02
Там нодату немного поменяли недавно
Собственно, можете просто навесить шаблон из стандартных, который "Template App Zabbix Agent"