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 :
Versión
- 1.0.0
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
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
- 1.0.0
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
- 1.0.0
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
- os
Versión
- 1.0.0
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
- datetime.datetime
Versión
- 1.0.0
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
- modules.print_module
- modules.print_log_module
Versión
- 1.0.0
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)