agents

Global variables

 

Descripción

Las siguientes variables pueden modificarse de modo global.

Nombre Descripción Valor por defecto
agents_group_name
Grupo de destino de Pandora FMS ''
interval
Intervalo de monitorización del agente 300

 

Para modificar las variables globales use la función :

set_global_variable

Versión

class Agent

Descripción

Clase básica de agente. Requiere parámetros de agente (config {diccionario}) y definición de módulo (modules_def [lista de diccionarios])

Ejemplo

import pandoraPlugintools as pt

# Create an instance of the Agent class
agent_instance = pt.agents.Agent()

Funciones

update_config

Descripción

Actualiza los ajustes de configuración con nuevos valores.

Parámetros

Nombre Tipo Requerido Descripción
config dict Si Un diccionario que contiene las claves de configuración y sus nuevos valores

Versión

  • 1.0.0

Ejemplo

# Update agent configuration
new_config = {
    "agent_name": "UpdatedAgentName",
    "description": "Updated agent description"
}
agent_instance.update_config(new_config)

get_config

Descripción

Recupera los ajustes de configuración actuales.

Return 

Tipo Descripción
dict Un diccionario que contiene los ajustes de configuración actuales

Versión

  • 1.0.0

Ejemplo

# Get current agent configuration
current_config = agent_instance.get_config()
print("Current Agent Configuration:", current_config)

add_module

Descripción

Añade un nuevo módulo a la lista de módulos.

Parámetros

Nombre Tipo Requerido Descripción
module dict Si Un diccionario que contiene información sobre el módulo

Return 

Tipo
None

Versión

  • 1.0.0

Ejemplo

# Define a module and add it to the agent
module_data = {
    "name": "HostAlive",
    "type": "generic_proc",
    "value": 1
}
agent_instance.add_module(module_data)

del_module

Descripción

Elimina un módulo basándose en su nombre

Parámetros

Nombre Tipo Requerido Descripción
module_name str Si El nombre del módulo a eliminar

Return 

Tipo
None

Versión

  • 1.0.0

Ejemplo

# Delete a module based on its name
module_name_to_delete = "HostAlive"
agent_instance.del_module(module_name_to_delete)

update_module

Descripción

Actualiza un módulo basándose en su nombre

Parámetros

Nombre Tipo Requerido Descripción
module_name str Si El nombre del módulo a actualizar
module dict Si Un diccionario que contiene la información actualizada del módulo

Return 

Tipo
None

Versión

  • 1.0.0

Ejemplo

# Update a module based on its name
module_name_to_update = "HostAlive"
updated_module_data = {
    "type": "generic_data",
    "value": 1
}
agent_instance.update_module(module_name_to_update, updated_module_data)

get_module

Descripción

Recupera información del módulo en base a su nombre

Parámetros

Nombre Tipo Requerido Descripción
module_name str SI El nombre del módulo a recuperar

Return 

Tipo Descripción
dict Un diccionario que contiene información del módulo si se encuentra, de lo contrario un diccionario vacío

Versión

  • 1.0.0

Ejemplo

# Get module information by name
module_info = agent_instance.get_module("HostAlive")
print("Module Information:", module_info)

get_modules_def

Descripción

Recupera las definiciones de todos los módulos añadidos.

Return 

Tipo Descripción
dict Un diccionario que contiene las definiciones de todos los módulos añadidos

Versión

  • 1.0.0

Ejemplo

# Get definitions of all added modules
all_module_defs = agent_instance.get_modules_def()
print("All Module Definitions:", all_module_defs)

add_log_module

Descripción

Añade un nuevo módulo de registro a la lista de módulos de registro.

Parámetros

Nombre Tipo Requerido Descripción
log_module dict Si Un diccionario que contiene información sobre el módulo de registro

Return 

Tipo
None

Versión

  • 1.0.0

Ejemplo

# Define a log module and add it to the agent
log_module_data = {
    "source": "LogSource",
    "type": "log",
    "value": "El host no es accesible"
}
agent_instance.add_log_module(log_module_data)

get_log_modules_def

Descripción

Recupera las definiciones de todos los módulos de registro añadidos

Return 

Tipo Descripción
dict  Un diccionario que contiene las definiciones de todos los módulos de registro añadidos

Versión

  • 1.0.0

Ejemplo

# Get definitions of all added log modules
all_log_module_defs = agent_instance.get_log_modules_def()
print("All Log Module Definitions:", all_log_module_defs)

print_xml

Descripción

Genera y opcionalmente imprime la representación XML del agente.

Parámetros

Nombre Tipo Requerido Descripción
print_flag bool SI Una bandera que indica si imprimir la representación XML

Return 

Tipo Descripción
str La representación XML del agente

Versión

  • 1.0.0

Ejemplo

# Generate and optionally print the XML representation of the agent
xml_representation = agent_instance.print_xml(print_flag=True)
print("Agent XML Representation:\n", xml_representation)

set_global_variable

Descripción

Establece el valor de una variable global en el diccionario 'global_variables'.

Parámetros

Nombre  Tipo Requerido Descripción
variable_name str Si Nombre de la variable a establecer
value None Si Valor a asignar a la variable

Return 

Tipo
None

Versión

Ejemplo

import pandoraPlugintools as pt

variable_name = "agents_group_name"
value = "Servers"

pt.agents.set_global_variable(variable_name, value)

print(pt.agents._GLOBAL_VARIABLES)

get_global_variable

Descripción

Establece el valor de una variable global en el diccionario 'global_variables'.

Parámetros

Nombre  Tipo Requerido Descripción
variable_name str Si Nombre de la variable a establecer

Return 

Tipo
None

Versión

Ejemplo

import pandoraPlugintools as pt

variable_name = "agents_group_name"
value = pt.agents.get_global_variable(variable_name)
print(f"{variable_name}: {value}")

get_os

Descripción

Detecta el sistema operativo del sistema.

Return 

Tipo Descripción
str Sistema operativo del sistema

Requisitos

Versión

Ejemplo

import pandoraPlugintools as pt

os_name = pt.agents.get_os()
print("Operating System:", os_name)

init_agent

Descripción

Inicializa una plantilla de agente con valores por defecto.

Return 

Nombre Tipo Requerido Descripción
dict dict No Diccionario que representa la plantilla de agente con valores por defecto

Requisitos

Versión

Ejemplo

import pandoraPlugintools as pt

# Example: Initializing an agent template with default values and custom values
custom_defaults = {
    "agent_name": "RockyLinux",
    "description": "Linux system",
    "address": "192.168.1.100"
}

agent_template = pt.agents.init_agent(default_values=custom_defaults)
print("Agent Template:", agent_template)

print_agent

Descripción

Imprime el XML del agente.

Parámetros

Nombre Tipo Requerido Descripción
agent dict Si Diccionario con la configuración del agente
modules list Si Lista de módulos
log_modules list No Sirve para añadir módulos de log. Por defecto None
print_flag
bool
No
Sirve para mostrar el XML de los módulos en STDOUT. Por defecto None

Return 

Tipo Descripción
str Devuelve una cadena en formato XML

Requisitos

Versión

Ejemplo

import pandoraPlugintools as pt

# Example: Creating agent and module data
agent_data = {
    "agent_name": "Debian10",
    "description": "Linux system",
    "address": "192.168.1.100"
}

module_data = {
    "name": "Ping",
    "type": "generic_proc",
    "value": 1,
    "desc": "Check host alive",
}


agent_xml_representation = pt.agents.print_agent(
    agent=agent_data,
    modules=[module_data],
    print_flag=True
)

print("Agent XML Representation:\n", agent_xml_representation)