Zabbix API calls can be used through the graphical user interface (GUI), no need to jump to scripting. An application to perform API calls is called Postman.
Benefits:
- Available on Windows, Linux, or MAC
- Save/synchronize your collection with Google account
- Can copy and paste examples from the official documentation page
Let’s go to basic steps on how to perform API calls:
1st step – Grab API method user.login and use a dedicated username and password to obtain and session token:
{ "jsonrpc": "2.0", "method": "user.login", "params": { "user": "api", "password": "zabbix" }, "id": 1 }
This is how it looks in Postman:
NOTE
We recommend using a dedicated user for API calls. For example, a user called “api”. Make sure the user type has been chosen as “Zabbix Super Admin” so through this user we can access any type of information.
2nd step – Use API method trigger.get to list all triggers in the problem state:
{ "jsonrpc": "2.0", "method": "trigger.get", "params": { "output": [ "triggerid", "description", "priority" ], "filter": { "value": 1 }, "sortfield": "priority", "sortorder": "DESC" }, "auth": "<session key>", "id": 1 }
Replace “<session key>” inside the API snippet to make it work. Then click “Send” button. It will list all triggers in the problem state on the right side:
Postman conveniences – Environments
Environments are “a must” if you:
- Have a separate test, development, and production Zabbix instance
- Plan to migrate Zabbix to next version (4.0 to 5.0) so it’s better to test all API calls beforehand
On the top right corner, there is a button Manage Environments. Let’s click it.
Each environment must consist of url and auth key:
Now we have one definition prod. Can close window with [X]:
In order to work with your new environment, select a newly created profile prod. It’s required to substitute Zabbix API endpoint with {{url}} and plot {{auth}} to serve as a dynamic authorization key:
NOTE
Every time we notice an API procedure does not work anymore, all we need to do is to enter Manage environments section and install a new session tokken..
Topic in video format:
https://youtu.be/B14tsDUasG8?t=2513
help please I can’t use the zabbix api it gives me the following error
How can I get event.get last 30day using Postman?
With Zabbix 7.0.5, I got two issues:
1/ “user” is not working anymore, you should use “username”.
2/ It seems it also needs a “host” parameter (see attached capture).
I tried to add to params “host”: “<myZabbixServerFQDN>”, but the response is: “Invalid parameter \”/\”: unexpected parameter \”host\”.”
Could you please review this article and fix accordingly?