
Anton
19.05.2017
08:51:44
всем привет
парни есть вопрос по заббиксу, мне надо через апи передавать забиксу некую инфу, какой мне для этого элемент данных лучше использовать ?

Vladislav
19.05.2017
08:57:36
может лучше через zabbix_sender?
что за "некая инфа"?

Google

Vladislav
19.05.2017
08:58:42
http://oldmann.livejournal.com/21012.html


Ash
19.05.2017
08:59:58
при создании карты ругается 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
получилось в итоге?


Maxim
19.05.2017
09:02:50

Anton
19.05.2017
09:04:48
да надо передавать 1 или 0
вообще подсказать можете, есть приложение которое будет отсылать забиксу данные для построения графика, отсылка будет происходить через апи заббикса

Ficsh
19.05.2017
09:08:07
мммм ... может тогда прям json-rpc прямо на сервер?

Anton
19.05.2017
09:08:39
именно

Ficsh
19.05.2017
09:08:47
для отправки в заббикс данных есть тулза zabbix-sender

Anton
19.05.2017
09:08:50
задача такая, и как я это вижу
Все просто, апдейт нашего «графика» это два запроса:
1) Логинимся и получаем токен
2) Апдейтим айтем с выданным токеном
Пример первого шага:
Запрос:
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}
Ответ:
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"id": 1
}
Второго:
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{
"jsonrpc": "2.0",
"method": "item.update",
"params": {
"itemid": "10092",
"status": 0
},
"auth": "0424bd59b807674191e7d77572075f33",
"id": 5
}
Задача моя: разрабу дать параметры строк, а именно: логин, пароль, адрес сервера, номер айтема.
но тут я затыкнулся именно на айтеме, какой создать, что и как

Google

Ficsh
19.05.2017
09:10:11
создай самый просто=) если там будет только 0 и 1 =)
+й который интежер

Anton
19.05.2017
09:24:22
простая проверка ?

Andrey
19.05.2017
09:26:38

Anton
19.05.2017
09:27:24
хммм, та мне бы график потом смотреть по этим данным

Сергей
19.05.2017
09:28:02
лучше через zabbix_sender

Anton
19.05.2017
09:28:39
как отправлять мне не нужно, мне нужно как принимать

Andrey
19.05.2017
09:28:43

Anton
19.05.2017
09:29:04
ок сейчас попробую

Сергей
19.05.2017
09:29:23
менее ресурсоемко
не зависит от доступности веба заббикс
приложение может писать в файл а потом уже по крону можно отсылать на сервер

Anton
19.05.2017
09:29:33
а itemid я только из базы могу получить ?

Andrey
19.05.2017
09:29:40
Да

Vladislav
19.05.2017
10:03:31
а давайте банить рекламных ботов


Serge
19.05.2017
10:06:52
Господа, такой ворпос: есть скрипт, который делает бекап каталога. После успешного бекапа, он в каталоге с архивом создает файл, который содержит всего одну запись - SUCCESSFULL - в случае успешного выполнения, и UNSUCCESSFULL в случае какого-либо сбоя. По дате изменения этого файла я отлавливаю время когда делался бекап, и проверяю, что бекап создался вовремя. А по содержимому отлавливаю насколько успешно этот бекап выполнился. Этот файл создается каждый раз заново в одном и том же каталоге, но дата модификации у него разная. И в случае успеха всегда одно и то же содержимое - SUCCESSFULL. А zabbix при этом считает, что файл тот же самый, просто в него ничего не добавлено, и начинает читать не с начала этого файла, а с того места, на котором он закончил чтение в прошлый раз. Тоесть, не видит больше в этом файле надписи SUCCESSFULL..
В логе в это время можно наблюдать:
"e:\back\BACKUP_STATUS.txt" has been updated without changing its size, try checking again later
А мне нужно, чтобы он этот файл заново перечитывал, чтобы получать эту надпись - SUCCESSFULL.. При этом файл я пробовал удалять, и создавать новый, но даже система видит его всего-лишь как модифицированный, а дату создания оставляет у него давнишнюю.. Можно как-нибудь сказать заббиксу, чтобы он при проверке в случае изменения даты файла начинал читать его с начала?
содержимое считываю с помощью logrt..
logrt["{$STATUS_FILE_PATH}","{$COMPLIT}|{$ERROR}",{$CODEPAGE},,,]


