В начале разберемся что есть и зачем.
API — application programming interface API Википедия
Интерфейс прикладного программирования — это соединение между компьютерами или между компьютерными программами. Это тип программного интерфейса, предлагающий услугу другим частям программного обеспечения.
Оф. Мануал Zabbix API
Вы можете использовать удаленные HTTP запросы для вызова API. Чтобы это сделать, вам необходимо отправлять HTTP POST запросы к файлу api_jsonrpc.php, который расположен в папке с веб-интерфейсом.
http://IP/zabbix/api_jsonrpc.php
В начале необходимо выполнить вход и получить ключ аутентификации user.login
Большинство API содержит по крайней мере четыре основных метода:
get получение данных
create создание данных
update обновление данных
delete удаление данных
и другие наборы методов
Например:
user.login - вход в API и генерировать токен аутентификации
user.logout - выход из API и аннулировать текущий токен аутентификации
host.create - Создание узла сети
trigger.create - Создание триггера
и т.д.
HTTP запросы для вызова API
Запрос должен иметь заголовок Content-Type,
который задан одним из следующих значений:
application/json-rpc
application/json
application/jsonrequest
Оф. user.login
# Аутентификация
Этот метод необходимо вызывать без параметра auth в JSON-RPC запросе!
При использовании HTTP аутентификации, имя пользователя в API запросе должно совпадать с именем пользователя в заголовке Authorization. Пароль не проверяется и его можно не указывать.
{"jsonrpc": "2.0","method":"user.login","params":{"user": "Admin","password": "zabbix"},"id": 1 }
jsonrpc - версия протокола JSON-RPC, которая используется API; Zabbix API реализует JSON-RPC версии 2.0;
method - метод API, который вызывается;
params - параметры, которые передаются API методом;
id - произвольный идентификатор запроса;
auth - ключ аутентификации пользователя; та как у нас его еще не имеется, укажем его равным null.
При успешной авторизации ответ:
{"jsonrpc": "2.0","result": "0424bd59b807674191e7d77572075f33","id": 1 }
jsonrpc - снова, версия протокола JSON-RPC;
result - данные полученные от метода;
id - идентификатор соответствующего запроса.
userData -флаг Возврат информации о прошедшем аутентификацию пользователе. (флаги принимают значение userData: true или userData: 1)
В дополнение к стандартным свойствам пользователя, возвращается следующая информация:
debug_mode логическое Активирован ли пользователю режим отладки.
gui_access целое число Метод аутентификации пользователя в веб-интерфейсе. Обратитесь к свойству gui_access в объекте группы пользователей для получения списка возможных значений.
sessionid строка Токен аутентификации, который требуется использовать в последующих API запросах.
userip строка IP адрес пользователя.
Еще примеры:
# Аутентификация пользователя.
{"jsonrpc": "2.0","method":"user.login","params":{"user": "Admin","password": "zabbix"},"id": 1 }
# Выполнение запросов
{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}
# Выход пользователя
{"jsonrpc":"2.0","method":"user.logout","params":[],"auth": AUTHID,"id": 1 }"
Запрос из командной строки через CURL
Одной стройкой
curl -X POST http://192.168.175.111/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":1}'
или разницы нет
curl -X POST -H 'Content-Type: application/json-rpc' -d '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":1}' http://192.168.175.111/zabbix/api_jsonrpc.php
С разрывом строк для читаемости
curl -X POST http://192.168.175.111/zabbix/api_jsonrpc.php \
-H 'Content-Type: application/json-rpc' \
-d '{"jsonrpc":"2.0","method":"apiinfo.version","params":{},"id":1}'
Ответ: {"jsonrpc":"2.0","result":"4.2.1","id":1}
-X Показывает, что в запросе будет использоваться какой-то метод.
POST Создание ресурса
GET Чтение (получение) ресурса
PUT Обновление ресурса
DELETE Удаление ресурса
Отправка данных POST
-H, --header - передать заголовки на сервер; (Для каждого заголовка включаем дополнительный -H)
-d, --data - отправить данные методом POST;
Вы можете отправлять не только файлы, но и любые данные методом POST.
Напомню, что этот метод используется для отправки данных различных форм.
Для отправки такого запроса используйте опцию -d.
curl -d "field1=val&fileld2=val1"http://posttestserver.com/post.php
Еще Запрос из командной строки через CURL
curl --silent --show-error --insecure --header 'Content-Type: application/json-rpc' --data '{"jsonrpc": "2.0","method":"user.login","params":{"user": "Admin","password": "zabbix"},"id": 1 }' http://192.168.175.111/zabbix/api_jsonrpc.php
Ответ: {"jsonrpc":"2.0","result":"e56692223b1ec39702106d8155b7de74","id":1}
Для windows cmd (''одинарные кавычки меняем на двойные "", двойные котрые были экрнанируем \)
curl --silent --show-error --insecure --header "Content-Type:application/json-rpc" --data "{\"jsonrpc\": \"2.0\",\"method\":\"user.login\",\"params\": {\"user\": \"Admin\",\"password\": \"zabbix\"},\"id\": 1 }" http://192.168.175.111/zabbix/api_jsonrpc.php
-s, --silent Бесшумный или тихий режим. Не показывайте индикатор прогресса или сообщения об ошибках, будет выводить только запрошенные вами данные
-S, --show-error Заставляет curl показывать сообщение об ошибке, если оно терпит неудачу
-k, --insecure TLS проверяется на безопасностьSSL сертификата, продолжает работу с небезопасными серверами игнорируя ошибка ssl.
Пример Авторизации и Выхода через API
Скрипт apizabbix.sh
Код: Выделить всё
#!/bin/bash
#***********************************************************************
#Начало пользовательских переменных
#Установите для них соответствующие значения перед выполнением сценария...
zabbixServer='192.168.175.111'
zabbixUsername='Admin'
zabbixPassword='zabbix'
#Конец пользовательских переменных
#***********************************************************************
header='Content-Type:application/json-rpc'
zabbixApiUrl="http://$zabbixServer/zabbix/api_jsonrpc.php"
function exit_with_error() {
echo '********************************'
echo "$errorMessage"
echo '--------------------------------'
echo 'Входные данные'
echo '--------------------------------'
echo "$json" $zabbixApiUrl
echo '--------------------------------'
echo 'Выходные данные'
echo '--------------------------------'
echo "$result"
echo '********************************'
exit 1
}
#------------------------------------------------------
# Аутентификация пользователя. https://www.zabbix.com/documentation/current/ru/manual/api/reference/user/login
#------------------------------------------------------
errorMessage='*ERROR* - Не удается получить токен авторизации Zabbix'
json=`echo {\"jsonrpc\": \"2.0\",\"method\":\"user.login\",\"params\":{\"user\": \"$zabbixUsername\",\"password\": \"$zabbixPassword\"},\"id\": 1 }`
result=`curl --silent --show-error --insecure --header $header --data "$json" $zabbixApiUrl`
auth=$(echo "${result}" |sed -e 's|.*result":"||' -e 's/","id.*//g')
check=$(echo "${auth}"|tr -d '\r\n'| sed -n 's/error.*/ERROR/Ip')
if [[ ${check} == *ERROR* ]]; then exit_with_error; fi
echo "Вход в систему выполнен успешно - Идентификатор авторизации: $auth"
# Запрос информации об авторизовавшемся пользователе
usinfo=`echo {\"jsonrpc\": \"2.0\",\"method\":\"user.login\",\"params\":{\"user\": \"$zabbixUsername\",\"password\": \"$zabbixPassword\", \"userData\": true},\"id\": 1 }`
infouser=`curl --silent --show-error --insecure --header $header --data "$usinfo" $zabbixApiUrl`
echo "${infouser}"
#------------------------------------------------------
# Выход из zabbix https://www.zabbix.com/documentation/current/ru/manual/api/reference/user/logout
#------------------------------------------------------
# Выполнение выхода из API.
errorMessage='*ERROR* - Не удалось выйти из системы'
usexit=`echo {\"jsonrpc\": \"2.0\",\"method\":\"user.logout\",\"params\": [],\"id\": 1, \"auth\": \"$auth\"}`
logout=`curl --silent --show-error --insecure --header $header --data "$usexit" $zabbixApiUrl`
check=$(echo "${logout}"|tr -d '\r\n'| sed -n 's/error.*/ERROR/Ip')
if [[ ${check} == *ERROR* ]]; then exit_with_error; fi
echo 'Успешно вышел из Zabbix' "${logout}"
Готовые варианты клиентов HTTP или утилит
Показать
Вы можете использовать любой клиент HTTP или утилиту тестирования JSON-RPC для выполнения API запросов вручную, либо библиотеку
Источник http://zabbix.org/wiki/Docs/api/libraries
== Библиотеки API Zabbix ==
Список сторонних инструментов и библиотек для работы с API Zabbix. Обязательно дайте нам знать, если мы пропустили что-то хорошее.
Смотрите также [http://www.zabbix.org/wiki/Zabbix_CLI_Tools инструменты командной строки].
=== Python ===
* [https://github.com/adubkov/py-zabbix py-zabbix] ""от Алексея Дубкова" - Модуль Zabbix для Python (PyPI "'py-zabbix"', поддержка python 2 и 3, отсутствие внешних зависимостей, автотестирование)
* [https://github.com/lukecyca/pyzabbix pyzabbix] ''by Luke Cyca'' - also maintained by ''Systematica (Zabbix Premium Partner)'' - a Python module (PyPI '''pyzabbix''', depends-on requests)
* [https://github.com/baniuyao/ZabbixPythonApi ZabbixPythonApi] "by Frank Yao" - Zabbix API для Python (no python3)
* [https://github.com/gescheit/scripts/tree/master/zabbix zabbix] "by gescheit" - библиотека Python (PyPI "'zabbix-api"')
* [https://github.com/gnetsman/zabbix_api zabbix_api] "от Григория Нецмана" - скрипты для создания и удаления хостов (зависит от zabbix-api)
* [https://github.com/jesuslosada/zabbix-client zabbix-client] ""от Иисуса Лозады" - библиотека Python (PyPI "'zabbix-клиент"')
* [https://github.com/erigones/zabbix-api zabbix-api-erigones] "от Erigones" - библиотека Python (PyPI "'zabbix-api-erigones"')
* [https://github.com/kmomberg/pyZabbixSender pyZabbixSender]"от Курта Момберга" - замена zabbix_sender для Python.
* [https://github.com/diegodrf/ZabbixAPI_py ZabbixAPI_py] ""Диего Родригес" - библиотека Python (PyPI "'Zabbix API-py"')
====ansible-модули====
* [https://docs.ansible.com/ansible/latest ... dules.html ansible] "по проекту ansible" - ansible-модули для настройки zabbix
* [https://github.com/sysfivecom/zabbix_api zabbix_api] "по sysfive.com " - дополнительные модули ansible (еще не вышестоящие)
=== Ruby ===
* [http://trac.red-tux.net/wiki/zbx_api Zabbix API] "by nelsonab" (последний код, похоже, включен [https://github.com/red-tux/zbxapi / github]) - рубиновая оболочка
* [https://github.com/dhruvbansal/rubix Rubix] "by Dhruv Bansal" - библиотека Ruby для работы с API, а также для извлечения и отправки данных на сервер Zabbix
* [http://rubygems.org/gems/zabbixapi zabbixapi] ''экспресс 42'' - a Ruby gem, см. README на [https://github.com/express42/zabbixapi github]
* [https://github.com/Pragmatic-Source/zabby zabby] "от Фарзада Фарида" - библиотека Ruby и клиент для Zabbix
=== Crystal ===
* [https://github.com/DRVTiny/monitoring_zabipi Monitoring::Zabipi and Monitoring::Zabisend] "от Андрея Коновалова "aka Drvtiny" - простая кристаллическая библиотека для работы с API Zabbix и отправки данных на zabbix_server /прокси-сервер по протоколу zabbix_sender (v2)
=== Perl ===
{| класс="сортируемый для викификации"
|-
!Имя/ссылки
!Автор
!Последнее обновление
!Комментарии
|-
|[https://github.com/SFR-ZABBIX/Zabbix-API Zabbix-API]
|SFR-ZABBIX
|2013-01-14
|
|-
|[https://github.com/mikeda/ZabbixAPI ZabbixAPI]
|Томохиро Икеда
|2012-01-07
|
|-
|[https://github.com/DRVTiny/Zabipi Zabipi]
|Андрей Коновалов
|2016-03-21
|Monitoring::Zabipi module. Содержит дополнительные методы (такие как queue.get) и хаки (такие как параметр expandNames для item.get). Многие примеры использования включены в дистрибутив.
|-
|[https://github.com/ksyz/Net-Zabbix Net-Zabbix]
|ksyz''
|2015-12-09
|
|-
|[https://github.com/matsumoto-r/Zabbix-API-Client Zabbix-API-Client]
|Мацумото Ресуке
|2013-03-27
|
|-
| Zabbix-API-Simple Простой
* [https://metacpan.org/release/Zabbix-API-Simple MetaCPAN]
* [https://github.com/dominikschulz/Zabbix-API-Simple github]
|Доминик Шульц
|2014-07-12
|
|-
|[[Docs/howto/Perl_Zabbix::Tiny_API|Zabbix-Tiny]]
* [https://metacpan.org/release/Zabbix-Tiny MetaCPAN]
* [https://github.com/whosgonna/Zabbix-Tiny.pm github]
|Бен Кауфман/[[Пользователь:whosgonna|whosgonna]]
|2018-03-23
|
|}
=== Java ===
* [https://github.com/hengyunabc/zabbix-api zabbix-api] "by hengyunabc" - библиотека Java для доступа к API Zabbix
* [https://github.com/hengyunabc/zabbix-sender zabbix-sender] "by hengyunabc" - библиотека Java для использования протокола отправителя Zabbix
* [https://github.com/myaaaaa-chan/Zabbix4j Zabbix4j] "by myaaaa-chan" - библиотека Java для доступа к API Zabbix
=== PHP ===
* [https://github.com/confirm/PhpZabbixApi/ PhpZabbixApi] "by confirm IT solutions GmbH" - класс-оболочка PHP и генератор кода-оболочки
* [https://github.com/lundgrenalex/microzabbixapiconnector microzabbixapiconnector] "от Алекса Кашина" - микро-Zabbix-Api-соединитель с поддержкой использования прокси
* [https://github.com/moestv2dk/zabbixApi ZabbixApi] "By Morten Moesgaard" - Класс-оболочка для Zabbix API, написанный на PHP (первоначально использовался в Zabbix для интеграции ServiceNow)
=== PowerShell ===
* [https://zabbixposhapi.codeplex.com/ ZabbixPosh Api] "от simsaull" - Модуль Zabbix PowerShell
* [https://1drv.ms/f/s!AnpJ3PWdnpA7nFSa8B8X7pGU_rng Zabbix] ""Бенджамином РИУАЛЕМ" - Еще один модуль Zabbix, основанный на методе Invoke-RestMethod
=== JavaScript ===
* [https://github.com/kodai/jqzabbix jqzabbix] "by Kodai Terashima" - плагин jQuery для Zabbix API
* [https://github.com/flexd/zabbix.js zabbix.js] "Кристоффер Бердал" - библиотека, основанная вокруг request.js
* [https://github.com/sumitgoelpw/zabbix-promise zabbix-promise] "by Sumit Goel" - Упрощенный клиент Zabbix API с обещанной поддержкой
=== TypeScript ===
* [https://github.com/sumitgoelpw/deno-zabbix deno-zabbix] "by Sumit Goel" - клиент Zabbix API для среды выполнения JavaScript/TypeScript Deno.
=== C# ===
* [http://www.zabbix.com/forum/showthread.php?t=24353 c# api library] "by cheezus" - библиотека C# для .NET 2.0
* [https://www.nuget.org/packages/Zabbix/ C# Library] "by HenriqueCaires" - библиотека C# для .NET 4.5
* [https://github.com/Vidlec/Zabbix.NET C# Library] ""Йозеф Видлок" - простой .Сетевая библиотека для zabbix API, написанная на C# с динамическим объектом для метода api. Нет жестко закодированных классов api (поддерживает базовую аутентификацию)
=== Go ===
* [https://github.com/cavaliercoder/go-zabbix/ go-zabbix] "Райан Армстронг" - Привязки API Zabbix для Go
* [https://github.com/rday/zabbix zabbix] "by Райан Дэй" - Zabbix API для Go
* [https://github.com/adubkov/go-zabbix go-zabbix] "от Алексея Дубкова" - Пакеты Zabbix для Go
* [https://github.com/AlekSi/zabbix-sender zabbix-sender] "Алексей Палажченко" - отправляйте данные в элементы ловушки сервера Zabbix из приложения Go
* [https://github.com/AlekSi/zabbix zabbix.go] "Алексей Палажченко" - Zabbix API для Go
* [https://github.com/cavaliercoder/g2z g2z] "Райан Армстронг" - Напишите собственные модули Zabbix в Go
=== Rust ===
* [https://github.com/dnaeon/rust-zbx rust-zbx] "Марин Атанасов Николов" - Ящик Rust для создания загружаемых модулей Zabbix
=== R ===
* [https://github.com/MarcinKosinski/RZabbix RZabbix] "Марцином Косински" - интерфейс R к данным "Zabbix API" <https://www.zabbix.com/documentation/3. ... /reference >. Обеспечивает простую и прямую связь с "Zabbix API" от "R". Опубликовано на [https://cran.r-project.org/web/packages ... index.html КРАН]
=== Online web ===
* [http://monitoringartist.github.io/zapix/ ZAPIX] "by Monitoring Artist" - онлайн-веб-утилита для тестирования и разработки запросов API - чистый Javascript, установка не требуется
[[Category:API|Libraries]]
[[Category:Zabbix sender|Libraries]]
[[Category:Python|Libraries]]
[[Category:Ruby|Libraries]]
[[Category:Perl|Libraries]]
[[Category:Java|Libraries]]
[[Category:PHP|Libraries]]
[[Category:PowerShell|Libraries]]
[[Category:C Sharp|Libraries]]
[[Category:Go|Libraries]]
Источник http://zabbix.org/wiki/Docs/api/libraries
== Библиотеки API Zabbix ==
Список сторонних инструментов и библиотек для работы с API Zabbix. Обязательно дайте нам знать, если мы пропустили что-то хорошее.
Смотрите также [http://www.zabbix.org/wiki/Zabbix_CLI_Tools инструменты командной строки].
=== Python ===
* [https://github.com/adubkov/py-zabbix py-zabbix] ""от Алексея Дубкова" - Модуль Zabbix для Python (PyPI "'py-zabbix"', поддержка python 2 и 3, отсутствие внешних зависимостей, автотестирование)
* [https://github.com/lukecyca/pyzabbix pyzabbix] ''by Luke Cyca'' - also maintained by ''Systematica (Zabbix Premium Partner)'' - a Python module (PyPI '''pyzabbix''', depends-on requests)
* [https://github.com/baniuyao/ZabbixPythonApi ZabbixPythonApi] "by Frank Yao" - Zabbix API для Python (no python3)
* [https://github.com/gescheit/scripts/tree/master/zabbix zabbix] "by gescheit" - библиотека Python (PyPI "'zabbix-api"')
* [https://github.com/gnetsman/zabbix_api zabbix_api] "от Григория Нецмана" - скрипты для создания и удаления хостов (зависит от zabbix-api)
* [https://github.com/jesuslosada/zabbix-client zabbix-client] ""от Иисуса Лозады" - библиотека Python (PyPI "'zabbix-клиент"')
* [https://github.com/erigones/zabbix-api zabbix-api-erigones] "от Erigones" - библиотека Python (PyPI "'zabbix-api-erigones"')
* [https://github.com/kmomberg/pyZabbixSender pyZabbixSender]"от Курта Момберга" - замена zabbix_sender для Python.
* [https://github.com/diegodrf/ZabbixAPI_py ZabbixAPI_py] ""Диего Родригес" - библиотека Python (PyPI "'Zabbix API-py"')
====ansible-модули====
* [https://docs.ansible.com/ansible/latest ... dules.html ansible] "по проекту ansible" - ansible-модули для настройки zabbix
* [https://github.com/sysfivecom/zabbix_api zabbix_api] "по sysfive.com " - дополнительные модули ansible (еще не вышестоящие)
=== Ruby ===
* [http://trac.red-tux.net/wiki/zbx_api Zabbix API] "by nelsonab" (последний код, похоже, включен [https://github.com/red-tux/zbxapi / github]) - рубиновая оболочка
* [https://github.com/dhruvbansal/rubix Rubix] "by Dhruv Bansal" - библиотека Ruby для работы с API, а также для извлечения и отправки данных на сервер Zabbix
* [http://rubygems.org/gems/zabbixapi zabbixapi] ''экспресс 42'' - a Ruby gem, см. README на [https://github.com/express42/zabbixapi github]
* [https://github.com/Pragmatic-Source/zabby zabby] "от Фарзада Фарида" - библиотека Ruby и клиент для Zabbix
=== Crystal ===
* [https://github.com/DRVTiny/monitoring_zabipi Monitoring::Zabipi and Monitoring::Zabisend] "от Андрея Коновалова "aka Drvtiny" - простая кристаллическая библиотека для работы с API Zabbix и отправки данных на zabbix_server /прокси-сервер по протоколу zabbix_sender (v2)
=== Perl ===
{| класс="сортируемый для викификации"
|-
!Имя/ссылки
!Автор
!Последнее обновление
!Комментарии
|-
|[https://github.com/SFR-ZABBIX/Zabbix-API Zabbix-API]
|SFR-ZABBIX
|2013-01-14
|
|-
|[https://github.com/mikeda/ZabbixAPI ZabbixAPI]
|Томохиро Икеда
|2012-01-07
|
|-
|[https://github.com/DRVTiny/Zabipi Zabipi]
|Андрей Коновалов
|2016-03-21
|Monitoring::Zabipi module. Содержит дополнительные методы (такие как queue.get) и хаки (такие как параметр expandNames для item.get). Многие примеры использования включены в дистрибутив.
|-
|[https://github.com/ksyz/Net-Zabbix Net-Zabbix]
|ksyz''
|2015-12-09
|
|-
|[https://github.com/matsumoto-r/Zabbix-API-Client Zabbix-API-Client]
|Мацумото Ресуке
|2013-03-27
|
|-
| Zabbix-API-Simple Простой
* [https://metacpan.org/release/Zabbix-API-Simple MetaCPAN]
* [https://github.com/dominikschulz/Zabbix-API-Simple github]
|Доминик Шульц
|2014-07-12
|
|-
|[[Docs/howto/Perl_Zabbix::Tiny_API|Zabbix-Tiny]]
* [https://metacpan.org/release/Zabbix-Tiny MetaCPAN]
* [https://github.com/whosgonna/Zabbix-Tiny.pm github]
|Бен Кауфман/[[Пользователь:whosgonna|whosgonna]]
|2018-03-23
|
|}
=== Java ===
* [https://github.com/hengyunabc/zabbix-api zabbix-api] "by hengyunabc" - библиотека Java для доступа к API Zabbix
* [https://github.com/hengyunabc/zabbix-sender zabbix-sender] "by hengyunabc" - библиотека Java для использования протокола отправителя Zabbix
* [https://github.com/myaaaaa-chan/Zabbix4j Zabbix4j] "by myaaaa-chan" - библиотека Java для доступа к API Zabbix
=== PHP ===
* [https://github.com/confirm/PhpZabbixApi/ PhpZabbixApi] "by confirm IT solutions GmbH" - класс-оболочка PHP и генератор кода-оболочки
* [https://github.com/lundgrenalex/microzabbixapiconnector microzabbixapiconnector] "от Алекса Кашина" - микро-Zabbix-Api-соединитель с поддержкой использования прокси
* [https://github.com/moestv2dk/zabbixApi ZabbixApi] "By Morten Moesgaard" - Класс-оболочка для Zabbix API, написанный на PHP (первоначально использовался в Zabbix для интеграции ServiceNow)
=== PowerShell ===
* [https://zabbixposhapi.codeplex.com/ ZabbixPosh Api] "от simsaull" - Модуль Zabbix PowerShell
* [https://1drv.ms/f/s!AnpJ3PWdnpA7nFSa8B8X7pGU_rng Zabbix] ""Бенджамином РИУАЛЕМ" - Еще один модуль Zabbix, основанный на методе Invoke-RestMethod
=== JavaScript ===
* [https://github.com/kodai/jqzabbix jqzabbix] "by Kodai Terashima" - плагин jQuery для Zabbix API
* [https://github.com/flexd/zabbix.js zabbix.js] "Кристоффер Бердал" - библиотека, основанная вокруг request.js
* [https://github.com/sumitgoelpw/zabbix-promise zabbix-promise] "by Sumit Goel" - Упрощенный клиент Zabbix API с обещанной поддержкой
=== TypeScript ===
* [https://github.com/sumitgoelpw/deno-zabbix deno-zabbix] "by Sumit Goel" - клиент Zabbix API для среды выполнения JavaScript/TypeScript Deno.
=== C# ===
* [http://www.zabbix.com/forum/showthread.php?t=24353 c# api library] "by cheezus" - библиотека C# для .NET 2.0
* [https://www.nuget.org/packages/Zabbix/ C# Library] "by HenriqueCaires" - библиотека C# для .NET 4.5
* [https://github.com/Vidlec/Zabbix.NET C# Library] ""Йозеф Видлок" - простой .Сетевая библиотека для zabbix API, написанная на C# с динамическим объектом для метода api. Нет жестко закодированных классов api (поддерживает базовую аутентификацию)
=== Go ===
* [https://github.com/cavaliercoder/go-zabbix/ go-zabbix] "Райан Армстронг" - Привязки API Zabbix для Go
* [https://github.com/rday/zabbix zabbix] "by Райан Дэй" - Zabbix API для Go
* [https://github.com/adubkov/go-zabbix go-zabbix] "от Алексея Дубкова" - Пакеты Zabbix для Go
* [https://github.com/AlekSi/zabbix-sender zabbix-sender] "Алексей Палажченко" - отправляйте данные в элементы ловушки сервера Zabbix из приложения Go
* [https://github.com/AlekSi/zabbix zabbix.go] "Алексей Палажченко" - Zabbix API для Go
* [https://github.com/cavaliercoder/g2z g2z] "Райан Армстронг" - Напишите собственные модули Zabbix в Go
=== Rust ===
* [https://github.com/dnaeon/rust-zbx rust-zbx] "Марин Атанасов Николов" - Ящик Rust для создания загружаемых модулей Zabbix
=== R ===
* [https://github.com/MarcinKosinski/RZabbix RZabbix] "Марцином Косински" - интерфейс R к данным "Zabbix API" <https://www.zabbix.com/documentation/3. ... /reference >. Обеспечивает простую и прямую связь с "Zabbix API" от "R". Опубликовано на [https://cran.r-project.org/web/packages ... index.html КРАН]
=== Online web ===
* [http://monitoringartist.github.io/zapix/ ZAPIX] "by Monitoring Artist" - онлайн-веб-утилита для тестирования и разработки запросов API - чистый Javascript, установка не требуется
[[Category:API|Libraries]]
[[Category:Zabbix sender|Libraries]]
[[Category:Python|Libraries]]
[[Category:Ruby|Libraries]]
[[Category:Perl|Libraries]]
[[Category:Java|Libraries]]
[[Category:PHP|Libraries]]
[[Category:PowerShell|Libraries]]
[[Category:C Sharp|Libraries]]
[[Category:Go|Libraries]]
Пункт 3.Подставлять дату через API доступ в базу получать ее например с php или командой.
Готовый скрипт Проверяет существует ли глобальный макрос если нет создает проверяет совпадает ли текущая дата если нет изменяет на текущую.
/usr/local/share/zabbix/externalscripts/dateglobalmacroapi.sh Имя-узла