pandorafms/pandora_server/extras/pandoraPlugintools
miguel angel rasteu feac240905 #10637 Resolve conflicts 2023-08-22 11:49:23 +02:00
..
README.md #10637 Resolve conflicts 2023-08-22 11:49:23 +02:00
__init__.py added snmp in __init__.py 2023-08-18 10:41:39 +02:00
agents.py Minor changes 2023-08-18 12:53:03 +02:00
discovery.py Minor changes 2023-08-18 12:53:03 +02:00
encryption.py Merge branch 'ent-11756-plugintools-python' of https://brutus.artica.es:8081/artica/pandorafms into ent-11756-plugintools-python 2023-08-16 08:12:21 +02:00
general.py Minor changes 2023-08-18 12:53:03 +02:00
http.py Minor changes 2023-08-18 12:53:03 +02:00
modules.py Merge branch 'ent-11756-plugintools-python' of https://brutus.artica.es:8081/artica/pandorafms into ent-11756-plugintools-python 2023-08-16 08:12:21 +02:00
output.py Minor changes 2023-08-18 12:53:03 +02:00
snmp.py changes in trap sender (new import module) and returns 2023-08-22 09:56:41 +02:00
threads.py Minor changes 2023-08-18 12:53:03 +02:00
transfer.py Minor changes 2023-08-18 12:53:03 +02:00

README.md

Python: module plugintools for PandoraFMS Developers

pandoraPluginTools is a library that aims to help the creation of scripts and their integration in Pandora FMS.

PluginTools Reference Documentation

The package includes the following modules. Each one has different functions that facilitate and automate the data integration in Pandora FMS:

general Module containing general purpose functions, useful in the creation of plugins for PandoraFMS.

threads Module containing threading purpose functions, useful to run parallel functions.

agents Module that contains functions oriented to the creation of Pandora FMS agents

modules Module that contains functions oriented to the creation of Pandora FMS modules.

transfer Module containing functions oriented to file transfer and data sending to Pandora FMS server.

discovery Module containing functions oriented to the creation of Pandora FMS discovery plugins.

http Module containing functions oriented to HTTP API calls.

Example

import pandoraPluginTools as ppt

## Define agent
server_name = "WIN-SERV"

agent=ppt.init_agent({
    "agent_name"  : ppt.generate_md5(server_name),
    "agent_alias" : server_name,
    "description" : "Default Windows server"
})

## Define modules
modules=[]

data = 10
modules.append({
    "name" : "CPU usage",
    "type" : "generic_data",
    "value": data,
    "desc" : "Percentage of CPU utilization",
    "unit" : "%"
})

## Generate and transfer XML
xml_content = ppt.print_agent(agent, modules)
xml_file = ppt.write_xml(xml_content, agent["agent_name"])
ppt.transfer_xml(
    xml_file,
    transfer_mode="tentacle",
    tentacle_ip="192.168.1.20",
    tentacle_port="41121",
)

The package has the following dependencies:

  • Hashlib
  • datetime.datetime
  • hashlib
  • json
  • os
  • print_agent
  • print_log_module
  • print_module
  • queue.Queue
  • requests.auth.HTTPBasicAuth
  • requests.auth.HTTPDigestAuth
  • requests.sessions.Session
  • requests_ntlm.HttpNtlmAuth
  • shutil
  • subprocess.Popen
  • sys
  • threading.Thread