Skip to content

maxgrechnev/unimonapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unimonapi

Universal API for different monitoring systems: use built-in system types or extend with your own.

Currently supported API is Zabbix. But you can extend the package with any monitoring system you want.

Just imagine: universal API for every system!

Getting Started

Installing

To install the package simply run:

pip install unimonapi

Using

The unimonapi CLI is available just after installation:

zabbix_cli.py --help

Or of course you can use the package for coding:

from unimonapi import ZabbixAPI
api = ZabbixAPI('http://zabbix-web', 'Admin', 'zabbix')
for problem in api.get_problems():
    print problem

Extending

Extending the package is simple:

import requests
from unimonapi import MonitoringAPI
from unimonapi import Event

class MyMonAPI(MonitoringAPI):

    def __init__(self, url):
        self.url = url

    def get_problems(self, severities=None, groups=None):
        problems = []
        for p in requests.get(self.url).json():
            if severities is None or p['severity'] in severities:
                if groups is None or p['group'] in groups:
                    event = Event(Event.PROBLEM, True, p['severity'], p['host'], p['text'], p['id'])
                    problems.append(event)
        return problems

License

This project is licensed under the MIT License - see the LICENSE file for details

About

Universal monitoring API for different monitoring systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages