#!/usr/bin/env python3
|
|
|
|
|
|
from pyzabbix import ZabbixMetric, ZabbixSender # py-zabbix module
|
|
import requests
|
|
import json
|
|
import os
|
|
import sys
|
|
|
|
|
|
class ZabbixSenderSwn:
|
|
def __init__(self, server, host, data):
|
|
self.server = server
|
|
self.host = host
|
|
self.data = data
|
|
self.packet = []
|
|
|
|
def make_packet(self):
|
|
if len(self.packet) != 0:
|
|
return self.packet
|
|
for line in self.data:
|
|
self.packet.append(ZabbixMetric(self.host, line[0], line[1]))
|
|
|
|
def send_packet(self):
|
|
if len(self.packet) == 0:
|
|
self.make_packet()
|
|
return ZabbixSender(self.server).send(self.packet)
|
|
|
|
|
|
def read_conf():
|
|
path = os.path.dirname(os.path.realpath(__file__))
|
|
conf_file = os.path.join(path, 'config.json')
|
|
with open(conf_file) as f:
|
|
conf = json.load(f)
|
|
return conf
|
|
|
|
def just_send(data):
|
|
conf = read_conf()
|
|
s = ZabbixSenderSwn(conf["zabbix_server"], conf["host"], data = [])
|
|
s.send_packet()
|
Powered by TurnKey Linux.