Ilya
19.05.2017
10:08:59


Andrey
19.05.2017
10:12:33
Господа, такой ворпос: есть скрипт, который делает бекап каталога. После успешного бекапа, он в каталоге с архивом создает файл, который содержит всего одну запись - SUCCESSFULL - в случае успешного выполнения, и UNSUCCESSFULL в случае какого-либо сбоя. По дате изменения этого файла я отлавливаю время когда делался бекап, и проверяю, что бекап создался вовремя. А по содержимому отлавливаю насколько успешно этот бекап выполнился. Этот файл создается каждый раз заново в одном и том же каталоге, но дата модификации у него разная. И в случае успеха всегда одно и то же содержимое - SUCCESSFULL. А zabbix при этом считает, что файл тот же самый, просто в него ничего не добавлено, и начинает читать не с начала этого файла, а с того места, на котором он закончил чтение в прошлый раз. Тоесть, не видит больше в этом файле надписи SUCCESSFULL..
В логе в это время можно наблюдать:
"e:\back\BACKUP_STATUS.txt" has been updated without changing its size, try checking again later
А мне нужно, чтобы он этот файл заново перечитывал, чтобы получать эту надпись - SUCCESSFULL.. При этом файл я пробовал удалять, и создавать новый, но даже система видит его всего-лишь как модифицированный, а дату создания оставляет у него давнишнюю.. Можно как-нибудь сказать заббиксу, чтобы он при проверке в случае изменения даты файла начинал читать его с начала?
содержимое считываю с помощью logrt..
logrt["{$STATUS_FILE_PATH}","{$COMPLIT}|{$ERROR}",{$CODEPAGE},,,]
Может в скрипте добавить логгирование? Тогда будет вообще все хорошо.
Скрипт делает бэкап, пишет в лог, заббикс читает лог как надо, все счастливы


Serge
19.05.2017
10:17:41
уже исторически так сложилось, много где используется этот скрипт, не хотелось бы везде его модифицировать.. муторно, долго и нудно.. а что, заббикс нереально научить читать файл с начала, не выставляя при этом дату создания как-нибудь вручную?

Andrey
19.05.2017
10:20:16
Функция лога у него так не работает
Тогда проще получать контент файла и делать триггер по слову в файле


Сергей
19.05.2017
10:21:45
Господа, такой ворпос: есть скрипт, который делает бекап каталога. После успешного бекапа, он в каталоге с архивом создает файл, который содержит всего одну запись - SUCCESSFULL - в случае успешного выполнения, и UNSUCCESSFULL в случае какого-либо сбоя. По дате изменения этого файла я отлавливаю время когда делался бекап, и проверяю, что бекап создался вовремя. А по содержимому отлавливаю насколько успешно этот бекап выполнился. Этот файл создается каждый раз заново в одном и том же каталоге, но дата модификации у него разная. И в случае успеха всегда одно и то же содержимое - SUCCESSFULL. А zabbix при этом считает, что файл тот же самый, просто в него ничего не добавлено, и начинает читать не с начала этого файла, а с того места, на котором он закончил чтение в прошлый раз. Тоесть, не видит больше в этом файле надписи SUCCESSFULL..
В логе в это время можно наблюдать:
"e:\back\BACKUP_STATUS.txt" has been updated without changing its size, try checking again later
А мне нужно, чтобы он этот файл заново перечитывал, чтобы получать эту надпись - SUCCESSFULL.. При этом файл я пробовал удалять, и создавать новый, но даже система видит его всего-лишь как модифицированный, а дату создания оставляет у него давнишнюю.. Можно как-нибудь сказать заббиксу, чтобы он при проверке в случае изменения даты файла начинал читать его с начала?
содержимое считываю с помощью logrt..
logrt["{$STATUS_FILE_PATH}","{$COMPLIT}|{$ERROR}",{$CODEPAGE},,,]
а если писать в файл
SUCCESSFULL 1
UNSUCCESSFULL 0
а для забикса сделать проверку такого рода
cut -d" " -f2 file

Google

Andrey
19.05.2017
10:22:07

Сергей
19.05.2017
10:22:15
заодно можно добавить RUNNING 3

