Skip to content
This repository has been archived by the owner on May 9, 2023. It is now read-only.

mlniang/spring-zabbix-api-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring-zabbix-api-client

Helper Library for using Zabbix API from a Spring Boot application based on the Zabbix API version 4.0.

Build Status Maven Central License

Usage

Import using:

<dependency>
    <groupId>io.github.mlniang</groupId>
    <artifactId>spring-zabbix-api-client</artifactId>
    <version>0.1.1</version>
</dependency>

Set the property zabbix.api.url in your properties file as the URL of the Zabbix Server (without /api_jsonrpc.php).

The ZabbixApiService offers a general method you can use to make calls to the API. Example:

import io.github.mlniang.zabbix.client.exception.ZabbixApiException;
import io.github.mlniang.zabbix.client.request.CommonGetParams;
import io.github.mlniang.zabbix.client.response.JsonRPCResponse;
import io.github.mlniang.zabbix.client.service.ZabbixApiService;
import org.springframework.stereotype.Component;

@Component
public class TestClass {

   private final ZabbixApiService zabbixApiService;

   public TestClass(ZabbixApiService zabbixApiService) {
       this.zabbixApiService = zabbixApiService;
   }

   public JsonRPCResponse testCall() throws ZabbixApiException {
       CommonGetParams params = CommonGetParams.builder()
               .output("extended")
               .build();
       return zabbixApiService.call("host.get", params, "0424bd59b807674191e7d77572075f33");
   }
}

It contains also a shortcut method for authentication (zabbixApiService.authenticate("user", "password")).

The ZabbixHostService is just a helper class built for Zabbix Host method.

Next Steps

  • Build more helpers.
  • Propose caching user auth tokens ?