Serge
19.05.2017
10:28:46

Andrey
19.05.2017
10:29:17
Ага, как то так

Serge
19.05.2017
10:30:15

Andrey
19.05.2017
10:30:23
Пожалуйста)

Олег
19.05.2017
11:11:19
Коллеги, вопрос. Хочу отказаться от lld fs и снимать статистику только с "/". При этом хочется, чтобы история текущего элемента данных осталась


Ash
19.05.2017
11:14:21
при создании карты ругается 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
завел я этот WeatherMap, уж больно печальный он


Anton
19.05.2017
12:41:44
что то не получается, как с помощью api и json изменять значения элемента ключа
типа альтернатива zabbix_sender

Ilya
19.05.2017
12:45:14
Ну так покажи как ты меняешь

Anton
19.05.2017
12:49:19
та пока никак не меняю, в мануале еще не нашел каким методом можно что то изменить. вся документация приведена, как взаимодействие с апи забикс, типа создать item, поменять статус, создать график и т.д.

Ilya
19.05.2017
12:50:10
А, клёво. "Что-то не получается" и "пока никак не меняю".

Anton
19.05.2017
12:50:52
угу клево
как вы хорошо все вырываете из контекста
да вам новости писать надо

Ilya
19.05.2017
12:52:00
Какой ещё контекст? Если ты так и написал
"Не получается" и "не нашёл"

Anton
19.05.2017
12:53:30
а он есть, метод ? я уже начинаю склонятся что апи создан, просто для автоматизирования рутинных задач

Google

Ilya
19.05.2017
12:55:14
Ну вот в том и дело, что из апи нельзя поменять значение

Anton
19.05.2017
12:58:28
вот так бы и сразу сказали ;)

Ficsh
19.05.2017
13:01:08
Агент с сервером же тоже через json-rpc общаются, если я не путаю , предлагаю прикинутся агентом =)
и не на веб апи ходить .а прям на порт к серверу=)

Ilya
19.05.2017
13:01:56
А я бы писал сразу в базу – один хер

Ficsh
19.05.2017
13:02:35
ну , база может поменяться =)а вот протокол обмена с меньшей вероятностью

Anton
19.05.2017
13:03:11
ооо надо рассмотреть такие версии

Admin
ERROR: S client not available

Ficsh
19.05.2017
13:04:26
так я на самом деле об этом вначале говорил =)

Anton
19.05.2017
13:04:34
ты про траппер ?
заббикс сендер ?

Ilya
19.05.2017
13:05:02

Ficsh
19.05.2017
13:05:02
мммм ... может тогда прям json-rpc прямо на сервер?

Ilya
19.05.2017
13:05:13
И вряд ли поменяется – алтерить их будет большой болью

Anton
19.05.2017
13:05:46
насчет базы, я это оставлю на потом

Ficsh
19.05.2017
13:07:25
не на веб
а на 10051

Anton
19.05.2017
13:07:49
понял

Google

Anton
19.05.2017
13:08:13
а есть какой нить мануал, по описанию передачи параметров

Ficsh
19.05.2017
13:09:59
простите за некроссылку
но что то вот типо этого
https://www.zabbix.com/documentation/1.8/ru/protocols/agent

Anton
19.05.2017
13:12:08
ничего страшного, у меня у самого заббикс 2.2.
мда маленькая инфа
и рассказано просто как работает
но не описания парамтеров ничего нема ((((

Андрей
19.05.2017
13:28:16
Привет, кто-нибудь бил на партиции Zabbix 3.2 ? А то база уже никуда не влезает \=

Ficsh
19.05.2017
13:28:25
tcpdump Тебе в помощь =)

Андрей
19.05.2017
13:28:56

Igor
19.05.2017
13:35:29
с чего бы??
партиционирование не для того делается

Андрей
19.05.2017
13:37:00
Ну после очистки файл ibdata1 не ужимается
я похоже спутал понятия
между партициями и https://voipnotes.ru/zabbix-zanimaet-mnogo-mesta/

Alexey
19.05.2017
13:38:04
Если ты хочешь сжатие то включаешь формат Барракуда, а не антилоп, потом можно у таблиц выбрать тип compressed, но нагрузка будет большая по процам