API Externa
API Externa de Pandora FMS
La API externa de Pandora FMS se utiliza haciendo llamadas remotas (vía HTTP o HTTPS) sobre el fichero /include/api.php
. Este es el método que se ha definido en Pandora FMS para integrar aplicaciones de terceros con Pandora FMS. Básicamente consiste en un llamada con los parámetros formateados para recibir un valor o una lista de valores que después de su aplicación usará para realizar operaciones.
Una llamada al API es tan fácil como:
http://<Pandora FMS Console install>/include/api.php<parameters>
El API sólo puede recibir los siguientes parámetros (< parameters >
):
op
(obligatorio): Es el primer parámetro. Especifica la naturaleza de la operación que puede serget
o set ohelp
:get
: Devuelve un valor o valoresset
: Envía un valor o valoreshelp
: Devuelve una pequeña ayuda de las llamadas
op2
(obligatorio): La llamada en sí con un nombre explicativo de sobre qué actúa.id
(depende del comando): Primer parámetro de la llamada.id2
(depende del comando): Segundo parámetro de la llamada.other
(depende del comando): Tercer parámetro de la llamada, algunas veces puede ser un lista de valores serializados.other_mode
(depende del comando): Formato de la serialización. Lista de valores posibles:url_encode_separator_
<separador>:El valor será una lista de valores serializados con el carácter separador por ejemplo:
...other=pears|melons|watermelon&other_mode=url_encode_separator_|
Usted puede utilizar cualquier separador, en esta documentación el caracter |
(%7C
percent-encoded) es usado de manera preferente. Véase también cómo trabaja el API checker.
returnType
(depende del comando): Formato de retorno del valor o valores. Alguno de los valores disponibles actuales son:string
: Devuelve el valor tal cual como un alfanumérico.csv
: Devuelve los valores como un CSV separado por defecto con el carácter;
los campos, y separados con retornos de carro las filas.csv_head
: Devuelve, igual que concsv
, salvo que añade una primera fila con los nombres de los campos a retornar.
- Credenciales de seguridad: véase la sección “Seguridad”.
Seguridad
La API autentifica el acceso mediante origen y/o contraseña de API y/o credenciales de usuario.
Por origen
Actualmente, la seguridad se basa en una lista de direcciones IP que tendrán acceso a la herramienta.
Si se introduce en la caja de texto el carácter *
se omite la comprobación de ACL relegando la seguridad al protocolo y al entorno.
Por contraseña de API
También se puede establecer una contraseña (·API password) para realizar las acciones del API.
apipass
: Por defecto, y es usado en esta documentación,1234
.
Por credenciales de usuario
Se accede mediante nombre de usuario y contraseña; adicionalmente desde la versión 768 o posterior es posible autenticar mediante bearer token.
Mediante nombre de usuario y contraseña
Para acceder a las acciones de la API, también es necesario proporcionar un nombre de usuario tipo superadmin y contraseña válidos ambos en el sistema Pandora FMS.
user
: Usuario de Pandora FMS válido.pass
: La contraseña del usuario proporcionado.
Las llamadas a la API llevan las contraseñas sin codificar. Debe tener cuidado y emplear conexiones SSL para evitar que se puedan ver por terceros en la red. La API admite peticiones via POST para poder cifrarlas cuando se usa SSL/HTTPS.
Retorno
Cuando la API deniega el acceso, será devuelta una simple cadena de texto auth error
.
Ejemplos
En esta documentación se utiliza 1234
para la contraseña del API, el nombre de usuario es admin
(tipo superadmin) y la contraseña es pandora
.
Pandora FMS trae instalado, por defecto, un usuario llamado internal_API
el cual ni tiene contraseña establecida ni es un superadmin. Tanto para este usuario, como para los demás que sean creados, se deberán establecer los perfiles adecuados para cada uno de los comandos y operaciones acá descritos.
.../include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
Condiciones de acceso:
- La dirección IP de origen está en la lista de ACL (o se utiliza
*
para ello). - La contraseña de la API no está establecida o es
1234
. - El usuario
admin
existe, es un superadmin y su contraseña de usuario espandora
.
API checker
Menú Management → Admin tools → API checker.
Versión 768 o posterior: Se puede autenticar con API Token por medio de el envío en las cabeceras HTTP de un bearer token generado por cada usuario y para su propio uso privado y particular. Consulte “Editar mi usuario” para más detalles.
Flujo de trabajo del sistema de seguridad
Se implementa gracias a tres elementos:
- Filtrado por dirección IP: Solamente las direcciones IP listadas podrán acceder a la API.
- Contraseña global para la API: Si se define, es obligatorio usarla en todas las llamadas.
- Usuario y contraseña: Usuario de tipo superadmin y válido en la Consola web. Se utilizarán sus permisos para cada operación solicitada. A partir de la versión NG 768 también es posible acceder mediante bearer token.
Esto se explica en el siguiente diagrama de flujo:
Llamadas a la API
Se dividen en dos grupos según si devuelven o escriben datos en Pandora FMS.
Existe una excepción: la llamada de retorno de información.
Autenticación por bearer token
Versión 768 o posterior: Se puede autenticar con API Token por medio de el envío en las cabeceras HTTP de un bearer token generado por cada usuario y para su propio uso privado y particular. Consulte “Editar mi usuario” para más detalles.
La autenticación basada en bearer token permite que cada uno de los usuarios registrados en Pandora FMS pueda generar su propio identificador en correspondencia unívoca. Dicho bearer token debe ser insertado en las cabeceras HTTP, es decir, no forma parte de la URL completa de la API. El mecanismo de envío corresponde a la aplicación que realiza la conexión con la API de PFMS.
Versión 768 o posterior: De aparecer un icono de advertencia adyacente al API Token configure el fichero php.conf
.
Para los siguientes ejemplos se utiliza el programa de línea de comandos cURL, versión 7.68 .
- Verifique la versión de curl con
curl -V
.
- Si necesita más ayuda para utilizar curl, invoque
curl -h
. - Los parámetros
-k
y-H
sirven para aceptar conexiones con certificados autofirmados para HTTPS y enviar la información de las cabeceras, respectivamente. - Consulte el bearer token correspondiente al usuario que realizará la consulta API.
- Ahora ya puede realizar una consulta API, en el siguiente ejemplo se utiliza
get test
(sustituya por su bearer token consultado anteriormente):
BEARER="Authorization: Bearer 811a0c1889f3aa62ef481ccd173ea5ec" URL="http://192.168.7.117/pandora_console/include/api.php" API_QUERY="?op=get&op2=test" curl -k -H "$BEARER" $URL$API_QUERY && echo ""
- Si necesita depurar la conexión utilice el parámetro
-v
(no confundir con-V
usado para mostrar la versión).
Retorno de información
Devuelve la versión de Pandora FMS Console web, de un modo parecido a la función get test
pero sin chequear la conexión a la API.
Esta llamada es útil para verificar que en esta ruta se encuentra una instalación de Pandora FMS y para obtener la versión antes de la autenticación.
La información que devuelve se puede obtener de la pantalla de login, por lo que no se considera que se vulnere la seguridad.
http://127.0.0.1/pandora_console/include/api.php?info=version
Un ejemplo de respuesta podría ser: Pandora FMS v7.0NG.768 - PC230120 MR60
GET
Devuelve los datos solicitados.
get test
Chequea la conexión al API y devuelve la versión del Pandora Console.
Esta característica está en el Command Center (Metaconsola).
Sintaxis de la llamada: Sin parámetros
Ejemplos
Este ejemplo devolverá OK,[version],[build]
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=test&apipass=1234&user=admin&pass=pandora
Un ejemplo de respuesta podría ser: OK,v7.0NG.751,PC201215
get license
Para consultar el estado de la licencia de uso de Pandora FMS, según el nivel de acceso que tenga las credenciales del usuario.
op=get
(obligatorio).op2=license
(obligatorio).return_type=json
(obligatorio).
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=get&op2=license&return_type=json&apipass=1234&user=admin&pass=pandora
Para la versión actual devuelve:
{ "type": "array", "data": { "expiry_date": "2099/09/04", "limit": 200, "limit_mode": "0", "nms": "0", "dhpm": "1", "licensed_to": "PandoraFMS(PandoraFMS <[email protected]>) ", "count": "4", "count_enabled": "4", "count_disabled": "0", "license_mode": "Perpetual", "expiry_caption": "Support expires" } }
get all_agents
Devuelve una lista de agentes según el filtro en parámetros.
op=get
(obligatorio).op2=all_agents
(obligatorio).return_type=csv
oreturn_type=json
(obligatorio).other=
< parámetros_serializados > (opcionales). Parámetros serializados para filtrar la búsqueda de agentes:
- < filter_so >
- < filter_group >
- < filter_module_states >
unknown
,warning
,critical
,no_modules
. - < filter_alias >
- < filter_policy >
- < csv_separator >
- Recursión (
1
o0
).
Ejemplo (vea sintaxis de la llamada):
Este ejemplo devolverá todos los agentes cuyo id_os sea igual a 1 (formato CSV):
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=1||||||0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Este ejemplo devolverá todos los agentes cuyo id_group sea igual a 2 (formato JSON):
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=json&other=|2|||||0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Este ejemplo devolverá todos los agentes cuyo estado sea igual a critical (formato CSV):
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=||critical||||0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Este ejemplo devolverá todos los agentes cuyo alias contenga 'pa' (formato CSV):
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=|||pa|||0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Este ejemplo devolverá todos los agentes cuya política asociada sea igual a 2 (formato CSV) y recursión:
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=||||2||1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Este ejemplo devolverá todos los agentes cuyo id_os sea igual a 1, id_group igual a 2, estado igual a crítico, su alias contenga “pa” y la política asociada sea igual a 2 (formato CSV con separadores @
):
…/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=1|2|critical|pa|2|@|0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
get license_remaining
= 7.0NG 752
Para consultar el número de Agentes o Módulos disponibles según la licencia de uso de Pandora FMS y de acuerdo a el nivel de acceso que tenga las credenciales del usuario utilizadas.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2= license_remaining (obligatorio)
- return_type = json (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=license_remaining&return_type=json&apipass=1234&user=admin&pass=pandora
get module_last_value
Devuelve el último valor de un módulo, el cual se selecciona por el ID pasado por el parámetro id. Con el parámetro other puede añadir el código de error para que su aplicación detecte este valor fuera del rango de valores del módulo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2= module_last_value (obligatorio)
- id=<índice> (obligatorio): Debe ser un índice de un módulo agente.
- other =<retorno error> (opcional): Que quiere que le devuelva si hay un error (no encontrado en DB el módulo normalmente).
- Códigos de retorno de error son:
- 'error_message': Devuelve error en un mensaje de texto.
- 'error_value'<separador><código o valor>: Devuelve ese código o valor de error. Pero es necesario acompañarlo de 'other_mode' tal que así other_mode=url_encode_separator_<separador> para pasar el separador en other.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_last_value&id=63&other=error_value|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_last_value&id=62&apipass=1234&user=admin&pass=pandora
get agent_module_name_last_value
Devuelve el último valor de un módulo, el cual se selecciona por nombre del agente pasado por el parámetro id y nombre del módulo pasado por el id2. Con el parámetro other puede añadir el código de error para que su aplicación detecte este valor fuera del rango de valores que puede tener el módulo.
Sintaxis de la llamada:
- op=get:(obligatorio)
- op2= agent_module_name_last_value: (obligatorio)
- id=<alfanumerico> (obligatorio):Contiene el nombre del agente.
- id2=<alfanumerico> (obligatorio): Contiene el nombre del módulo.
- other =<retorno error> (opcional): Que quiere que le devuelva si hay un error (no encontrado en DB el módulo normalmente).
- Códigos de retorno de error son:
- 'error_message': Devuelve error en un mensaje de texto.
- 'error_value'<separador><código o valor>: Devuelve ese código o valor de error. Pero es necesario acompañarlo de 'other_mode' tal que así other_mode=url_encode_separator_<separador> para pasar el separador en other.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_module_name_last_value&id=user&id2=cpu_user&apipass=1234&user=admin&pass=pandora
get agent_module_name_last_value_alias
= 7.0NG
Devuelve el último valor de un módulo, el cual se selecciona por alias del agente pasado por el parámetro id y nombre del módulo pasado por el id2. Con el parámetro other puede añadir el código de error para que su aplicación detecte este valor fuera del rango de valores que puede ser el módulo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=agent_module_name_last_value_alias (obligatorio)
- id=<alfanumerico> (obligatorio): Contiene el alias del agente.
- id2=<alfanumerico> (obligatorio): Contiene el nombre del módulo.
- other =<retorno error> (opcional): Que quiere que le devuelva si hay un error (no encontrado en DB el módulo normalmente).
- Códigos de retorno de error son:
- 'error_message': Devuelve error en un mensaje de texto.
- 'error_value'<separador><código o valor>: Devuelve ese código o valor de error. Pero es necesario acompañarlo de 'other_mode' tal que así other_mode=url_encode_separator_<separador> para pasar el separador en other.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_module_name_last_value_alias&id=pandorafms&id2=Memory_Used&apipass=1234&user=admin&pass=pandora
get module_value_all_agents
Dado el nombre de un módulo, devuelve una lista de agentes que contienen ese nombre de módulo. El resultado devuelve el identificador del agente, alias del mismo, valor del módulo solicitado y nombre del agente, separados por punto y coma (;
). Por ejemplo:
653;agente network;0.00000;a8c83b348451040dc91c1327303adf8945aefce6ac59ab9bf856c9f4e0cf6c6f
op=get
(obligatorio).op2=module_value_all_agents
(obligatorio).id=
< nombre_del_módulo > (obligatorio).
Ejemplo (vea sintaxis de la llamada):
Se solicita un listado de todos los agentes que tengan el módulo con nombre Host Alive
:
.../include/api.php?op=get&op2=module_value_all_agents&id=Host Alive&apipass=1234&user=admin&pass=pandora
get agent_modules
Devuelve la lista de módulos de un agente solicitado por su identificador numérico.
op=get
(obligatorio).op2=agent_modules
(obligatorio).return_type=
(obligatorio): Formato de salida.other=
< valores serializados > (obligatorio): Valores serializados para filtrar la búsqueda de módulos por agente:- < id_agent >
¡Es absolutamente imprescindible utilizar
other_mode=url_encode_separator_< separator >
con este parámetro!
Ejemplo (vea sintaxis de la llamada):
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agent_modules&return_type=csv&other=14&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get module_id
Devuelve la id de un módulo concreto de un agente.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_id (obligatorio)
- id=id del agente (obligatorio)
- other=nombre del módulo (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_id&id=5&other=Host Alive&apipass=1234&user=admin&pass=pandora
get module_custom_id
Devuelve el valor del campo Custom_id de un módulo concreto de un agente pasando como parámetro el id del módulo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_custom_id (obligatorio)
- id=id_agente_modulo (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_custom_id&id=5&apipass=1234&user=admin&pass=pandora
set module_custom_id
Cambia, o limpia, el valor del campo Custom ID pasando como parámetros el id del módulo y el valor del custom id.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=module_custom_id (obligatorio)
- id=id_agente_modulo (obligatorio)
- id2=valor, o vacío para limpiar (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=module_custom_id&id=5&id2=1521&apipass=1234&user=admin&pass=pandora
get locate_agent
Obtiene el id del servidor donde se encuentra el agente, e imprime todo el resultado como un archivo csv.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=locate_agent (obligatorio)
- return_type=<csv> (obligatorio) Formato de salida.
- id=id_agent (obligatorio)
- other_mode=other_mode=url_encode_separator_<separador> (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=locate_agent&return_type=csv&apipass=1234&user=admin&pass=pandora&id=Pepito&other_mode=url_encode_separator_|
get policies
Devuelve la lista políticas de un agente pasado su id dentro del parámetro other.
Sintaxis de llamada:
- op=get (obligatorio)
- op2=policies (obligatorio)
- return_type=<csv> (obligatorio)
- other=<valores serializados> (opcional) Parámetros serializados para filtrar la búsqueda de políticas por agente:
- <id_agent>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=policies&return_type=csv&other=&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get tree_agents
Devuelve una completa lista organizada por grupos en el primer nivel, agentes el segundo nivel y módulos el tercer nivel. Esta lista se filtra por el parámetro other.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=tree_agents (obligatorio)
- return_type=<tipo retorno> (obligatorio) que puede ser
csv
ocsv_head
. - other=<string o parámetros serializados> (opcional) en este caso puede ser simplemente el separador o una lista de parámetros en orden y separados con el caracter separador, vemos los dos casos:
- <separador> el separador si del
csv
. - <separador csv>|<carácter sustitución de retorno de carro>|<campos 1>,<campos 2>,<campos N> se compondrá de los siguientes parámetros en orden (el carácter
|
de separación se puede especificar enother_mode
):- <separador csv>: separador de los campos en el CSV.
- <caracter sustitución de retorno de carro>: carácter que sustituirá si encuentra en algún valor devuelto el carácter retorno de carro para evitar la ambigüedad con el uso estándar de retorno de carro para especificar registros/filas en el CSV. Si se pasa un string en other, el carácter sustituto es el espacio en blanco.
- <campos 1>,<campos 2>,<campos N> : los campos a mostrar en el CSV y el orden en que mostrarlos, los posibles campos son:
- type_row
- group_id
- group_name
- group_parent
- disabled
- custom_id
- group_description
- group_contact
- group_other
- agent_id
- alias
- agent_direction
- agent_comentary
- agent_id_group
- agent_last_contant
- agent_mode
- agent_interval
- agent_id_os
- agent_os_version
- agent_version
- agent_last_remote_contact
- agent_disabled
- agent_id_parent
- agent_custom_id
- agent_server_name
- agent_cascade_protection
- agent_name
- module_id_agent_modulo
- module_id_agent
- module_id_module_type
- module_description
- module_name
- module_max
- module_min
- module_interval
- module_tcp_port
- module_tcp_send
- module_tcp_rcv
- module_snmp_community
- module_snmp_oid
- module_ip_target
- module_id_module_group
- module_flag
- module_id_module
- module_disabled
- module_id_export
- module_plugin_user
- module_plugin_pass
- module_plugin_parameter
- module_id_plugin
- module_post_process
- module_prediction_module
- module_max_timeout
- module_custom_id
- module_history_data
- module_min_warning
- module_max_warning
- module_min_critical
- module_max_critical
- module_min_ff_event
- module_delete_pending
- module_id_agent_state
- module_data
- module_timestamp
- module_state
- module_last_try
- module_utimestamp
- module_current_interval
- module_running_by
- module_last_execution_try
- module_status_changes
- module_last_status
- module_plugin_macros
- module_macros
- module_critical_inverse (solo versión 6.0SP1)
- module_warning_inverse (solo versión 6.0SP1)
- alert_id_agent_module
- alert_id_alert_template
- alert_internal_counter
- alert_last_fired
- alert_last_reference
- alert_times_fired
- alert_disabled
- alert_force_execution
- alert_id_alert_action
- alert_type
- alert_value
- alert_matches_value
- alert_max_value
- alert_min_value
- alert_time_threshold
- alert_max_alerts
- alert_min_alerts
- alert_time_from
- alert_time_to
- alert_monday
- alert_tuesday
- alert_wednesday
- alert_thursday
- alert_friday
- alert_saturday
- alert_sunday
- alert_recovery_notify
- alert_field2_recovery
- alert_field3_recovery
- alert_id_alert_template_module
- alert_fires_min
- alert_fires_max
- alert_id_alert_command
- alert_command
- alert_internal
- alert_template_modules_id
- alert_templates_id
- alert_template_module_actions_id
- alert_actions_id
- alert_commands_id
- alert_templates_name
- alert_actions_name
- alert_commands_name
- alert_templates_description
- alert_commands_description
- alert_template_modules_priority
- alert_templates_priority
- alert_templates_field1
- alert_actions_field1
- alert_templates_field2
- alert_actions_field2
- alert_templates_field3
- alert_actions_field3
- alert_templates_id_group
- alert_actions_id_group'
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=tree_agents&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=tree_agents&return_type=csv&other=;| |type_row,group_id,agent_name&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get module_data
Devuelve una lista de valores de un módulo, este módulo se filtra por el id pasado por el parámetro id. Y la lista de valores es desde la fecha actual hasta el límite del periodo pasado como segundo parámetro en el other, el primero es el separador de CSV.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_data (obligatorio)
- id=<id_modulo> (obligatorio)
- other_mode=url_encode_separator_<separador> (obligatorio)
- other=<parámetros serializados>(opcional)
- el carácter de separación del CSV (punto por defecto)
- el periodo (en segundos)
- tiempo de inicio (<año><mes><día>T<hora»<minuto>)
- tiempo de final (<año><mes><día>T<hora»<minuto>)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_data&id=17&other=;|604800|20121201T13:40|20171215T13:40&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get graph_module_data
Devuelve la gráfica de un módulo como un fichero de imagen, generada con el método de la gráficas estáticas de Pandora FMS. Es necesario pasar el ancho, alto, periodo, nombre de la gráfica y fecha de comienzo (sabiendo que en Pandora FMS la fecha que se indica en las gráficas siempre es la del final de los datos), pasados todos ellos como other parámetro.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_data (obligatorio)
- id=<id_modulo> (obligatorio)
- other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
- <period>
- <width>
- <height>
- <label>
- <start_date>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=graph_module_data&id=17&other=604800|555|245|example|2009-12-07&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get events
Devuelve la lista de eventos filtrados por el parámetro other
.
op=get
(obligatorio).op2=events
(obligatorio).id=
< id del nodo > (opcional en el Command Center -Metaconsola-, innecesario en el nodo).return_type=csv
oreturn_type=json
(obligatorio).other_mode=url_encode_separator_|
(obligatorio).other=
< parámetros serializados > (opcionales), son los siguientes en este orden:- < separador > (obligatorio).
- < criticidad > alguno de los siguientes valores desde
0
al número6
:0:Maintenance
1:Informational
2:Normal
3:Warning
4:Critical
5:Minor
6:Major
- < alias de agente >
- < nombre de módulo >
- < filtrar por alerta > utilice
1
para filtrar eventos generados por alertas. - < usuario dueño del evento >
- < fecha y hora mínima (desde) > en formato de tiempo Unix®, sin milisegundos (EPOCH).
- < fecha y hora máxima (hasta) > en formato de tiempo Unix®, sin milisegundos (EPOCH).
- < estado >
0
para filtrar eventos no validados,1
para eventos validados. - < texto > palabra clave a buscar en los eventos.
- < tamaño de página > establece el número de registros a devolver para la paginación (offset). Si el número de offset se omite, solamente retribuirá el primer offset (el primer offset es el número cero
0
). - < número de página > de acuerdo al tamaño de página del punto anterior, devuelve bloques de registro (offset) anteriores o posteriores.
- < estilo > solamente acepta dos valores clave:
total
: simplemente devuelve el número total de eventos, por ejemplo en formato JSON entrega:{“type”:“json”,“data”:{“count”:990}}
.more_criticity
: devuelve el número de eventos de mayor criticidad, por ejemplo si se le solicita en formato JSON:{“type”:“json”,“data”:[{“criticity”:“4”,“user_can_manage”:“1”,“user_can_write”:“1”,“server_id”:5,“server_name”:“stod”}]}
.
- < id_grupo > devuelve los eventos no validados pertenecientes a un grupo de agentes, utilice valores numéricos solamente.
- < etiqueta > alguna de las tags registradas en PFMS (consulte
get tags
). Debe utilizar formato JSON, por ejemplo:[“2”,“5”]
(vea sintaxis de la llamada). - < tipo de evento > alguno de los siguientes valores:
going_unknown
unknown
recon_host_detected
system
error
new_agent
going_up_warning
going_up_critical
going_down_warning
going_down_normal
going_down_critical
going_up_normal
configuration_change
ncm
not_normal
Ejemplo (vea sintaxis de la llamada):
Para obtener los eventos ncm
(Network configuration manager) por consulta a un Command Center (Metaconsola) cuyo nodo es 5:
…include/api.php?op=get&op2=events&user=admin&pass=pandora&return_type=json&apipass=1234&other_mode=url_encode_separator_|&other=|||||||||||||||ncm&id=5
get all_alert_templates
Devuelve la lista de plantillas de alertas definidas en el Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=all_alert_templates (obligatorio)
- other=cvs_separator (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_alert_templates&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
get module_groups
Devuelve la lista de grupos de módulos.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_groups (obligatorio)
- other=cvs_separator (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_groups&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
get plugins
Devuelve la lista de plugins de servidor de Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=plugins (obligatorio)
- other=cvs_separator (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
get tags
Devuelve la lista de etiquetas (tags) definidas en Pandora FMS.
op=get
(obligatorio)op2=tags
(obligatorio)return_type=csv
oreturn_type=json
(obligatorio)other=
< separador de campos > si solicita en formato CSV debe especificar separador, de lo contrario devolverá los campos juntos.
Ejemplos (vea sintaxis de la llamada):
Este ejemplo devolverá todos los tags del sistema en formato CSV con separador de punto y coma.
…/include/api.php?op=get&op2=tags&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
get module_from_conf
Devuelve la configuración de módulo local.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=update_module_in_conf (obligatorio)
- id=<id agente> (obligatorio)
- id2=<nombre módulo> (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_from_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name
Si no se encuentra el módulo se retornará cadena vacía
get total_modules
Devuelve el número total de módulos de un grupo.
op=get
(obligatorio).op2=total_modules
(obligatorio).id=< id grupo >
(obligatorio hasta la versión 768; opcional a partir de la versión 769).
Ejemplos (vea la sintaxis de la llamada):
Para obtener el total de módulos en el grupo de módulo Networking
.../include/api.php?op=get&op2=total_modules&id=2&apipass=1234&user=admin&pass=pandora
Los siguientes grupos de módulos vienen por defecto al instalar Pandora FMS:
- General.
- Networking.
- Application.
- System.
- Miscellaneous.
- Performance.
- Database.
- Enviromental.
- Users.
Si usted coloca 0
como id de grupo, o simplemente lo omite, retornará el número total de módulos:
.../include/api.php?op=get&op2=total_modules&apipass=1234&user=admin&pass=pandora
get total_agents
Devuelve el número total de agentes de un grupo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=total_agents (obligatorio)
- id=<id grupo> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=total_agents&id=2&apipass=1234&user=admin&pass=pandora
get agent_name
Devuelve el nombre de un agente dado su identificador.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=agent_name (obligatorio)
- id=<id agente> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=agent_name&id=1&apipass=1234&user=admin&pass=pandora
get agent_alias
= 7.0NG
Devuelve el alias de un agente dado su identificador.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=agent_alias (obligatorio)
- id=<id agente> (obligatorio)
- id2=<id del nodo> (obligatorio en el Command Center -Metaconsola-, innecesario en el nodo)
Ejemplos
- Nodo:
http://localhost/pandora_console/include/api.php?op=get&op2=agent_alias&id=1&apipass=1234&user=admin&pass=pandora
- Command Center (Metaconsola):
http://localhost/pandora_console/enterprise/meta/include/api.php?op=get&op2=agent_alias&id=1&id2=1&apipass=1234&user=admin&pass=pandoraInsert non-formatted text here
get module_name
Devuelve el nombre de un módulo dado su identificador.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_name (obligatorio)
- id=<id modulo> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=module_name&id=1&apipass=1234&user=admin&pass=pandora
get alert_action_by_group
Devuelve el total de ejecuciones de alertas con una determinada acción por grupo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=alert_action_by_group (obligatorio)
- id=<id grupo> (obligatorio)
- id2=<id acción> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=alert_action_by_group&id=0&id2=3&apipass=1234&user=admin&pass=pandora
get alert_actions
Lista todas las acciones de alertas.
op=get
(obligatorio).op2=alert_actions
(obligatorio).return_type=
< tipo_retorno > que puede sercsv
ojson
(obligatorio).other=
< parámetros_serializados > (opcionales):- < nombre_acción >
- < separador >
Ejemplos
Para obtener el listado de todas las acciones de alertas en formato JSON (vea la sintaxis de la llamada):
.../include/api.php?op=get&op2=alert_actions&return_type=json&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Para obtener el listado de todas las acciones de alertas en formato CSV (vea la sintaxis de la llamada):
.../include/api.php?op=get&op2=alert_actions&return_type=csv&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get alert_actions_meta
Esta característica está en el Command Center (Metaconsola).
Lista acciones de alertas de nodos desde el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=alert_actions_meta (obligatorio)
- return_type=<tipo retorno> (obligatorio) que puede ser 'csv' o 'json'.
- other=<parámetros serializados> (opcional):
- <server_name> (Opcional)
- <action_name> (opcional)
- <separator> (opcional)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=alert_actions_meta&apipass=1234&user=admin&pass=pandora&other=nodo|Create|&other_mode=url_encode_separator_|&return_type=json
get all_alert_commands
Devuelve todos los comandos de alertas.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=all_alert_commands (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=all_alert_commands&return_type=csv&other=$&apipass=1234&user=admin&pass=pandora
get event_info
Devuelve toda la información de un evento pasando el id de este evento.
Esta característica está en el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=event_info (obligatorio)
- id=<id_evento> (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=event_info&id=80&apipass=1234&user=admin&pass=pandora
get tactical_view
Devuelve la siguiente lista de valores (que se puede ver en la página táctica de Pandora Console)
- monitor_checks
- monitor_not_init
- monitor_unknown
- monitor_ok
- monitor_bad
- monitor_warning
- monitor_critical
- monitor_not_normal
- monitor_alerts
- monitor_alerts_fired
- monitor_alerts_fire_count
- total_agents
- total_alerts
- total_checks
- alerts
- agents_unknown
- monitor_health
- alert_level
- module_sanity
- server_sanity
- total_not_init
- monitor_non_init
- agent_ok
- agent_warning
- agent_critical
- agent_unknown
- agent_not_init
- global_health
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=tactical_view (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=tactical_view&apipass=1234&user=admin&pass=pandora
get pandora_servers
= 5.0
Devuelve la lista de servidores de Pandora FMS que hay.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=pandora_servers (obligatorio)
- return_type=csv (obligatorio)
- other=cvs_separator (opcional)
Example
http://localhost/pandora_console/include/api.php?op=get&op2=pandora_servers&return_type=csv&apipass=1234&user=admin&pass=pandora
Devuelve los campos en el siguiente orden:
- nombre
- estado (1 - arriba, 0 - abajo)
- tipo (cadena legible por humanos)
- maestro (1 - maestro 0 - esclavo) ????
- módulos en ejecución
- módulos totales
- max retardo (seg)
- módulos de retraso
- hilos
- módulos en cola
- fecha y hora de actualización (cadena legible por humanos)
get custom_field_id
Traduce el nombre de un campo personalizado existente al identificador que tiene en la base de datos.
op=get
(obligatorio).op2=custom_field_id
(obligatorio).other=
< parámetro > (obligatorio) en este caso el nombre del campo personalizado.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=get&op2=custom_field_id&other=Serial%20Number&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get gis_agent
= 5.0
Devuelve el último valor GIS de un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=gis_agent (obligatorio)
- id=<índice> (obligatorio) debe ser un índice de un agente.
Ejemplo
http://localhost/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=gis_agent&id=1
get special_days
= 5.1
Devuelve listado de días especiales.
Sintaxis:
- op=get (obligatorio)
- op2=special_days (obligatorio)
- other=<csv separador> (opcional) CSV separador
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?apipass=1111&user=admin&pass=pandora&op=get&op2=special_days
get module_properties
= 5.1SP2
Devuelve una lista de las propiedades del módulo. La lista podría ser filtrada por el parámetro.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_properties (obligatorio)
- id=<id_modulo> (obligatorio)
- return_type=<tipo retorno> (obligatorio) que puede ser
csv
ocsv_head
. - other=<string o parámetros serializados> (opcional) en este caso puede ser simplemente el separador o una lista de parámetros en orden y separados con el carácter separador, vemos los dos casos:
- <separador>: El separador si del
csv
. - <separador csv>|<:caracter sustitución de retorno de carro>|<campos 1>,<campos 2>,<campos N>: Se compondra de los siguientes parámetros en orden (el caracter
|
de separación se puede especificar enother_mode
):- <separador csv>: Separador de los campos en el CSV.
- <caracter sustitucion de retorno de carro>: Caracter que sustituira si encuentra en algún valor devuelto el carácter retorno de carro para evitar la ambigüedad con el uso estándar de retorno de carro para especificar registros/filas en el CSV. Si se pasa un string en other, el carácter sustituto es el espacio en blanco.
- <campos 1>,<campos 2>,<campos N> : Los campos a mostrar en el CSV y el orden en que mostrarlos, los posibles campos son:
- module_id_agent_modulo
- module_id_agent
- module_id_module_type
- module_description
- module_name
- module_max
- module_min
- module_interval
- module_tcp_port
- module_tcp_send
- module_tcp_rcv
- module_snmp_community
- module_snmp_oid
- module_ip_target
- module_id_module_group
- module_flag
- module_id_module
- module_disabled
- module_id_export
- module_plugin_user
- module_plugin_pass
- module_plugin_parameter
- module_id_plugin
- module_post_process
- module_prediction_module
- module_max_timeout
- module_custom_id
- module_history_data
- module_min_warning
- module_max_warning
- module_min_critical
- module_max_critical
- module_min_ff_event
- module_delete_pending
- module_id_agent_state
- module_data
- module_timestamp
- module_state
- module_last_try
- module_utimestamp
- module_current_interval
- module_running_by
- module_last_execution_try
- module_status_changes
- module_last_status
- module_plugin_macros
- module_macros
- module_critical_inverse (solo versión 6.0SP1)
- module_warning_inverse (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties&id=6233&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties&id=1103&return_type=csv&other=;| |module_id_agent_module,module_id_module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get module_properties_by_name
= 5.1SP2
Devuelve una lista de las propiedades del módulo. La lista podria ser filtrada por el parámetro.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_properties (obligatorio)
- id=<nombre agente> (obligatorio)
- id2=<nombre modulo> (obligatorio)
- return_type=<tipo retorno> (obligatorio) que puede ser 'csv' o 'csv_head'.
- other=<string o parametros serializados> (opcional) en este caso puede ser simplemente el separador o una lista de parámetros en orden y separados con el caracter separador (el mismo que get_module_properties. para mas detalles, consulte el get_module_properties.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_name&id=my_agent&id2=my_module&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_name&id=my_agent&id2=my_module&return_type=csv&other=;| |module_id_agent_module,module_id_module_type,module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get module_properties_by_alias
= 7.0NG
Devuelve una lista de las propiedades del módulo. La lista podria ser filtrada por el parámetro.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=module_properties (obligatorio)
- id=<alias agente> (obligatorio)
- id2=<nombre modulo> (obligatorio)
- return_type=<tipo retorno> (obligatorio) que puede ser 'csv' o 'csv_head'.
- other=<string o parámetros serializados> (opcional) en este caso puede ser simplemente el separador o una lista de parámetros en orden y separados con el carácter separador (el mismo que get_module_properties. para más detalles, consulte el get_module_properties.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_properties_by_alias&id=pandorafms&id2=Memory_Used&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
get module_graph
Devuelve una gráfica de un Módulo en codificación base64.
Sintaxis de la llamada:
- op=get (obligatorio).
- op2=module_graph (obligatorio).
- id=<id del módulo> (obligatorio).
- other=<período en segundos> (opcional) por defecto 3600 (1 hora). Rango de tiempo en el que se recogerán datos desde la fecha de la petición hacia atrás.
A partir de la versión NG 752 dispone de más parámetros.
- 0 para gráfica en base64, 1 para imagen (obligatorio).
- 0 sin umbrales, 1 con umbrales - si el Módulo tiene umbrales activos - (obligatorio).
- Alto de la gráfica, en píxeles (opcional).
- Ancho de la gráfica, en píxeles (opcional).
Ejemplo
Anterior a versión NG 752:
http://localhost/pandora_console/include/api.php?op=get&op2=module_graph&id=5&other=3600|1&other_mode=url_encode_separator_|&apipass=1234&api=1&user=admin&pass=pandora
Versión NG 752 o posterior:
http://localhost/pandora_console/include/api.php?op=get&op2=module_graph&id=2&other=3600|1|1|500|800|&other_mode=url_encode_separator_|&apipass=1234&api=1&user=admin&pass=pandora
get all_planned_downtimes
= 5.1
Devuelve todas los registros coincidentes de paradas planificadas.
- op=get
- op2=all_planned_downtimes
- return_type= CSV o JSON.
- other=<nombre> <id_grupo> <tipo_parada> <tipo ejecución> <tipo de periodicidad> (filtros).
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=json&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=csv&apipass=1234&user=admin&pass=pandora
get planned_downtimes_items
= 5.1
Devuelve todos los objetos de las paradas planificadas que sean coincidentes.
- op=get
- op2= planned_downtimes_items
- return_type= CSV o JSON.
- other=<nombre> <grupo> <tipo_parada> <tipo ejecución> <tipo de periodicidad>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=planned_downtimes_items&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=json&apipass=1234&user=admin&pass=pandora http://127.0.0.1/pandora_console/include/api.php?op=get&op2=planned_downtimes_items&other=test|0|quiet|periodically|weekly&other_mode=url_encode_separator_|&return_type=csv&apipass=1234&user=admin&pass=pandora
get id_group_agent_by_name
= 5.1
devuelve el id de grupo de un agente.
Sintaxis de la llamada:
- op=get
- op2= id_group_agent_by_name
- other=<parámetros serializados> (opcional) parámetros para filtrar, serializados:
- <nombre_agente>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=id_group_agent_by_name&other_mode=url_encode_separator_|&other=192.168.50.40
get id_group_agent_by_alias
= 7.0NG
devuelve el id de grupo de un agente.
Sintaxis de la llamada:
- op=get
- op2= id_group_agent_by_alias
- other=<parámetros serializados> (opcional) parámetros para filtrar, serializados:
- <alias_agente>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=id_group_agent_by_alias&other_mode=url_encode_separator_|&other=pandorafms
get group_agent_by_name
= 5.1
devuelve el nombre de grupo de un agente.
Sintaxis de la llamada:
- op=get
- op2=group_agent_by_name
- other=<parámetros serializados> (opcional) parámetros para filtrar, serializados:
- <nombre_agente>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_agent_by_name&other_mode=url_encode_separator_|&other=192.168.50.40
get group_agent_by_alias
= 7.0NG
devuelve el nombre de grupo de un agente.
Sintaxis de la llamada:
- op=get
- op2=group_agent_by_alias
- other=<parámetros serializados> (opcional) parámetros para filtrar, serializados:
- <alias_agente>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_agent_by_alias&other_mode=url_encode_separator_|&other=pandorafms
get group_id_by_name
= 7.0NG
devuelve el id de grupo a partir del nombre.
Sintaxis de la llamada:
- op=get
- op2=group_id_by_name
- other=<parámetros único> (obligatorio):
- <group_name>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=group_id_by_name&other=Servers
get timezone
= 7.0NG
devuelve el timezone con el que está configurado Pandora FMS.
Sintaxis de la llamada:
- op=get
- op2=timezone
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=timezone
get cluster_status
= 7.0
Obtener estado del cluster a partir del id
- op=get
- op2=cluster_status
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_status&id=1&apipass=1234&user=admin&pass=pandora
get cluster_id_by_name
= 7.0
Obtener id de cluster a partir del nombre
- op=get
- op2=cluster_id_by_name
- id=nombre del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_id_by_name&id=paco&apipass=1234&user=admin&pass=pandora
get agents_id_name_by_cluster_id
= 7.0
Obtener los id ⇒ nombres de los agentes del cluster a partir del id de cluster
- op=get
- op2=agents_id_name_by_cluster_id
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agents_id_name_by_cluster_id&id=1&apipass=1234&user=admin&pass=pandora
get agents_id_name_by_cluster_name
= 7.0
Obtener los id ⇒ nombres de los agentes del cluster a partir del nombre de cluster
- op=get
- op2=agents_id_name_by_cluster_name
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=agents_id_name_by_cluster_name&id=example&apipass=1234&user=admin&pass=pandora
get modules_id_name_by_cluster_id
= 7.0
Obtener los id ⇒ nombres de todos los módulos de los agentes del cluster a partir del id del cluster
- op=get
- op2=modules_id_name_by_cluster_id
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=modules_id_name_by_cluster_id&id=1&apipass=1234&user=admin&pass=pandora
get modules_id_name_by_cluster_name
= 7.0
Obtener los id ⇒ nombres de todos los módulos de los agentes del cluster a partir del nombre del cluster
- op=get
- op2=modules_id_name_by_cluster_name
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=modules_id_name_by_cluster_name&id=example&apipass=1234&user=admin&pass=pandora
get cluster_items
= 7.0
Obtener los items en un objeto json con el formato: id de item ⇒ {nombre,id_agente_modulo,type,pcrit,pwarn}, apartir del id del cluster
pcrit: % para estado critico si es AA y 1 o 0 si es AP
pwarn: % para estado warning si es AP y nulo si es AP
- op=get
- op2=cluster_items
- id=id del cluster
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=cluster_items&id=1&apipass=1234&user=admin&pass=pandora
get policy
= 7.0NG. 725
Devuelve todos los datos de una política. Si no se especifica un id de política devolverá todos los datos de todas las políticas.
Sintaxis de la llamada:
- op=get
- op2=policy
- id=id_policy (opcional)
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=policy&apipass=1234&user=admin&pass=pandora&return_type=json.
get collections_policy
= 7.0NG. 725
Devuelve todas las colecciones de una política, si no se especifica un id de política devolverá todas las colecciones de todas las políticas.
Sintaxis de la llamada:
- op=get
- op2=collections_policy
- id=id_policy (opcional)
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=collections_policy&apipass=1234&user=admin&pass=pandora&return_type=json.
get plugins_policy
= 7.0NG. 725
Devuelve todas los plugins de una política, si no se especifica un id de política devolverá todos los plugins de todas las políticas.
Sintaxis de la llamada:
- op=get
- op2=plugins_policy
- id=id_policy (opcional)
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=json.
get inventory_policy
= 7.0NG. 725
Devuelve todos los módulos de inventario de una política, si no se especifica un id de política devolverá todos los módulos de inventario de todas las políticas.
Sintaxis de la llamada:
- op=get
- op2=inventory_policy
- id=id_policy (opcional)
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=inventory_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2
get unlinking_policy
= 7.0NG. 725
Devuelve todos los módulos deslincados de una política, si no se especifica un id de política devolverá todos los módulos deslincados de todas las políticas.
Sintaxis de la llamada:
- op=get
- op2=unlinking_policy
- id=id_policy(opcional)
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=unlinking_policy&apipass=1234&user=admin&pass=pandora&return_type=json.
get alerts_policy
= 7.0NG. 725
Devuelve las alertas asociadas a una política teniendo en cuenta:
- Si se especifica un id de política se mostraran las alertas de dicha política sino se mostrarán las de todas las políticas.
- Si se especifica el tipo de alerta:(tres opciones).
- 0: por defecto muestra todas.
- 1: Muestra solo las alertas normales.
- 2: Muestra solo las alertas de tipo externo.
Sintaxis de la llamada:
- op=get
- op2=alerts_policy
- id=id_policy(opcional).
- id2=0:todas(por defecto), 1:normal, 2:external.
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id2=2.
get alerts_actions_policy
= 7.0NG. 725
Devuelve las acciones de las alertas asociadas a una política teniendo en cuenta:
- Si se especifica un id de política se mostrarán las acciones de las alertas de dicha política, si no se mostrarán las de todas las políticas.
- Si se especifica un id de alerta de política se mostrarán las acciones de dicha alerta especificada.
Sintaxis de la llamada:
- op=get
- op2 = alerts_actions_policy
- id=id_policy(opcional).
- id2 = id_policy_alert(opcional).
- return_type=(json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=1&id2=3
get agents_policy
= 7.0NG. 725
Devuelve todos los agentes que pertenecen a una política, si no se especifica un id de política devolverá todos agentes que pertenecen a todas las políticas.
Sintaxis de la llamada:
- op=get
- op2 = agents_policy
- id=id_policy(opcional)
- return_type = (json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=agents_policy&apipass=1234&user=admin&pass=pandora&return_type=json.
get groups_policy
= 7.0NG. 725
Devuelve todos los grupos que pertenecen a una política, si no se especifica un id de política devolverá todos grupos que pertenecen a todas las políticas.
Sintaxis de la llamada:
- op = get
- op2 = groups_policy
- id = id_policy(opcional)
- return_type = (json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=groups_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2
get queue_policy
= 7.0NG. 725
Devuelve la cola que pertenecen a una política, si no se especifica un id de política devolverá todas las colas que pertenecen a todas las políticas.
Sintaxis de la llamada:
- op=get
- op2 = queue_policy
- id=id_policy(opcional)
- return_type = (json, csv, string).
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=queue_policy&apipass=1234&user=admin&pass=pandora&return_type=json
get traps
= 7.0NG. 728
Devuelve los traps de origen especificado, también puede filtrar por timestamp y otros datos.
Sintaxis de la llamada:
- op = get
- op2 = traps
- other=<parámetros opcionales»
- <timestamp>
- <limit>
- <offset>
- <status>
- <oid_custom>
Ejemplo
https://localhost/pandora_console/include/api.php?op=get&op2=traps&other=1537128000|9000|0|1|.1.2.3.6.4&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get event_responses
Devuelve la lista de respuesta de eventos a las que el usuario tiene acceso en Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=event_reponses (obligatorio)
- return_type=csv|json (obligatorio)
Ejemplo
Este ejemplo devolverá todas las respuestas de eventos del sistema en formato csv.
http://localhost/pandora_console/include/api.php?op=get&op2=event_responses&return_type=csv&apipass=1234&user=admin&pass=pandora
get users
Devuelve la lista de los usuario de Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=users (obligatorio)
- return_type=csv|json (obligatorio)
Ejemplo
Este ejemplo devolverá todos usuario del sistema en formato csv.
http://localhost/pandora_console/include/api.php?op=get&op2=users&return_type=csv&other_mode=url_encode_separator_&apipass=1234&user=admin&pass=pandora
get list all user
Esta característica está en el Command Center (Metaconsola).
Listar todos los usuarios de Pandora FMS
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=list_all_user (obligatorio)
- return_type=csv|json (obligatorio)
Ejemplo
Puede devolver Json o CSV, este retorno se indica mediante la URL solo se indica el tipo de retorno, no usa ninguna variable en específico
http://localhost/pandora_console/include/api.php?op=get&op2=list_all_user&return_type=json&apipass=1234&user=admin&pass=pandora
get info user name
Esta característica está en el Command Center (Metaconsola).
Lista la informacion de un usuario
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=info_user_name (obligatorio)
- return_type=csv|json (obligatorio)
- other=nombre de usuario(obligatorio)
Ejemplo
Obtenemos toda la información de un usuario específico Puede devolver Json o CSV, este retorno se indica mediante la URL Usamos unicamente el nombre del usuario para obtener dicha información:
http://localhost/pandora_console/include/api.php?op=get&op2=info_user_name&return_type=json&other=admin&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get user_profiles_info
Devuelve la lista de los perfiles de usuario de Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=user_profiles_info (obligatorio)
- return_type=csv|json (obligatorio)
Ejemplo
Este ejemplo devolverá todos los perfiles de usuario del sistema en formato json.
http://localhost/pandora_console/include/api.php?op=get&op2=user_profiles_info&return_type=json&apipass=1234&user=admin&pass=pandora
get migrate_agent
Solamente para Command Center -Metaconsola-.
Comprueba si existe en la cola de migración de agentes un agente determinado devolviendo los datos de tmigration_queue
- op=get
- op2=migrate_agent
- id=id_agente a migrar
- return_type = string, json, etc
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=migrate_agent&apipass=1234&user=admin&pass=pandora&id=2&return_type=json
get language
= 7.0NG 730
devuelve el idioma con el que está configurado Pandora FMS.
Sintaxis de la llamada:
- op=get
- op2=language
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=language
get session_timeout
= 7.0NG 730
devuelve el tiempo de sesión con el que está configurado Pandora FMS.
Sintaxis de la llamada:
- op=get
- op2=session_timeout
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=get&op2=session_timeout
get groups
devuelve los grupos existentes.
Sintaxis de la llamada:
- op=get
- op2=groups
- other=<parámetros opcionales»
- <csv_separator>: ';' por defecto.
- <return_all_group>: devuelve grupo 'All'.
- <return_all_columns>: devuelve todas las columnas.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=groups&other=;|1|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get filter user group
Esta característica está en el Command Center (Metaconsola).
Obtener grupos de usuario mediante filtrado.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=filter_user_group (obligatorio)
- return_type=csv|json(obligatorio)
- other=id group(obligatorio)|Habilitado o no(Disabled)(obligatorio)
Ejemplo
Puede devolver Json o CSV, este retorno se indica mediante la URL.
Puede tener una de las dos variables (id grupo o Habilitado) vacías, pero tiene que tener como mínimo una de ellas.
http://localhost/pandora_console/include/api.php?op=get&op2=filter_user_group&return_type=json&other=0|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get inventory_modules
Devuelve la lista de los módulos de inventario de Pandora FMS.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=inventory_modules (obligatorio)
- return_type=csv|json (obligatorio)
Ejemplos
Este ejemplo devolverá información de todos los de inventario del sistema en formato json.
http://localhost/pandora_console/include/api.php?op=get&op2=inventory_modules&return_type=json&apipass=1234&user=admin&pass=pandora
get inventory_modules_by_name
Lista los módulos de inventario de un agente utilizando nombre de agente.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=inventory_modules_by_name (obligatorio)
- id=<nombre de agente> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.phpop=get&op2=inventory_modules_by_name&id=name&return_type=csv&apipass=1234&user=admin&pass=pandora
get inventory_modules_by_alias
Lista los módulos de inventario de un agente utilizando alias de agente.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=inventory_modules_by_alias (obligatorio)
- id=<alias de agente> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.phpop=get&op2=inventory_modules_by_alias&id=alias&return_type=csv&apipass=1234&user=admin&pass=pandora
get inventory_module_data
Obtiene los datos de un módulo de inventario utilizando nombre de agente y módulo.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=inventory_module_data (obligatorio)
- id=<nombre de agente> (obligatorio)
- id2=<nombre módulo de inventario> (opcional)
- other=<parámetros serializados> (opcional), son los siguientes en este orden:
- <separador>
- <date_from» <year><month><day>T<hour»<minute>
- <date_to» <year><month><day>T<hour»<minute>
- <use_agent_alias> (opcional) acepta valores 0 y 1.
Ejemplos
http://127.0.0.1/pandora_console/include/api.phpop=get&op2=inventory_module_data&id=e14ae3b959b08a1fb7a057281401a08063cf04eb714efa5fbf1cf4043cfa1314&id2=Routes&other=,|20191010T13:40|20191211T13:40|0&return_type=csv&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
get list_collections
Devuelve la lista de todas las colecciones en Pandora FMS en formato JSON.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=list_collections (obligatorio)
Ejemplos
Este ejemplo devolverá información de todos las colecciones en formato json.
http://localhost/pandora_console/include/api.php?op=get&op2=list_collections&apipass=1234&user=admin&pass=pandora
get list_collection_files
Devuelve la lista de todos los ficheros de una colección. Si no se le pasa id de colección, devolverá todos los ficheros de todas las colecciones.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=list_collections_files (obligatorio)
- id=id_collection
Ejemplos
Este ejemplo devolverá los nombres de todos los ficheros de una colección en formato json.
http://localhost/pandora_console/include/api.php?op=get&op2=list_collection_files&id=1&apipass=1234&user=admin&pass=pandora
get event_mcid
Obtiene los ID de los eventos de el Command Center (Metaconsola), utilizando el id del nodo y el id del evento del nodo.
Esta característica está en el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=get (obligatorio)
- op2=event_mcid (obligatorio)
- id=<server_id> (obligatorio) debe ser un ID de uno de los nodos.
- id2=<id_source_event> (obligatorio) debe de ser un ID de evento del nodo.
Ejemplo
http://172.16.0.3/pandora_console/include/api.php?op=get&op2=event_mcid&return_type=json&id=0&id2=0&apipass=1234&user=admin&pass=pandora
get is_centralized
Devuelve si un nodo está centralizado ( 1
) o no ( 0
). En caso de no existir el nodo devolverá una cadena de texto informando de ello. Puede utilizarse en el Command Center (Metaconsola) o directamente en el nodo.
Sintaxis de la llamada:
- op=get (obligatorio).
- op2=is_centralized (obligatorio).
- id=(obligatorio en el Command Center -Metaconsola-, innecesario en el nodo).
Ejemplo nodo:
http://localhost/pandora_console/include/api.php?op=get&op2=is_centralized&apipass=1234&user=admin&pass=pandora
Ejemplo en el Command Center (Metaconsola):
http://localhost/pandora_console/include/api.php?op=get&op2=is_centralized&id=3&apipass=1234&user=admin&pass=pandora
SET
Envia los datos.
set new_agent
Crea un nuevo agente con los datos pasados como parámetros.
op=set
(obligatorio).op2=new_agent
(obligatorio).id=
En Command Center (Metaconsola), identificador numérico del nodo al cual pertenecerá el agente (obligatorio).other=
<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:- <alias_agente>
- <dir_ip>
- <id_padre>
- <id_grupo>
- <protección_cascada>
- <protección_cascada_módulo>
- <intervalo_segundos>
- <id_os>
- <nombre_servidor>
- <id_personalizado>
- <modo_aprendizaje>
- <deshabilitado>
- <descripción>
- <nombre_como_alias>
Ejemplos
Llamada de ejemplo para nodo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=new_agent&other=agent_api|1.1.1.1|0|4|0|0|300|10|pandorafms|8|10||description|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Llamada de ejemplo para el Command Center (Metaconsola) (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=new_agent&id=1&other=agent_api|1.1.1.1|0|4|0|0|300|10|pandorafms|8|10||description|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
- Nota: Si <nombre_como_alias> es un
1
, el nombre del agente será igual al alias. Si es un0
, el nombre del agente se generará automáticamente.
set update_agent
Actualiza un agente con los datos pasados como parámetros.
op=set
(obligatorio)op2= update_agent
(obligatorio)id=
<id_agente> (obligatorio)other=
<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:- <alias_agente>
- <dir_ip>
- <id_parent>
- <id_group>
- <cascade_protection>
- <cascade_protection_module>
- <interval_sec>
- <id_os>
- <name_server>
- <custom_id>
- <learning_mode>
- <disabled>
- <description>
- <versión_os>
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=update_agent&id=5&other=agente_nombre|1.1.1.1|0|4|0|0|30|8|localhost.localdomain||0|0|description|Ubuntu&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_agent_field
Esta llamada actualiza el o los campos de uno o varios Agentes (esto último si utiliza alias y existen varios que coincidan con ello.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_agent_field (obligatorio)
- id=<id_agente> o <alias> (obligatorio), dependiendo <alias> del parámetro id2.
- id2= <0> si es <id_agente> (opcional), <1> si es <alias> (obligatorio).
- other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
- <alias_agente> (opcional)
- <direccion> (opcional)
- <id_parent> (opcional)
- <id_grupo> (opcional)
- <cascade_protection> (opcional)
- <cascade_protection_module> (opcional)
- <intervalo> (opcional)
- <id_os> (opcional)
- <server_name> (opcional)
- <custom_id> (opcional)
- <modo> (opcional)
- <disabled> (opcional)
- <comentarios> (opcional)
Ejemplos
En caso de utilizar el identificador del Agente:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_agent_field&id=1&other=id_os,1|alias,pandora|direccion,192.168.10.16|id_parent,1cascade_protection,1|cascade_protection_module,1|intervalo,5||modo|3|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
En caso de utilizar alias, modifica todos los agentes que contengan ese alias:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_agent_field&id=pandora&id2=1&other=id_os,1|alias,pandora|direccion,192.168.10.16|id_parent,1cascade_protection,1|cascade_protection_module,1|intervalo,5||modo|3|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_agent
Elimina un agente pasando el nombre como parámetro.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=delete_agent (obligatorio)
- id=<nombre_agente> (obligatorio) debe ser un nombre agente.
- other=<use_agent_alias> (opcional) acepta valores 0 y 1.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_agent&id=agente_erroneo&apipass=1234&user=admin&pass=pandora
set create_module_template
Crea una alerta a partir de la plantilla pasada como id, en un módulo elegido por id de módulo y id de agente que estarán en other.
Sintaxis de llamada:
- op=set (obligatorio)
- op2=create_module_template (obligatorio)
- id=<id_template> (obligatorio) debe ser un id de template.
- other=<id_modulo>|<id_agente>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_module_template&id=1&other=1|10&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set apply_module_template
Aplicar una plantilla de módulos a un agente..
Estas plantillas de módulos son una agrupación que contiene módulos de comprobación de red. Estas plantillas pueden ser aplicadas directamente a agentes, evitando tener que añadir módulos uno a uno.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=apply_module_template (obligatorio)
- id=<id_template> (obligatorio) id de la plantilla que se aplicará sobre el agente.
- id2=<id_agente> (obligatorio) id del agente en el que se crearán los módulos.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=apply_module_template&id=2&id2=2&apipass=1234&user=admin&pass=pandora
set create_network_module
Crea un módulo de red con los datos pasados como parámetros.
op=set
(obligatorio).op2=create_network_module
(obligatorio).id=
< nombre_agente > (obligatorio) debe ser un nombre agente.other=
< parámetros serializados > (obligatorios) son la configuración y datos del modulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < ip_target >
- < tcp_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < enable_unknown_events >
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro>”: “<valor de macro>”.
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < critical_inverse >
- < warning_inverse >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=create_network_module&id=example&other=test|0|7|1|10|15|0|16|18|0|15|0|127.0.0.1|0||0|180|0|0|0|0|latency%20ping|1|||||||||||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set create_plugin_module
Crea un módulo de tipo plugin con los datos pasados como parámetros.
op=set
(obligatorio).op2=create_plugin_module
(obligatorio).id=
< nombre_agente > (obligatorio) debe ser un nombre agente.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < ip_target >
- < tcp_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < id_plugin >
- < plugin_user >
- < plugin_pass >
- < plugin_parameter >
- < enable_unknown_events >
- < macros > Los valores deben estar en formato JSON codificado en base 64.
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro>”: “<valor de macro>” (véase ejemplo al final de esta sección).
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < critical_inverse >
- < warning_inverse >
- < ff_type >
- < use_agent_alias > Acepta valores
0
y1
. - < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
Ejemplo sin macro alguno:
…/include/api.php?op=set&op2=create_plugin_module&id=example&other=prueba|0|1|2|0|0||0|0||0|0|127.0.0.1|0||0|300|0|0|0|0|plugin%20module%20from%20api|4|2|admin|pass|-p%20max||||||||||||2001&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
El contenido del documento JSON debe ser un objeto compuesto de varios objetos con las siguientes propiedades:
macro
: Nombre del macro. Deben ser _field1_, _field2_, …, _fieldN_.desc
: Nombre descriptivo del macro.help
: Descripción del macro.value
: Valor del macro.hide
: Poner a1
para ocultar el valor del macro (útil para almacenar contraseñas).
Ejemplo de formato de macro JSON:
{ "1": { "macro": "_field1_", "desc": "Target IP", "help": "", "value": "192.168.0.1", "hide": "" }, "2": { "macro": "_field2_", "desc": "Port", "help": "", "value": "80", "hide": "" } }
set create_data_module
Crea un módulo con los parámetros pasados.
Con esta llamada se puede añadir datos al módulo en la base de datos, pero no se puede modificar el fichero de configuración de los agentes asociados al módulo.
op=get
(obligatorio).op2=create_data_module
(obligatorio).id=
< nombre_agente > (obligatorio) debe ser un nombre agente.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < description >
- < id_module_group >
- < min_value >
- < max_value >
- < post_process >
- < module_interval >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < history_data >
- < enable_unknown_events >
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “< nombre de macro >”: “< valor de macro >”.
- < ff_threshold >
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < ff_timeout >
- < critical_inverse >
- < warning_inverse >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada), se debe tener creado previamente un agente con el nombre test
:
…/include/api.php?op=set&op2=create_data_module&id=test&other=test2|0|1|data%20module%20from%20api|1|10|20|10.50|180|10|15||16|20||0|||||||||||||2001&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set create_snmp_module
Crea un módulo SNMP.
op=set
(obligatorio).op2=create_snmp_module
(obligatorio)id=
< nombre_agente > (obligatorio) debe ser un nombre agente.other=
< parámetros serializados > (obligatorio) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < ip_target >
- < module_port >
- < snmp_version >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < snmp3_priv_method [AES|DES] >
- < snmp3_priv_pass >
- < snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv] >
- < snmp3_auth_method [MD5|SHA] >
- < snmp3_auth_user >
- < snmp3_auth_pass >
- < enable_unknown_events >
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
Primer ejemplo (snmp v: 1):
…/include/api.php?op=set&op2=create_snmp_module&id=example&other=test5|0|15|1|10|15||16|18||15|0|127.0.0.1|60|1|public|.1.3.6.1.2.1.1.1.0|180|0|0|0|0|SNMP%20module%20from%20API||||||||2001&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Segundo ejemplo (snmp v: 3, snmp3_priv_method: AES, snmp3_priv_pass: example_priv_passw, snmp3_sec_level: authNoPriv, snmp3_auth_method:MD5, snmp3_auth_user: example_user, snmp3_auth_pass: example_priv_passw):
…/include/api.php?op=set&op2=create_snmp_module&id=example&other=test7|0|15|1|10|15||16|18||15|0|127.0.0.1|60|3|public|.1.3.6.1.2.1.1.1.0|180|0|0|0|0|SNMP%20module%20from%20API|AES|example_priv_passw|authNoPriv|MD5|example_user|example_auth_passw|||||||||2001&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_network_module
Actualiza la configuración de un módulo de red.
op=get
(obligatorio).op2=update_network_module
(obligatorio).id=
< id_modulo > (obligatorio) debe ser el ID numérico del módulo (tagente_modulo
).other=
< parámetros serializados > (obligatorios) son la configuración y datos del modulo, serializados en el siguiente orden:
- < id_agent >
- < disabled >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < min_ff_even >
- < ff_threshold >
- < history_data >
- < ip_target >
- < tcp_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < disabled_types_event >
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro >”: “<valor de macro >”.
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < critical_inverse >
- < warning_inverse >
- < ff_type >
- < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=update_network_module&id=132&other=|0|6|2|10|15||16|18||7|0|127.0.0.1|0||0|300|30.00|0|0|0|latency%20ping%20modified%20by%20the%20Api|||||||||||2020&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_plugin_module
Actualiza la configuración de un módulo plugin.
op=set
(obligatorio).op2=update_plugin_module
(obligatorio).id=
< nombre_modulo > (obligatorio) debe ser el identificador numérico del módulo a actualizar (tagente_modulo
).other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < id_agent >
- < disabled >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < ip_target >
- < tcp_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < id_plugin >
- < plugin_user >
- < plugin_pass >
- < plugin_parameter >
- < disabled_types_event >
- < macros > Los valores deben estar en formato JSON codificado en base 64.
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro>”: “<valor de macro>”. Véase ejemplo al final de esta sección.
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < critical_inverse>
- < warning_inverse>
- < policy_linked >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=update_plugin_module&id=2343&other=44|0|2|0|0||0|0||0|0|127.0.0.1|0||0|300|0|0|0|0|pluginmodule%20from%20api|2|admin|pass|-p%20max&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
El contenido del documento JSON debe ser un objeto compuesto de varios objetos con las siguientes propiedades:
- “macro”: Nombre del macro. Deben ser _field1_, _field2_, …, _fieldN_.
- “desc”: Nombre descriptivo del macro.
- “help”: Descripción del macro.
- “value”: Valor del macro.
Ejemplo de formato de macro JSON:
{ "1": { "macro": "_field1_", "desc": "Target IP", "help": "", "value": "192.168.0.1" }, "2": { "macro": "_field2_", "desc": "Port", "help": "", "value": "80" } }
Otro ejemplo con escalado de estados:
…/include/api.php?op=set&op2=update_plugin_module&id=135&other=|0|2|0|0||0|0||0|0|127.0.0.1|0||0|300|0|0|0|0|plugin%20module%20from%20api|2|admin|pass|-p%20max|||||||||||||2020&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_data_module
Con esta llamada se puede añadir datos al módulo en la base de datos, pero no se puede modificar el fichero de configuración de los agentes asociados al módulo.
Actualiza un módulo local.
op=set
(obligatorio).op2=update_data_module
(obligatorio).id=
< id_módulo_agente > (obligatorio) el identificador numérico del módulo a actualizar.other=
< parámetros serializados > (obligatorio) son la configuración y datos del módulo, serializados en el siguiente orden:
- < id_agente >
- < deshabilitado > utilice
1
para deshabilitar,0
sin cambios. - < descripción >
- < id_modulo_grupo > véase get_module_groups.
- < valor_mín >
- < valor_máx >
- < post_proceso > ( Solamente para Agentes Software con configuración remota habilitada).
- < intervalo_módulo >
- < advertencia_valor_mín >
- < advertencia_valor_máx >
- < advertencia_valor_cadena >
- < crítico_valor_mín >
- < crítico_valor_máx >
- < crítico_valor_cadena >
- < historial_datos > Si está a
0
no se guardan datos del Módulo en la tablatagente_datos
, únicamente se actualiza la tablatagente_estado
. - < deshabilitar_tipos_de_eventos > En formato JSON, por ejemplo:
{“going_unknown”:1}
. - < macros_de_módulo > En formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro>”: “<valor de macro>”.
- < mín_flipflop_eventos > Número de veces que tiene que darse una condición de cambio de estado antes de que dicho cambio tenga lugar (flipflop ).
- < cada_flipflop>
- < mín_flipflop_evento_normal >
- < mín_flipflop_evento_advertencia >
- < mín_flipflop_evento_crítico >
- < tiempo_de _espera_flipflop >
- < tomar_valor_inverso_crítico >
- < tomar_valor_inverso_advertencia >
- < enlazado_política >
- < tipo_flipflop >
- < ignore_unknown > Acepta valores
0
y1
.
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=update_data_module&id=123&other=|0|data%20module%20modified%20from%20API|6|0|0|50.00|300|10|15||16|18||0||||||||||||||2020&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_data_module_policy
Actualiza el módulo de datos de una política y devuelve el identificador del nuevo módulo.
op=set
(obligatorio).op2=update_data_module_policy
(obligatorio).id=
< id_policy > (obligatorio) El identificador numérico de la política a modificar.other=
< parámetros serializados > (obligatorio) son la configuración y datos del módulo, serializados en el siguiente orden:
- < id_policy_module > : Identificador numérico del módulo de la política.
- < description > : Descripción.
- < id_module_group > : Identificador del grupo del módulo.
- < min > : Mínimo valor.
- < max > : Máximo valor.
- < post_process > : Post procesado.
- < module_interval > : Intervalo del módulo.
- < min_warning > : Valor mínimo de advertencia.
- < max_warning > : Valor máximo de advertencia.
- < min_critical > : Valor mínimo de criticidad.
- < max_critical > : Valor máximo de criticidad.
- < str_critical > : Cadena de caracteres de criticidad.
- < history_data > : Datos históricos.
- < configuration_data > : Datos de configuración.
- < disabled_types_event > : Tipos de evento deshabilitados.
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser: < macro name > : < macro value > .
- < ignore_unknown > (Acepta valores 0 y 1).
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=update_data_module_policy&id=1&other=10|data%20module%20updated%20by%20Api|2|0|0|50.00|10|20|180||21|35||1|module_begin module_name pandora_process module_type generic_data module_exec ps aux | grep pandora | wc -l module_end&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_snmp_module
Actualiza un módulo SNMP.
op=set
(obligatorio).op2=update_snmp_module
(obligatorio).id=
< id_module > (obligatorio) debe ser un identificador numérico de módulo.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < id_agent >
- < disabled >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < ip_target >
- < module_port >
- < snmp_version >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < snmp3_priv_method [AES|DES] >
- < snmp3_priv_pass >
- < snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv] >
- < snmp3_auth_method [MD5|SHA] >
- < snmp3_auth_user >
- < snmp3_auth_pass >
- < disabled_types_event >
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical>
- < policy_linked >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
. - < number_of_intervals_in_warning > Permite el escalado de estados especificando el máximo número de intervalos seguidos en los cuales el módulo permanece en estado de advertencia. Al superar este valor el módulo escalará a estado crítico.
Ejemplo (vea sintaxis de la llamada):
(SNMP v: 3, snmp3_priv_method: AES, snmp3_priv_pass: example_priv_passw, snmp3_sec_level: authNoPriv, snmp3_auth_method:MD5, snmp3_auth_user: pepito_user, snmp3_auth_pass: example_priv_passw):
…/include/api.php?op=set&op2=update_snmp_module&id=33432&other=44|0|6|20|25||26|30||15|1|127.0.0.1|60|3|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|0|SNMP%20module&20modified%20by%20API|AES|example_priv_passw|authNoPriv|MD5|example_user|example_auth_passw&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Otro ejemplo con escalado de estados y SNMP v1:
…/include/api.php?op=set&op2=update_snmp_module&id=137&other=|0|6|20|25||26|30||15|1|127.0.0.1|60|1|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|||||||||||2020&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Otro ejemplo con escalado de estados y SNMP v3:
…/include/api.php?op=set&op2=update_snmp_module&id=138&other=|0|6|20|25||26|30||15|1|127.0.0.1|60|3|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|0|SNMP%20module%20modified%20by%20API|AES|example_priv_passw|authNoPriv|MD5|example_user|example_auth_passw|||||||||2020&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set apply_policy
Aplica la política, pasada por id, en uno o varios agentes.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= apply_policy (obligatorio)
- id=<id_policy> (obligatorio)
- id2=<id_agent> (opcional) Id o nombre del agente según se indique en el parámetro other. Si viene vacío se aplicará la política a todos los agentes de esta.
- other=<parámetros serializados>
- <name_agent (Entero)> Indica si se enviará el agente por Id (0), por nombre (1) o por alias (2).
- <id_servidor> (obligatorio en caso de usar el Command Center -Metaconsola-) Id del servidor sobre el que se aplicará la política.
Ejemplos
http://192.168.70.102/pandora_console/include/api.php?op=set&op2=apply_policy&id=22&id2=3e&other=0|1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set apply_all_policies
Aplica todas las políticas que contiene Pandora.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= apply_all_policies (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=apply_all_policies&apipass=1234&user=admin&pass=pandora
set add_network_module_policy
Añade un módulo de red en la política pasada por identificador en el parámetro.
op=set
(obligatorio).op2=add_network_module_policy
(obligatorio).id=
< id_política > (obligatorio) debe ser un identificador de política.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < id_module_type >
- < description >
- < id_module_group >
- < min_value >
- < max_value >
- < post_process >
- < module_interval >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < history_data >
- < ff_threshold >
- < disabled >
- < module_port >
- < snmp_community >
- < snmp_oid >
- < custom_id >
- < enable_unknown_events >
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro >”: “<valor de macro >”.
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
.
Ejemplo (véase sintaxis de la llamada):
…/include/api.php?op=set&op2=add_network_module_policy&id=1&other=network_module_policy_example_name|6|network%20module%20created%20by%20Api|2|0|0|50.00|180|10|20||21|35||1|15|0|66|||0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_plugin_module_policy
Añade un módulo de plugin en la política pasada por identificador en el parámetro.
op=set
(obligatorio).op2=add_plugin_module_policy
(obligatorio).id=
< id_politica > (obligatorio) debe ser un identificador de política.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < module_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < id_plugin >
- < plugin_user >
- < plugin_pass >
- < plugin_parameter >
- < enable_unknown_events >
- < macros > Los valores deben estar en formato JSON codificado en base 64. Véase ejemplo al final de esta sección.
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro >”: “<valor de macro >”.
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=add_plugin_module_policy&id=1&other=example plugin module name|0|1|2|0|0||0|0||15|0|66|||300|50.00|0|0|0|plugin module from api|2|admin|pass|-p max&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
El contenido del documento JSON debe ser un objeto compuesto de varios objetos con las siguientes propiedades:
- “macro”: Nombre del macro. Deben ser _field1_, _field2_, …, _fieldN_.
- “desc”: Nombre descriptivo del macro.
- “help”: Descripción del macro.
- “value”: Valor del macro.
Ejemplo de macro:
{ "1": { "macro": "_field1_", "desc": "Target IP", "help": "", "value": "192.168.0.1" }, "2": { "macro": "_field2_", "desc": "Port", "help": "", "value": "80" } }
set add_data_module_policy
Añade un módulo local en la política pasada por id en el parámetro.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= add_data_module_policy (obligatorio)
- id=<id_política> (obligatorio) debe ser un Id de política.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del módulo, serializados en el siguiente orden:
- <name_module>
- <id_module_type>
- <description>
- <id_module_group>
- <min_value>
- <max_value>
- <post_process>
- <module_interval>
- <min_warning>
- <max_warning>
- <str_warning>
- <min_critical>
- <max_critical>
- <str_critical>
- <history_data>
- <configuration_data> Este es el bloque de definición del módulo que será insertado en el fichero de configuración del agente.
- <enable_unknown_events> (solo versión 5)
- <module_macros> (solo versión 5) Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro>”: “<valor de macro>”.
- <ff_threshold> (solo versión 5.1)
- <each_ff> (solo versión 5.1)
- <ff_threshold_normal> (solo versión 5.1)
- <ff_threshold_warning> (solo versión 5.1)
- <ff_threshold_critical> (solo versión 5.1)
- <ff_timeout> (solo versión 5.1)
- <ff_type> (solo versión 734)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_data_module_policy&id=1&other=data_module_policy_example_name~2~data module created by Api~2~0~0~50.00~10~20~180~~21~35~~1~module_begin module_name pandora_process module_type generic_data module_exec ps aux | grep pandora | wc -l module_end&other_mode=url_encode_separator_~&apipass=1234&user=admin&pass=pandora
set update_plugin_module_policy
Actualiza un módulo de plugin en la política pasada por identificador en el parámetro.
op=set
(obligatorio).op2=update_plugin_module_policy
(obligatorio).id=
< id_politica > (obligatorio) debe ser un identificador de política.other=
< parámetros serializados > (obligatorios) son la configuración y datos del módulo, serializados en el siguiente orden:
- < id_policy_module >
- < disabled >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < module_port >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < id_plugin >
- < plugin_user >
- < plugin_pass >
- < plugin_parameter >
- < disabled_types_event >
- < macros > Los valores deben estar en formato JSON codificado en base 64. Véase ejemplo al final de esta sección.
- < module_macros > Los valores deben estar en formato JSON codificado en base 64. El formato de los datos del documento JSON debe ser “<nombre de macro >”: “<valor de macro >”.
- < ignore_unknown > Acepta valores
0
y1
.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=update_plugin_module_policy&id=1&other=23|0|1|0|0||0|0||15|0|166|||180|150.00|0|0|0|plugin%20module%20updated%20from%20api|2|example_user|pass|-p%20min&other_mode=url_encode_separator_|
El contenido del documento JSON debe ser un objeto compuesto de varios objetos con las siguientes propiedades:
- “macro”: Nombre del macro. Deben ser _field1_, _field2_, …, _fieldN_.
- “desc”: Nombre descriptivo del macro.
- “help”: Descripción del macro.
- “value”: Valor del macro.
set add_snmp_module_policy
Añade un módulo SNMP en la política pasada por el identificado en el parámetro.
op=set
(obligatorio).op2=add_snmp_module_policy
(obligatorio).id=
< id_política > (obligatorio) debe ser un identificador de política.other=
< parámetros serializados > (obligatorio) son la configuración y datos del módulo, serializados en el siguiente orden:
- < name_module >
- < disabled >
- < id_module_type >
- < id_module_group >
- < min_warning >
- < max_warning >
- < str_warning >
- < min_critical >
- < max_critical >
- < str_critical >
- < ff_threshold >
- < history_data >
- < module_port >
- < snmp_version >
- < snmp_community >
- < snmp_oid >
- < module_interval >
- < post_process >
- < min_value >
- < max_value >
- < custom_id >
- < description >
- < snmp3_priv_method [AES|DES] >
- < snmp3_priv_pass >
- < snmp3_sec_level [authNoPriv|authPriv|noAuthNoPriv] >
- < snmp3_auth_method [MD5|SHA] >
- < snmp3_auth_user >
- < snmp3_auth_pass >
- < enable_unknown_events >
- < each_ff >
- < ff_threshold_normal >
- < ff_threshold_warning >
- < ff_threshold_critical >
- < ff_type >
- < ignore_unknown > Acepta valores
0
y1
.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=add_snmp_module_policy&id=1&other=example%20SNMP%20module%20name|0|15|2|0|0||0|0||15|1|66|3|public|.1.3.6.1.2.1.1.1.0|180|50.00|10|60|0|SNMP module modified by API|AES|example_priv_passw|authNoPriv|MD5|example_user|example_auth_passw&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_agent_policy_by_id
Añade un agente en una política utilizando el ID de agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=add_agent_policy_by_id (obligatorio)
- id=<id_política> (obligatorio) debe ser un Id de política.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
- <id_agent>
- <id_node> (obligatorio en caso de usar el Command Center -Metaconsola-) ID del nodo al que pertenece el agente que deseamos añadir a la política.
Ejemplos
- Nodo:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_id&id=2&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
- Command Center (Metaconsola):
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_id&id=2&other=1|1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_agent_policy_by_name
Añade un agente en una política utilizando el nombre de agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=add_agent_policy_by_name (obligatorio)
- id=<id_política> (obligatorio) debe ser un Id de política.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
- <agent_name>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy_by_name&id=4&other=e76774025b24057cc71df514f27027c43484c3af766ed40f259a86a4fd568f9d&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set remove_agent_from_policy_by_id
Elimina un agente de una política utilizando el ID de agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=remove_agent_from_policy_by_id (obligatorio)
- id=<id_política> (obligatorio) debe ser un Id de política.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
- <id_agent>
- <id_node> (obligatorio en caso de usar el Command Center -Metaconsola-) ID del nodo al que pertenece el agente que deseamos eliminar de la política.
Ejemplos
- Nodo:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_id&id=2&other=2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
- Command Center (Metaconsola):
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_id&id=4&other=1|1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set remove_agent_from_policy_by_name
Elimina un agente de una política utilizando el nombre de agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=remove_agent_from_policy_by_name (obligatorio)
- id=<id_política> (obligatorio) debe ser un Id de política.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
- <agent_name>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_agent_from_policy_by_name&id=4&other=e76774025b24057cc71df514f27027c43484c3af766ed40f259a86a4fd568f9d&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_network_component
Crea un nuevo componente de red.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_network_component (obligatorio)
- id=<network_component_name> (obligatorio) debe ser el nombre del componente de red.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del componente de red, serializados en el siguiente orden:
- <network_component_type>
- <description>
- <module_interval>
- <max_value>
- <min_value>
- <snmp_community>
- <id_module_group>
- <max_timeout>
- <history_data>
- <min_warning>
- <max_warning>
- <str_warning>
- <min_critical>
- <max_critical>
- <str_critical>
- <ff_threshold>
- <post_process>
- <network_component_group>
- <enable_unknown_events> (solo versión 5)
- <each_ff> (solo versión 5.1)
- <ff_threshold_normal> (solo versión 5.1)
- <ff_threshold_warning> (solo versión 5.1)
- <ff_threshold_critical> (solo versión 5.1)
- <ff_type> (solo versión 734)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_network_component&id=example_network_component_name&other=7|network component created by Api|300|30|10|public|3||1|10|20|str|21|30|str1|10|50.00|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_plugin_component
Crea un nuevo componente de plugin.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_plugin_component (obligatorio)
- id=<plugin_component_name> (obligatorio) debe ser el nombre del componente de tipo plugin.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del componente de tipo plugin, serializados en el siguiente orden:
- <plugin_component_type>
- <description>
- <module_interval>
- <max_value>
- <min_value>
- <module_port>
- <id_module_group>
- <id_plugin>
- <max_timeout>
- <history_data>
- <min_warning>
- <max_warning>
- <str_warning>
- <min_critical>
- <max_critical>
- <str_critical>
- <ff_threshold>
- <post_process>
- <plugin_component_group>
- <enable_unknown_events> (solo versión 5)
- <each_ff> (solo versión 5.1)
- <ff_threshold_normal> (solo versión 5.1)
- <ff_threshold_warning> (solo versión 5.1)
- <ff_threshold_critical> (solo versión 5.1)
- <ff_type> (solo versión 734)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_plugin_component&id=example_plugin_component_name&other=2|plugin component created by Api|300|30|10|66|3|2|example_user|example_pass|-p max||1|10|20|str|21|30|str1|10|50.00|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_snmp_component
Crea un nuevo componente de SNMP.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_snmp_component (obligatorio)
- id=<snmp_component_name> (obligatorio) debe ser el nombre del componente de tipo snmp.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del componente de tipo snmp, serializados en el siguiente orden:
- <snmp_component_type>
- <description>
- <module_interval>
- <max_value>
- <min_value>
- <id_module_group>
- <max_timeout>
- <history_data>
- <min_warning>
- <max_warning>
- <str_warning>
- <min_critical>
- <max_critical>
- <str_critical>
- <ff_threshold>
- <post_process>
- <snmp_version>
- <snmp_oid>
- <snmp_community>
- <snmp3_auth_user>
- <snmp3_auth_pass>
- <module_port>
- <snmp3_privacy_method>
- <snmp3_privacy_pass>
- <snmp3_auth_method>
- <snmp3_security_level>
- <snmp_component_group>
- <enable_unknown_events> (solo versión 5)
- <each_ff> (solo versión 5.1)
- <ff_threshold_normal> (solo versión 5.1)
- <ff_threshold_warning> (solo versión 5.1)
- <ff_threshold_critical> (solo versión 5.1)
- <ff_type> (solo versión 734)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_snmp_component&id=example_snmp_component_name&other=16|SNMP component created by Api|300|30|10|3||1|10|20|str|21|30|str1|15|50.00|3|.1.3.6.1.2.1.2.2.1.8.2|public|example_auth_user|example_auth_pass|66|AES|example_priv_pass|MD5|authNoPriv|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_local_component
Crea un nuevo componente local.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_local_component (obligatorio)
- id=<local_component_name> (obligatorio) debe ser el nombre del componente de tipo local.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del componente de tipo local, serializados en el siguiente orden:
- <description>
- <id_os>
- <local_component_group>
- <configuration_data> Este es el bloque de configuración de un módulo.
- <enable_unknown_events> (solo versión 5)
- <ff_threshold> (solo versión 5.1)
- <each_ff> (solo versión 5.1)
- <ff_threshold_normal> (solo versión 5.1)
- <ff_threshold_warning> (solo versión 5.1)
- <ff_threshold_critical> (solo versión 5.1)
- <ff_timeout> (solo versión 5.1)
- <ff_type> (solo versión 734)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_local_component&id=example_local_component_name&other=local component created by Api~5~12~module_begin module_name example_local_component_name module_type generic_data module_exec ps | grep pid | wc -l module_interval 2 module_end&other_mode=url_encode_separator_~&apipass=1234&user=admin&pass=pandora
set create_alert_template
Crea una plantilla de alerta.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_alert_template (obligatorio)
- id=<template_name> (obligatorio) el nombre de la plantilla.
- other=<serialized parameters> (obligatorio) las configuraciones y datos de la plantilla, serializados en el siguiente orden:
- <type [regex|max_min|max|min|equal|not_equal|warning|critical|onchange|unknown|always|not_normal]>
- <description>
- <id_alert_action>
- <field1>
- <field2>
- <field3>
- <value>
- <matches_value>
- <max_value>
- <min_value>
- <time_threshold>
- <max_alerts>
- <min_alerts>
- <time_from>
- <time_to>
- <monday>
- <tuesday>
- <wednesday>
- <thursday>
- <friday>
- <saturday>
- <sunday>
- <recovery_notify>
- <field2_recovery>
- <field3_recovery>
- <priority>
- <id_group>
- <special_day>
- <min_alerts_reset_counter>
- <field1_recovery>
- <field4>
- <field5>
- <field6>
- <field7>
- <field8>
- <field9>
- <field10>
- <field11>
- <field12>
- <field13>
- <field14>
- <field15>
- <field4_recovery>
- <field5_recovery>
- <field6_recovery>
- <field7_recovery>
- <field8_recovery>
- <field9_recovery>
- <field10_recovery>
- <field11_recovery>
- <field12_recovery>
- <field13_recovery>
- <field14_recovery>
- <field15_recovery>
Ejemplos
Ejemplo 1 (condition: regexp =~ /pp/, action: Mail to XXX, max_alert: 10, min_alert: 0, priority: WARNING, group: databases):
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_alert_template&id=example&other=regex|template based in regexp|1||||pp|1||||10|0|||||||||||||3|8&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Ejemplo 2 (condition: value is not between 5 and 10, max_value: 10.00, min_value: 5.00, time_from: 00:00:00, time_to: 15:00:00, priority: CRITICAL, group: Servers):
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_alert_template&id=template_min_max&other=max_min|template based in range|1||||||10|5||||00:00:00|15:00:00|||||||||||4|2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_alert_template
Actualiza una plantilla de alerta.
Sintaxis de llamada:
- op=set (obligatorio)
- op2=update_alert_template (obligatorio)
- id=<id_template> (obligatorio) debe ser un id de template.
- other=<serializar parámetros> (oligatorio) son los datos de configuration del template, serializados en este orden:
- <template_name>
- <type [regex|max_min|max|min|equal|not_equal|warning|critical|onchange|unknown|always]>
- <description>
- <id_alert_action>
- <field1>
- <field2>
- <field3>
- <value>
- <matches_value>
- <max_value>
- <min_value>
- <time_threshold>
- <max_alerts>
- <min_alerts>
- <time_from>
- <time_to>
- <monday>
- <tuesday>
- <wednesday>
- <thursday>
- <friday>
- <saturday>
- <sunday>
- <recovery_notify>
- <field2_recovery>
- <field3_recovery>
- <priority>
- <id_group>
- <special_day>
- <min_alerts_reset_counter>
- <field1_recovery>
- <field4>
- <field5>
- <field6>
- <field7>
- <field8>
- <field9>
- <field10>
- <field11>
- <field12>
- <field13>
- <field14>
- <field15>
- <field4_recovery>
- <field5_recovery>
- <field6_recovery>
- <field7_recovery>
- <field8_recovery>
- <field9_recovery>
- <field10_recovery>
- <field11_recovery>
- <field12_recovery>
- <field13_recovery>
- <field14_recovery>
- <field15_recovery>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_alert_template&id=18&other=example_template_with_changed_name|onchange|changing from min_max to onchange||||||1||||5|1|||1|1|0|1|1|0|0|1|field recovery example 2|field recovery example 3|1|8&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_alert_template
Borra una plantilla de alerta y todas las alertas definidas por ella.
Sintaxis de llamada:
- op=set (oligatorio)
- op2=delete_alert_template (obligatorio)
- id=<id_template> (obligatorio) debe ser un id de template.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_alert_template&id=38&apipass=1234&user=admin&pass=pandora
set delete_module_template
Borra una plantilla de módulos.
Sintaxis de llamada:
- op=set (obligatorio)
- op2=delete_module_template (obligatorio)
- id=<id_alert_template_module> (obligatorio) debe ser un id de alert_template_module.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module_template&id=38&apipass=1234&user=admin&pass=pandora
set delete_module_template_by_names
Borra una plantilla de módulos.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_alert_template (obligatorio)
- id=<nombre del agente> (obligatorio)
- id2=<nombre de la plantilla de alerta> (obligatorio)
- other=<parametros serializados> (obligatorio), son los siguientes en este orden:
- <nombre modulo> (obligatorio)
- <use_agent_alias> (Acepta valores 0 y 1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module_template_by_names&id=sample-agent&id2=test&other=memfree&apipass=1234&user=admin&pass=pandora&other_mode=url_encode_separator_|
set stop_downtime
Para una parada planificada.
Sintaxis de llamada:
- op=set (obligatorio)
- op2=stop_downtime (obligatorio)
- id=<id_downtime> (obligatorio) debe ser un id downtime.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=stop_downtime&id=1&apipass=1234&user=admin&pass=pandora
set new_user
Crea un nuevo usuario en Pandora FMS.
op=set
(obligatorio).op2=new_user
(obligatorio).id=< identificador_usuario >
(obligatorio).other=
< parámetros_serializados > ( todos y cada uno son obligatorios) son los datos del usuario, serializados en el siguiente orden:- < nombre_completo > (utilice
para insertar espacios)
- < primer_nombre >
- < primer_apellido >
- < segundo_nombre >
- < contraseña >
- < correo_electrónico >
- < número_de_teléfono >
- < idioma >
- < comentarios >
- < tiempo_refrescamiento_pantalla >
- < filtro_eventos_predilecto >
- < sección_consola_predilecta >
- < duración_sesión >
Si usted carece de alguno de los trece campos anteriores simplemente escriba el separador (vea sintaxis de la llamada) pero en todo caso siempre debe colocar 13 separadores.
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=new_user&id=id_nu&other=John J. Doe|John|Doe|Jay|1234|johndoe@example.com|5555555|en||30|||-1|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_user
Actualiza un usuario seleccionado por el id en parámetro id.
Sintaxis de llamada:
- op=set (obligatorio)
- op2=update_user (obligatorio)
- id=<user_name> (oligatorio) debe ser un nombre de usuario.
- other=<parametros serializados> (obligatorio) son los datos de configuración del usuario, serializados en este orden:
- <fullname>
- <firstname>
- <lastname>
- <middlename>
- <password>
- <email>
- <phone>
- <languages>
- <comments>
- <is_admin>
- <block_size>
- <flash_chart>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_user&id=example_user_name&other=example_fullname||example_lastname||example_new_passwd|example_email||example_language|example comment|1|30|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_user
Borra un usuario por medio de su identificador.
op=set
(obligatorio).op2=delete_user
(obligatorio).id=
< identificador_de_usuario > (obligatorio) el identificador del usuario a eliminar (User ID).
Ejemplo (vea sintaxis de la llamada):
../include/api.php?op=set&op2=delete_user&id=md&apipass=1234&user=admin&pass=pandora
set delete_user_permissions
Esta característica está en el Command Center (Metaconsola).
Borra premisos de usuario.
Sintaxis de la llamada:
- op=set(obligatorio)
- Op2=delete_user_permission(obligatorio)
- return_type=csv|json(obligatorio)
- Other=id profile(obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_user_permission&return_type=json&other=2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Borra los permisos de un usuario. Puede devolver Json o CSV, este retorno se indica mediante la URL.
set add_permission_user_group
Esta característica está en el Command Center (Metaconsola).
Añadir permisos a un grupo de usuario.
Sintaxis de la llamada:
- op=set(obligatorio)
- Op2=add_permission_user_to_group(obligatorio)
- return_type=csv|json(obligatorio)
- Other=user id(obligatorio)|group_id(obligatorio)|profile id(obligatorio)|No hierarchy(opcional)| permissions id(opcional)
Ejemplo
Puede devolver Json o CSV, este retorno se indica mediante la URL.
no_hierarchy
puede estar vacío, si es así toma el valor 0.
id de permissions (id_up
) en la tabla se puede usar si va a modificarse un permiso existente.
http://localhost/pandora_console/include/api.php?op=set&op2=add_permission_user_to_group&return_type=json&other=admin|0|1|1||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set enable_disable_user
Activa un usuario desactivado.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_disable_user (obligatorio)
- id=<nombre_usuario> (obligatorio) debe ser un nombre usuario.
Ejemplos
Ejemplo 1 (Disable user 'example_name')
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_user&id=example_name&other=0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Ejemplo 2 (Enable user 'example_name')
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_user&id=example_name&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set meta_synch_user
Esta característica está en el Command Center (Metaconsola).
Sincroniza usuarios de el Command Center (Metaconsola) con el nodo
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=meta_synch_user (obligatorio)
- other=<parámetros serializados> (opcional):
- <user_name_1,user_name_2,user_name_3..> (Nombres de los usuarios separados por comas y sin espacios al inicio o al final, obligatorio)
- <server_name> (obligatorio)
- <profile_mode(1-0)> (opcional)
- <group_name> (opcional)
- <profile_1,profile_2,profile_3> (Perfiles separados por comas y sin espacios al principio y al final, opcional)
- <create_groups(1-0)> (opcional)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=meta_synch_user&apipass=1234&user=admin&pass=pandora&other=name1,name2|nodo1|0|||&other_mode=url_encode_separator_|
set create_group
Crea un nuevo grupo.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_group (obligatorio)
- id=<group_name> (obligatorio) debe ser un nombre de grupo.
- other=<serialized_parameters> (obligatorio), son los siguientes en este orden:
- <icon name>
- <parent group id> (opcional)
- <description> (opcional)
- <propagate acl> (opcional)
- <desactivar las alertas> (opcional)
- <custom id> (opcional)
- <Informacion de contacto> (opcional)
- <otra informacion> (opcional)
- <máximo número de Agentes en el grupo> (obligatorio, cero sin límite)
- <Crear grupo de Agentes con contraseña> (opcional)
Ejemplos
Ejemplo 1 (con grupo padre: Servers)
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_group&id=example_group_name&other=applications|2&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Ejemplo 2 (sin grupo padre)
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_group&id=example_group_name2&other=computer|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Ejemplo 3 (crear grupo de agentes con contraseña 1234
, además con un límite a 3 Agentes en el grupo)
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_group&id=example_group_name&other=applications|2|||||||3|1234&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_group
Actualiza el grupo con los datos pasados como parámetros.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_group (obligatorio)
- id=<group_id> (obligatorio) id_grupo.
- other=<serialized_parameters> (obligatorio), son los siguientes en este orden:
- <group name>
- <icon name>
- <parent group id>
- <description>
- <propagate acl>
- <desactivar las alertas>
- <custom id>
- <Informacion de contacto>
- <otra informacion>
- <máximo número de Agentes en el grupo> (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_group&id=example_group_id&other=New Name|application|2|new description|1|0|custom id||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Con límite a dos Agentes en el grupo:
http://192.168.80.222/pandora_console/include/api.php?op=set&op2=update_group&id=22&other=New Namee|applications|2|new description|1|0|custom id|12|0|2&other_mode=url_encode_separator_|&apipass=APIPASS&user=USER&pass=PASSWORD
set delete_group
Eliminar un grupo
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_group (obligatorio)
- id=<group_id> (obligatorio) id_grupo.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_group&id=303&apipass=1234&user=admin&pass=pandora
set add_user_profile
Añade un perfil a un usuario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=add_user_profile (obligatorio)
- id=<nombre_usuario> (obligatorio) debe ser un nombre usuario.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del grupo y profile, serializados en el siguiente orden:
- <grupo>
- <profile>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_user_profile&id=md&other=12|4&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_user_profile
Quita un perfil a un usuario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=delete_user_profile (obligatorio)
- id=<nombre_usuario> (obligatorio) debe ser un nombre usuario.
- other=<parámetros serializados> (obligatorio) son la configuración y datos del grupo y profile, serializados en el siguiente orden:
- <grupo>
- <profile>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_user_profile&id=md&other=12|4&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_incident
Crea un nuevo incidente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_incident (obligatorio)
- other=<parámetros serializados> (obligatorio) son la configuración y datos del incidente, serializados en el siguiente orden:
- <titulo>
- <descripción>
- <origen>
- <prioridad>
- <estado>
- <grupo>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_incident&other=titulo|descripcion texto|Logfiles|2|10|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_note_incident
Crea una nota dentro de una incidencia.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_note_incident (obligatorio)
- id=<id_incidente> (obligatorio) el id del incidente.
- id2=<nombre_usuario> (obligatorio) el nombre del usuario.
- other=<nota> (obligatorio) es la nota codificada en url encode.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_note_incident&id=5&id2=miguel&other=una nota para la incidencia&apipass=1234&user=admin&pass=pandora
set validate_all_alerts
Valida todas las alertas.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=validate_all_alerts (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_all_alerts&apipass=1234&user=admin&pass=pandora
set validate_all_policy_alerts
Valida todas las alertas que vienen de políticas.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=validate_all_policy_alerts (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_all_policy_alerts&apipass=1234&user=admin&pass=pandora
set event_validate_filter
Valida todos los eventos que pasan el filtro pasado como parámetros.
Esta característica está en el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=event_validate_filter (obligatorio)
- other_mode=url_encode_separator_| (opcional)
- other=<parámetros serializados> (opcional), son los siguientes en este orden:
- <separator>
- <criticity> De 0 a 4
- <nombre agente>
- <nombre módulo>
- <nombre plantilla de alerta>
- <usuario>
- <nivel mínimo intervalo numérico > en unix timestamp
- <nivel máximo intervalo numérico > en unix timestamp
- <use_agent_name> (Acepta valores 0 y 1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=event_validate_filter&other_mode=url_encode_separator_|&other=;|2&apipass=1234&user=admin&pass=pandora
set event_validate_filter_pro
Es igual que la anterior.
Esta característica está en el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=event_validate_filter_pro (obligatorio)
- other_mode=url_encode_separator_| (opcional)
- other=<parámetros serializados> (opcional), son los siguientes en este orden:
- <separator>
- <criticity> De 0 a 4
- <id agente>
- <id modulo>
- <id agente modulo alerta>
- <usuario>
- <nivel mínimo intervalo numérico > en unix timestamp
- <nivel máximo intervalo numérico > en unix timestamp
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=event_validate_filter_pro&other_mode=url_encode_separator_|&other=;|2&apipass=1234&user=admin&pass=pandora
set validate_event_by_id
Valida un evento según la id que se pase en los parámetros.
Sintaxis de la llamada:
op=set (obligatorio) op2=validate_event_by_id (obligatorio) id=<id_evento> (obligatorio) el id del evento.
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=validate_event_by_id&id=23&apipass=1234&user=admin&pass=pandora
set new_alert_template
Aplica una alerta desde una plantilla y un módulo pasado como id de agente y nombre de módulo.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_alert_template (obligatorio)
- id=<nombre del agente> (obligatorio)
- id2=<nombre de la plantilla de alerta> (obligatorio)
- other_mode=url_encode_separator_| (opcional)
- other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
- <nombre modulo> (obligatorio)
- <use_agent_alias> (Acepta valores 0 y 1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_alert_template&id=example&id2=test&other_mode=url_encode_separator_|&other=memfree&apipass=1234&user=admin&pass=pandora
set alert_actions
Añade acciones a una alerta.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=alert_actions (obligatorio)
- id=<nombre del agente> (obligatorio)
- id2=<nombre de la plantilla de alerta> (obligatorio)
- other_mode=url_encode_separator_| (obligatorio)
- other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
- <nombre modulo> (obligatorio)
- <nombre acción> (obligatorio)
- <fires min > (opcional)
- <fires max > (opcional)
- <use_agent_alias> (Acepta valores 0 y 1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=example&id2=test&other_mode=url_encode_separator_|&other=memfree|test&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=example&id2=test&other_mode=url_encode_separator_|&other=memfree|test|1|3&apipass=1234&user=admin&pass=pandora
set alert_commands
Añade comandos a una alerta.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=alert_commands (obligatorio)
- id=<nombre del comando> (obligatorio)
- other_mode=url_encode_separator_| (opcional)
- other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
- <command> (obligatorio)
- <id_group> (obligatorio)
- <description > (opcional)
- <internal > (opcional)
- <field_description_1><field_value_1><field_description_2><field_value_2>…<field_description_n><field_value_n>
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=alert_commands&id=PRUEBA1&other=command|0|Desc|1|des1|val1|des2|val2|des3|val3||val4|des5&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set new_module
Crea un nuevo módulo.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_module (obligatorio)
- id=<nombre del agente> (obligatorio)
- id2=<nombre del nuevo modulo> (obligatorio)
- other_mode=url_encode_separator_| (opcional)
- other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
- <tipo de modulo de red> (obligatorio)
- <nombre acción> (obligatorio)
- <ip o url > (obligatorio)
- <puerto > (opcional)
- <descripción > (opcional)
- <min > (opcional)
- <max > (opcional)
- <post process > (opcional)
- <module interval > (opcional)
- <min warning > (opcional)
- <max warning > (opcional)
- <min critical > (opcional)
- <max critical > (opcional)
- <history data > (opcional)
- <enable_unknown_events> (solo versión 5)
- <use_agent_alias> (Acepta valores 0 y 1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_module&id=miguel-portatil&id2=juanito&other_mode=url_encode_separator_|&other=remote_tcp_string|localhost|33|descripcion larga&apipass=1234&user=admin&pass=pandora
set delete_module
Borra un módulo.
A partir de la versión 768 si el módulo a borrar (ej. Host Alive ) es padre de otro módulo (funcionalidad “Servicios de protección en cascada”) los módulos hijos también serán borrados.
op=set
(obligatorio).op2=delete_module
(obligatorio)id=
< nombre del agente > (obligatorio).- i
d2=
< nombre del módulo > (obligatorio).
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=delete_module&id=example&id2=example2&apipass=1234&user=admin&pass=pandora&other_mode=url_encode_separator_|
Parámetro simulate
¡Es absolutamente imprescindible utilizar
other_mode=url_encode_separator_< separator >
con este parámetro!
Si desea confirmar si el agente existe y su módulo también, antes de ejecutar el borrado definitivo bien puede utilizar el parámetro simulate
. Si su llamada de prueba es incorrecta la API 1.0 PFMS devolverá el siguiente mensaje: Parameter error.
.
Ejemplo (vea sintaxis de la llamada):
.../include/api.php?op=set&op2=delete_module&id=agent_name_example&id2=module_name_example&other=simulate&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set enable_alert
Activa una alerta dentro de un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_alert
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other: nombre del template de la alerta (p.e: Warning event) (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_alert&id=example&id2=Status&other=Warning condition&apipass=1234&user=admin&pass=pandora
set enable_alert_alias
Activa una alerta dentro de un agente a partir del alias.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_alert_alias
- id=<Alias del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other: nombre del template de la alerta (p.e: Warning event) (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_alert_alias&id=example&id2=CPU Load&other=critical condition&apipass=1234&user=admin&pass=pandora
set disable_alert
Desactiva una alerta dentro de un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=disable_alert
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other: nombre del template de la alerta (p.e: Warning event) (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_alert&id=example&id2=Status&other=Warning condition&apipass=1234&user=admin&pass=pandora
set disable_alert_alias
Desactiva una alerta dentro de un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=disable_alert_alias
- id=<Alias del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other: nombre del template de la alerta (p.e: Warning event) (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_alert_alias&id=example&id2=CPU Load&other=critical condition&apipass=1234&user=admin&pass=pandora
set enable_module_alerts
Igual que la llamada enable_alert.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_module_alerts
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other (opcional)=<use_agent_alias> (Acepta valores 0 y 1)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module_alerts&id=example&id2=Status&apipass=1234&user=admin&pass=pandora
set disable_module_alerts
Igual que la llamada disable_alert.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=disable_module_alerts
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other (opcional)=<use_agent_alias> (Acepta valores 0 y 1)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module_alerts&id=example&id2=Status&apipass=1234&user=admin&pass=pandora
set enable_module
Activa el módulo.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_module
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other (opcional)=<use_agent_alias> (Acepta valores 0 y 1)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module&id=example&id2=Status&apipass=1234&user=admin&pass=pandora
set disable_module
Desactiva el módulo.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=disable_module
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del modulo> (obligatorio)
- other (opcional)=<use_agent_alias> (Acepta valores 0 y 1)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module&id=example&id2=Status&apipass=1234&user=admin&pass=pandora
set create_network_module_from_component
Crea un nuevo módulo de red desde un componente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_network_module_from_component (obligatorio)
- id=<nombre del agente> (obligatorio)
- id2=<Nombre del componente> (obligatorio)
- other (opcional)=<use_agent_alias> (Acepta valores 0 y 1)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=create_network_module_from_component&id=example&id2=OS Total process&apipass=1234&user=admin&pass=pandora
set module_data
Añade un nuevo valor al módulo. Esta llamada únicamente genera un XML con los datos que se enviarán al servidor, que será el encargado de hacer la actualización en la Base de Datos.
Solamente se controla la generación del fichero XML, devolviendo un mensaje relacionado con ese proceso.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=module_data (obligatorio)
- id=<id agente módulo> (obligatorio)
- other: serializado el dato del módulo y el tiempo en que ocurre.
- dato: que puede ser cualquier tipo de dato de Pandora.
- tiempo: puede ser la cadena de texto
now
para el momento actual o el timestamp especifico.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=module_data&id=14&other_mode=url_encode_separator_|&other=123|now&apipass=1234&user=admin&pass=pandora
La generación exitosa del fichero XML no garantiza que la información haya quedado almacenada en la base de datos.
set new_module_group
Crea un nuevo grupo de módulos.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=new_module_group (obligatorio)
- id=<nombre del grupo de módulos> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=new_module_group&id=Module_group_name&apipass=1234&user=admin&pass=pandora
set module_group_synch
Esta característica está en el Command Center (Metaconsola).
Sincronizar grupo de módulos desde el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=module_group_synch (obligatorio)
- other=<parámetros serializados> (obligatorio) en este caso el nombre del/de los servidor/es que se quiere/n sincronizar con la meta.
- <server_name_1><server_name_2>…<server_name_n> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=module_group_synch&other=server_name1|server_name2|server_name3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_module_in_conf
Añade una configuración a un módulo local.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=add_module_in_conf (obligatorio)
- id=<id agente> (obligatorio)
- id2=<nombre módulo> (obligatorio)
- other: los datos del modulo que irán en el fichero de configuración codificados en base64 (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_module_in_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name&other=bW9kdWxlX2JlZ2luCm1vZHVsZV9uYW1lIGV4YW1wbGVfbmFtZQptb2R1bGVfdHlwZSBnZW5lcmljX2RhdGEKbW9kdWxlX2V4ZWMgZWNobyAxOwptb2R1bGVfZW5k
Se retornará '0' en caso de éxito,'-1' en caso de error, '-2' si ya existe
set delete_module_in_conf
Borra la configuración de un módulo local.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=add_module_in_conf (obligatorio)
- id=<id agente> (obligatorio)
- id2=<nombre módulo> (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_module_in_conf&user=admin&pass=pandora&id=9043&id2=example_name
Se retornará '0' en caso de éxito ó '-1' en caso de error
set update_module_in_conf
Actualiza la configuración de un módulo local.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_module_in_conf (obligatorio)
- id=<id agente> (obligatorio)
- id2=<nombre módulo> (obligatorio)
- other: los nuevos datos del módulo que irán en el fichero de configuración codificados en base64 (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_module_in_conf&apipass=1234&user=admin&pass=pandora&id=9043&id2=example_name&other=bW9kdWxlX2JlZ2luCm1vZHVsZV9uYW1lIGV4YW1wbGVfbmFtZQptb2R1bGVfdHlwZSBnZW5lcmljX2RhdGEKbW9kdWxlX2V4ZWMgZWNobyAxOwptb2R1bGVfZW5k
Se retornará '1' si no cambia, '0' en caso de éxito, '-1' en caso de error, '-2' si no existe
set create_event
Crea un evento nuevo en Pandora FMS.
Esta característica también trabaja en el Command Center (Metaconsola).
op=set
(obligatorio).op2=create_event
(obligatorio).other=
< parámetros_serializados > (obligatorio), son la configuración y datos del evento, serializados en el siguiente orden:- < texto_del_evento > (obligatorio, tipo string).
- < id_grupo > (obligatorio, tipo string).
- < id_agente> (obligatorio, tipo numeric).
- < estado >
0
New (Nuevo),1
Validated (Validado),2
In process (En proceso). - < id_usuario >(tipo numeric).
- < tipo_de_evento > Alguno de los siguientes valores:
unknown
alert_fired
alert_recovered
alert_ceased
alert_manual_validation
system
error
new_agent
configuration_change
going_unknown
going_down_critical
going_down_warning
going_up_normal
- < severidad > Alguno de los siguientes valores:
0
Maintenance (Mantenimiento).1
Informative (Informativo).2
Normal (Normal).3
Warning (Advertencia).4
Critical (Crítico).5
Minor (Menor).6
Major (Mayor).
- < id_módulo_de_agente > (tipo numeric).
- < id_alert_am> ( Identificador del módulo de alerta vinculado al evento, tipo numeric).
- < instructiones_para_crítico > (tipo string).
- < instructiones_para_advertencia > (tipo string).
- < instructiones_para_desconocido > (tipo string).
- < comentario > (tipo string).
- < nombre_del_propietario_del_evento > (tipo string).
- < fuente_del_evento > (tipo string).
- < eiquetas > (tipo string).
- < datos_personalizado> Los datos personalizados se introducen como un documento JSON codificado en base64.
- < id_servidor > (solamente para el Command Center -Metaconsola-) El identificador del nodo, Consola web “hija”.
- <identificador_extra> (tipo alphanumeric).
Ejemplo (vea la sintaxis de llamada):
El evento a crear tiene los siguientes datos personalizados en JSON:
{"Answer to the Ultimate Question of Life, the Universe, and Everything": 42}
Se codifica lo anterior en base64 y se inserta en la llamada:
../include/api.php?op=set&op2=create_event&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora&other=Event_name|0|1|0|admin|alert_fired|4|1|||||comment|admin||tags|eyJBbnN3ZXIgdG8gdGhlIFVsdGltYXRlIFF1ZXN0aW9uIG9mIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOiA0Mn0=||12
set add_event_comment
Añade un comentario acerca del evento indicado.
Esta característica también trabaja en el Command Center (Metaconsola).
op=set
(obligatorio).op2=add_event_comment
(obligatorio).id=
< identificador_del_evento > (obligatorio, tipo numeric).other=
< parámetros_serializados> (obligatorio) son el comentario a agregar y, en el caso de utilizarlo en el Command Center (Metaconsola), el identificador numérico del nodo, serializados en el siguiente orden:- < comentario > (obligatorio, tipo string).
- < separador > (opcional para el Command Center -Metaconsola-).
- < identificador_de_nodo > (opcional para el Command Center -Metaconsola-).
url_encode_separator_
< separador > : Vea sintaxis de llamada.
Uso en el Command Center (Metaconsola):
- Versión 762 y anteriores: Después del comentario y el separador debe introducir el parámetro
true
. - Versión 766 y posteriores: Después del comentario y el separador debe introducir el identificador numérico del nodo.
Accediendo al Command Center podrá obtener dicho identificador de nodo:
Ejemplos ( vea sintaxis de llamada):
- Nodo (el identificador del evento es
7
y el comentario escomment
):
../include/api.php?op=set&op2=add_event_comment&id=7&other=comment&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
- Command Center -Metaconsola- (versión 766 y posteriores, el identificador del evento es
1
, el comentario escomment
y el identificador del nodo es3
):
../include/api.php?op=set&op2=add_event_comment&id=1&other=comment|3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_event
Modifica eventos a través de la API.
Esta característica se encuentra tanto en nodo como en el Command Center (Metaconsola).
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=event (obligatorio)
- id=event_id (obligatorio)
- other=<serialized_parameters> (obligatorio). Son los datos del evento a actualizar, con formato campo,valor y separados con el url_encode_separator escogido (ej. |).
Campos disponibles
- estado: Identificador numérico del estado del evento. Puede ser:
- 0 (Nuevo)
- 1 (Validado)
- 2 (En proceso)
- evento: Nombre del evento.
- event_type: Tipo de evento. Puede ser:
- going_unknown
- unknown
- alert_fired
- alert_recovered
- alert_ceased
- alert_manual_validation
- recon_host_detected
- system
- error
- new_agent
- going_up_warning
- going_up_critical
- going_down_warning
- going_down_normal
- going_down_critical
- going_up_normal
- configuration_change
- criticity: Identificador numérico de la criticidad del evento. Puede ser:
- 0 (Maintenance)
- 1 (Informational)
- 2 (Normal)
- 3 (Minor)
- 4 (Warning)
- 5 (Major)
- 6 (Critical)
- 20 (Warning o Critical)
- 21 (Distinto a Normal)
- 34 (Critical o normal)
- tags: Etiquetas asociadas al evento.
- source: Fuente de los datos del evento.
- id_extra: Si se usa esta opción, cuando se genere un evento con el mismo ID extra que otros ya existentes, estos se validarán automáticamente.
- critical_instructions: Instrucciones para el operador sobre cómo actuar cuando el módulo esté en estado Critical. Sólo funciona si el módulo asociado está en estado Crítico.
- warning_instructions: Instrucciones para el operador sobre cómo actuar cuando el módulo esté en estado Warning. Sólo funciona si el módulo asociado está en estado Warning.
- unknown_instructions: Instrucciones para el operador sobre cómo actuar cuando el módulo esté en estado Unknown. Sólo funciona si el módulo asociado está en estado Desconocido.
- owner_user: Usuario asignado al evento.
- custom_data: Permite añadir información extra al evento. Debe ser un json (ej.
{“campo1”:“valor1”,“campo2”:“valor2”}
) codificado en base64 (ej. anterior:eyJjYW1wbzEiOiJ2YWxvcjEiLCJjYW1wbzIiOiJ2YWxvcjIifQ==
). - module_status: Identificador numérico del estado del módulo que disparó el evento. Puede ser:
- 0 (Normal)
- 1 (Critical)
- 2 (Warning)
- 3 (Unknown)
- 4 (Not init)
Ejemplos
- Nodo:
http://<console_ip>/pandora_console/include/api.php?op=set&op2=event&apipass=pandora&user=admin&pass=pandora&id=175&other_mode=url_encode_separator_|&other=estado,2|evento,Evento modificado|custom_data,eyJjYW1wbzEiOiJ2YWxvcjEiLCJjYW1wbzIiOiJ2YWxvcjIifQ==
- Command Center (Metaconsola):
http://<command_center_ip>/pandora_console/include/api.php?op=set&op2=event&apipass=1234&user=admin&pass=pandora&id=315132&other_mode=url_encode_separator_|&other=estado,0|owner_user,operator|evento,Evento modificado
set create_netflow_filter
(>=5.0)
Crea un nuevo filtro de netflow.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_netflow_filter (obligatorio)
- other=<parámetros serializados> (obligatorio) son los datos del filtro, serializados en el siguiente orden:
- <nombre_filtro> (obligatorio)
- <id_grupo> (obligatorio)
- <filtro> (obligatorio)
- <agregado_por> (Valores posibles: dstip,dstport,none,proto,srcip,srcport) (obligatorio)
- <formato_salida> (Valores posibles: kilobytes,kilobytespersecond,megabytes,megabytespersecond) (obligatorio)
Ejemplos
http://127.0.0.1/pandora/include/api.php?op=set&op2=create_netflow_filter&apipass=1234&user=admin&pass=pandora&other=Filter name|9|host 192.168.50.3 OR host 192.168.50.4 or HOST 192.168.50.6|dstport|kilobytes&other_mode=url_encode_separator_|
set create_custom_field
Crea un nuevo campo personalizado para los agentes. Los campos personalizados o custom fields son útiles para las macros de monitorización remota.
op=set
(obligatorio).op2=create_custom_field
(obligatorio).other=
< parámetros serializados > (obligatorios) parámetros para configurar el campo personalizado, serializados en el siguiente orden:- < nombre_del_campo_personalizado > (obligatorio, tipo string).
- < mostrar_en_vista > (obligatorio)
0
no se mostrará en la vista de operación del agente,1
sí será mostrado, siempre y cuando tenga un valor guardado). - < campo_contraseña > (obligatorio)
0
campo personalizado normal,1
su contenido será ocultado con asteriscos en la Consola web.
Si la ejecución de la orden resulta exitosa, devolverá un identificador numérico correspondiente al campo personalizado creado.
Ejemplo (vea la sintaxis de llamada):
../include/api.php?op=set&op2=create_custom_field&other=mycustomfield|0|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Debe asegurarse de que el usuario utilizado tiene derechos suficientes para crear campos personalizados. En el ejemplo se utiliza las credenciales de un superadmin, si utiliza el usuario por defecto internal_API
no podrá crear dichos campos personalizados.
set create_tag
= 5.0
Crea un nuevo tag.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_tag (obligatorio)
- other=<parámetros serializados> (obligatorio) parámetros para configurar el tag
- <name> Nombre del tag (obligatorio)
- <description> Descripción del tag
- <eurl> Url del tag
- <email> Email del tag
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_tag&other=tag_name|tag_description|tag_url|tag_email&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set enable_disable_agent
Activa un agente desactivado.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=enable_disable_agent (obligatorio)
- id=<id_agente> (obligatorio) debe ser un id agente.
Ejemplos
Example 1 (Disable agent 'example_id')
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_agent&id=example_id&other=0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
Example 2 (Enable agent 'example_id')
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=enable_disable_agent&id=example_id&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set gis_agent_only_position
Añade solamente la posición GIS a un agente.
Sintaxis de la llamada:
op=
set (obligatorio).op2=gis_agent_only_position
(obligatorio)id=
<índice> (obligatorio) debe ser un índice de un agente.other=
<parámetros serializados> (obligatorio) parámetros para configurar el GIS utilizando elurl_encode_separator_
para diferenciarlos (utilice como separador decimal el punto.
):- <latitude> Latitud.
- <longitude> Longitud.
- <altitude> Altitud.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent_only_position&id=582&other_mode=url_encode_separator_|&other=2|1|0
set gis_agent
= 5.0
Añade los datos GIS a un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=gis_agent_only_position (obligatorio)
- id=<índice> (obligatorio) debe ser un índice de un agente.
- other=<parámetros serializados> (obligatorio) parámetros para configurar el gis
- <latitude> Latitud
- <longitude> Longitud
- <altitude> Altitud
- <ignore_new_gis_data> ignorar nuevos datos gis
- <manual_placement> posicionamiento manual
- <start_timestamp> tiempo de comienzo en esta posición
- <end_timestamp> tiempo de finalización de la anterior
- <number_of_packages> número de paquetes en esta posición
- <description_save_history> descripción
- <description_update_gis> descripción
- <description_first_insert> descripción
Ejemplo
http://127.0.0.1/pandora5/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_|&other=2|2|0|0|0|2000-01-01 01:01:01|0|666|aaa|bbb|ccc
set reset_agent_counts
Actualiza el conteo de módulos y alertas de un agente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=reset_agent_counts (obligatorio)
- id=<id_agent> (obligatorio) debe ser un id de agente o
All
.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=reset_agent_counts&apipass=1234&user=admin&pass=pandora&id=All
set create_special_day
= 5.1
Permite añadir un día especial.
Sintaxis:
- op=set (obligatorio)
- op2=create_special_day (obligatorio)
- other=<parámetros serializados> (obligatorio)
- <special day> Día especial
- <same day> Mismo día
- <description> Descripción
- <id_group> Id Grupo
Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1111&user=admin&pass=pandora&op=set&op2=create_special_day&other_mode=url_encode_separator_|&other=2014-05-03|Sunday|desc|0
set update_special_day
= 5.1
Actualizar configuración de un día especial ya definido.
Sintaxis:
- op=set (obligatorio)
- op2=update_special_day (obligatorio)
- id=<id día especial> (obligatorio)
- other=<parámetros serializados> (obligatorio)
- <special day> Día especial
- <same day> Mismo día
- <description> Descripción
- <id_group> Id grupo
Example
http://127.0.0.1/pandora_console/include/api.php?apipass=1111&user=admin&pass=pandora&op=set&op2=update_special_day&id=1&other_mode=url_encode_separator_|&other=2014-05-03|Sunday|desc|0
set delete_special_day
= 5.1
Permite borrar un día especial.
Sintaxis:
- op=set (obligatorio)
- op2=delete_special_day (obligatorio)
- id=<id día especial> (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?apipass=1111&user=admin&pass=pandora&op=set&op2=delete_special_day&id=1
set pagerduty_webhook
= 5.1
Conecta notificaciones de PagerDuty con alertas de Pandora FMS. Esta llamada se configurará en la opción Webhook del servicio de PagerDuty para validar las alertas de Pandora FMS previamente enlazadas a PagerDuty cuando estas sean validadas desde PagerDuty.
Sintaxis:
- op=set (obligatorio)
- op2=pagerduty_webhook (obligatorio)
- id=alert (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=pagerduty_webhook&apipass=1234&user=admin&pass=pandora&id=alert
set tag_user_profile
= 6
Añade un tag a un perfil de un usuario.
Sintaxis:
- op=set (obligatorio)
- op2=tag_user_profile (obligatorio)
- id=id_usuario (obligatorio)
- id2=id_etiqueta (obligatorio)
- other_mode=url_encode_separator_| (obligatorio)
- other=<id_grupo>|<id_perfil> (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=tag_user_profile&apipass=1234&user=admin&pass=pandora&id=1&id2=2&other_mode=url_encode_separator_|&other=122|3
set tag
= 6
Añade un tag a tu Pandora FMS.
Sintaxis:
- op=set (obligatorio)
- op2=tag (obligatorio)
- id=nombre (obligatorio)
- other_mode=url_encode_separator_| (obligatorio)
- other=<descripción>|<url>|<email>|<teléfono>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=tag&apipass=1234&user=admin&pass=pandora&id=test&other_mode=url_encode_separator_|&other="un test"|https://pandorafms.com|[email protected]|01189998819991197253
set add_tag_module
= 6
Añade un tag a un módulo.
Sintaxis:
- op=set (obligatorio)
- op2=add_tag_module (obligatorio)
- id=id_modulo (obligatorio)
- id2=id_tag (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_tag_module&apipass=1234&user=admin&pass=pandora&id=1&id2=2
set remove_tag_module
= 6
Quita un tag a un módulo.
Sintaxis:
- op=set (obligatorio)
- op2=add_tag_module (obligatorio)
- id=id_modulo (obligatorio)
- id2=id_tag (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=remove_tag_module&apipass=1234&user=admin&pass=pandora&id=1&id2=2
set planned_downtimes_created
= 5.1
Crea una parada planificada.
- op=set
- op2= planned_downtimes_created
- other =<description>;<date_from>;<date_to>;<id_group>;<monday>;
- <tuesday>;<wednesday>;<thursday>;<friday>;<saturday>;<sunday>;<periodically_time_from>;<periodically_time_to>;
- <periodically_day_from>;<periodically_day_to>;<type_downtime>;<type_execution>;<type_periodicity>;<id_user>;
El formato de fecha tiene que ser MM/DD/YYYY para que esta llamada funcione adecuadamente.
Ejemplos
Una sola vez:
http://localhost/pandora_console/include/api.php?op=set&op2=planned_downtimes_created&apipass=1234&user=admin&pass=pandora&id=testing&other=testing|11/05/2018|11/16/2018|0|1|1|1|1|1|1|1|12:06:00|19:06:00|1|31|quiet|once|weekly|admin&other_mode=url_encode_separator_|
Periódicamente:
http://localhost/pandora_console/include/api.php?op=set&op2=planned_downtimes_created&apipass=1234&user=admin&pass=pandora&id=testing&other=testing|11/05/2018|11/16/2018|0|1|1|1|1|1|1|1|12:06:00|19:06:00|1|31|quiet|periodically|weekly|admin&other_mode=url_encode_separator_|
set planned_downtimes_edit
= 754
Edita una parada planificada.
- op=set
- op2= planned_downtimes_edit
- id= identificador de la parada planificada
- other = todos los parámetros son opcionales:
- <nombre>
- <descripción>
- <date from>
- <date to>
- <time from>
- <time to>
- <id grupo>
- <monday>
- <tuesday>
- <wednesday>
- <thursday>
- <friday>
- <saturday>
- <sunday>
- <periodically_day_from>
- <periodically_day_to>
- <tipo de parada>
- <tipo de ejecución>
- <tipo de periodicidad>
El formato de fecha tiene que ser AAAA/MM/DD (año/mes/día) para que esta llamada funcione adecuadamente.
Ejemplo:
http://localhost/pandora_console/include/api.php?op=set&op2=planned_downtimes_edit&apipass=1234&user=admin&pass=pandora&id=2&other=testing2|test2| 2021/05/10|2021/06/12|19:03:03|19:55:00|0|0|0|0|0|0|0|0|1|31|quiet|once|weekly&other_mode=url_encode_separator_|
set planned_downtimes_add_agents
Añade agentes a la parada planificada.
op=set
(obligatorio).op2=planned_downtimes_add_agents
(obligatorio).id=
< id_parada > identificador de la parada planificada (obligatorio).other=
< id_agente1 separador id_agente2 separador id_agente3 separador … id_agenteN > identificador de cada Agente a agregar, para el separador vea la sintaxis de llamada.
Ejemplo (vea la sintaxis de llamada):
…/include/api.php?op=set&op2=planned_downtimes_add_agents&id=4&other=1|2|3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set planned_downtimes_delete_agents
Borra los agentes (y los Módulos de esos agentes) de la parada planificada.
op=set
(obligatorio).op2=planned_downtimes_delete_agents
(obligatorio).id=
< id_parada > identificador de la parada planificada (obligatorio).other=
< id_agente1 separador id_agente2 separador id_agente3 separador … id_agenteN > identificador de cada Agente a borrar, para el separador vea la sintaxis de llamada.
Ejemplo (vea la sintaxis de llamada):
…/include/api.php?op=set&op2=planned_downtimes_delete_agents&id=4&other=1|2|3&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set planned_downtimes_additem
= 5.1
Crea registros para una parada planificada.
- op=set
- op2=planned_downtimes_additem
- id=planned_downtime_id
- other = <id_agent1;id_agent2;id_agent3;….id_agentn;>;<name_module1;name_module2;name_module3;……name_modulen;>
Ejemplo:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_additem&apipass=1234&user=admin&pass=pandora&id=123&other=1;2;3;4|Status;Unkown_modules &other_mode=url_encode_separator_|
set planned_downtimes_deleted
=5.1
Elimina una parada planificada.
- op=set
- op2=planned_downtimes_deleted
- id=planned_downtime_id
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_deleted&apipass=1234&user=admin&pass=pandora&id=10
set create_synthetic_module
=5.1SP4
Crea un módulo sintético:
- op=set
- op2=create_synthetic_module
- id=nombre del agente a añadir el módulo
- id2=<use_agent_alias>
- other=<name_module><synthetic_type><AgentName;Operation;NameModule> OR <AgentName;NameModule> OR <Operation;Value>
- Datos del módulo:
En las creación de tipo arithmetic el primer dato si es Agente y módulo sin operador : AgentName;NameModule. Si es un valor: <Operation;Value>. El resto de valores irían ya de la forma siguiente: <AgentName;Operation;NameModule> or <Operation;Value>
average: <AgentName;Operation;NameModule> or <Operation;Value>
- Operaciones:
arithmetic: ADD, SUB, MUL, DIV average: Only AVG
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_synthetic_module&apipass=1234&user=admin&pass=pandora&id=test&other=Test|arithmetic|Agent Name;Module Name|Agent Name2;ADD;Module Name2&other_mode=url_encode_separator_|
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_synthetic_module&apipass=1234&user=admin&pass=pandora&id=example&other=prueba|average|Agent Name;AVG;Name Module|Agent Name2;AVG;Name Module2&other_mode=url_encode_separator_|
set create_service
= 7
Crea un servicio.
- op=set
- op2=create_service
- other =<name>;<description>;<id_group>;<critical>;<warning>;<id_agent>;<sla_interval>;<sla_limit>;
<id_warning_module_template_alert>;<id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_service&return_type=json&other=test1|Descripcion|12|1|0.5|1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_service
= 7
Modifica un servicio.
- op=set
- op2=update_service
- id=id del servicio
- other =<name>;<description>;<id_group>;<critical>;<warning>;<id_agent>;<sla_interval>;<sla_limit>;
<id_warning_module_template_alert>;<id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_service&return_type=json&id=1&other=test2|Descripcion2|||0.6|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_element_service
= 7
Añade uno o varios elementos al servicio.
- op=set
- op2=add_element_service
- id=id del servicio
- other=json con los elementos en base64
La estructura del json debe ser la siguiente:
[ { "type": "agent", "id": 2, "description": "Test1", "weight_critical": 0, "weight_warning": 0, "weight_unknown": 0, "weight_ok": 0 }, { "type": "module", "id": 1, "description": "Test2", "weight_critical": 0, "weight_warning": 0, "weight_unknown": 0, "weight_ok": 0 }, { "type": "service", "id": 3, "description": "Test3", "weight_critical": 0, "weight_warning": 0, "weight_unknown": 0, "weight_ok": 0 } ]
En cada tipo, el campo id hace referencia a cosas diferentes:
- Si es de tipo agent, es el id del agente.
- Si es de tipo module, es el id agente modulo
- Si es tipo service, es el id del servicio que queremos añadir.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_element_service&return_type=json&id=6&other=WwogIHsKICAgICJ0eXBlIjogImFnZW50IiwKICAgICJpZCI6IDIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGVzdDEiLAogICAgIndlaWdodF9jcml0aWNhbCI6IDAsCiAgICAid2VpZ2h0X3dhcm5pbmciOiAwLAogICAgIndlaWdodF91bmtub3duIjogMCwKICAgICJ3ZWlnaHRfb2siOiAwCiAgfSwKICB7CiAgICAidHlwZSI6ICJtb2R1bGUiLAogICAgImlkIjogMSwKICAgICJkZXNjcmlwdGlvbiI6ICJUZXN0MiIsCiAgICAid2VpZ2h0X2NyaXRpY2FsIjogMCwKICAgICJ3ZWlnaHRfd2FybmluZyI6IDAsCiAgICAid2VpZ2h0X3Vua25vd24iOiAwLAogICAgIndlaWdodF9vayI6IDAKICB9LAogIHsKICAgICJ0eXBlIjogInNlcnZpY2UiLAogICAgImlkIjogMywKICAgICJkZXNjcmlwdGlvbiI6ICJUZXN0MyIsCiAgICAid2VpZ2h0X2NyaXRpY2FsIjogMCwKICAgICJ3ZWlnaHRfd2FybmluZyI6IDAsCiAgICAid2VpZ2h0X3Vua25vd24iOiAwLAogICAgIndlaWdodF9vayI6IDAKICB9Cl0=&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set metaconsole_synch
= 7
Añade licencia a el Command Center (Metaconsola) y sincroniza con los nodos.
- op=set
- op2=metaconsole_synch
- id=Código de licencia
Ejemplo
http://127.0.0.1/pandora_console/enterprise/meta/include/api.php?op=set&op2=metaconsole_synch&id=CODIGODELICENCIA&apipass=1234&user=admin&pass=pandora
set migrate_agent
Solamente para Command Center -Metaconsola-.
Añade a la cola de migración de agentes un agente seleccionado
- op=set
- op2=migrate_agent
- id=id_agente a migrar
- other=nombre nodo origen| nombre nodo destino | (true|false) para no migrar base de datos de histórico
- other_mode=url_encode_separator_|
- return_type=string, json, etc
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=migrate_agent&apipass=1234&user=admin&pass=pandora&id=2&other=example|example2|0&other_mode=url_encode_separator_|&return_type=string
set new_cluster
= 7.0
Crea un cluster de agentes
Crea un cluster de monitorización con agentes e items para monitorizar distintos nodos.
- op=set
- op2=new_cluster
- other=nombre_cluster| tipo_cluster| descripcion| id_grupo
- other_mode=url_encode_separator_
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_cluster&other=nombre_cluster|AA|descripcion|12&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_cluster_agent
= 7.0
Añadir agente a cluster
- op=set
- op2=add_cluster_agent
- other=json con los elementos en base64
- other_mode=url_encode_separator_
La estructura del json debe ser la siguiente:
[ { "id": 5, "id_agent": 2 }, { "id": 5, "id_agent": 3 } ]
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_agent&other=W3siaWQiOjUsImlkX2FnZW50IjoyfSwKeyJpZCI6NSwiaWRfYWdlbnQiOjN9XQ==&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_cluster_item (activo/activo)
= 7.0
Añadir item activo/activo a cluster
- op=set
- op2=add_cluster_item
- other=json con los elementos en base64
- other_mode=url_encode_separator_
La estructura del json debe ser la siguiente:
[ { "name": "Swap_Used", "id_cluster": 5, "type": "AA", "critical_limit": 80, "warning_limit":60 }, { "name": "TCP_Connections", "id_cluster": 5, "type": "AA", "critical_limit":80, "warning_limit":60 } ]
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_item&other=WwogIHsKICAgICJuYW1lIjogIlN3YXBfVXNlZCIsCiAgICAiaWRfY2x1c3RlciI6IDUsCiAgICAidHlwZSI6ICJBQSIsCiAgICAiY3JpdGljYWxfbGltaXQiOiA4MCwKwqAgICAid2FybmluZ19saW1pdCI6NjAKICB9LAogIHsKICAgICJuYW1lIjogIlRDUF9Db25uZWN0aW9ucyIsCiAgICAiaWRfY2x1c3RlciI6IDUsCiAgICAidHlwZSI6ICJBQSIsCiAgICAiY3JpdGljYWxfbGltaXQiOjgwLArCoCAgICJ3YXJuaW5nX2xpbWl0Ijo2MAogIH0KXQo=&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set add_cluster_item (activo/pasivo)
= 7.0
Añadir item activo/pasivo a cluster
- op=set
- op2=add_cluster_item
- other=json con los elementos en base64
- other_mode=url_encode_separator_
La estructura del json debe ser la siguiente:
[ { "name": "DiskUsed_/proc/kcore", "id_cluster": 5, "type": "AP", "is_critical": 1 }, { "name": "DiskUsed_/proc/sched_debug", "id_cluster": 5, "type": "AP", "is_critical": 1 } ]
Ejemplo:
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_cluster_item&other=WwogIHsKICAgICJuYW1lIjogIkRpc2tVc2VkXy9wcm9jL2tjb3JlIiwKICAgICJpZF9jbHVzdGVyIjogNSwKICAgICJ0eXBlIjogIkFQIiwKICAgICJpc19jcml0aWNhbCI6IDEKICB9LAogIHsKICAgICJuYW1lIjogIkRpc2tVc2VkXy9wcm9jL3NjaGVkX2RlYnVnIiwKICAgICJpZF9jbHVzdGVyIjogNSwKICAgICJ0eXBlIjogIkFQIiwKICAgICJpc19jcml0aWNhbCI6IDEKICB9Cl0=&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_cluster
= 7.0
Eliminar cluster
- op=set
- op2=delete_cluster
- id=id de cluster a eliminar
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster&id=7&apipass=1234&user=admin&pass=pandora
set delete_cluster_agents
= 7.0
Desasociar un agente de un cluster
- op=set
- op2=delete_cluster_agents
- other=json con los elementos en base64
- other_mode=url_encode_separator_
La estructura del json debe ser la siguiente:
[ { "id": 5, "id_agent": 2 }, { "id": 5, "id_agent": 3 } ]
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster_agents&other=WwogIHsKICAgICJpZCI6IDUsCiAgICAiaWRfYWdlbnQiOiAyCiAgfSwKICB7CiAgICAiaWQiOiA1LAogICAgImlkX2FnZW50IjogMwogIH0KXQ==&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_cluster_item
= 7.0
Eliminar item de un cluster
- op=set
- op2=delete_cluster_item
- id=id del item a eliminar
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_cluster_item&id=9&apipass=1234&user=admin&pass=pandora
set create_policy
= 7.0. 725
Crear una política. Son obligatorios el nombre de la política, el cual no puede estar repetido y el id_grupo el cual debe existir en la bbdd.
- op=set
- op2=create_policy
- other=nombre de la política (obligatorio) | id_del grupo (obligatorio) | descripción;
- other_mode=url_encode_separator_|
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=create_policy&apipass=1234&user=admin&pass=pandora&other=name Policy|11|this description&other_mode=url_encode_separator_|&return_type=json
set update_policy
= 7.0. 725
Actualizar una política. El nombre de la política no puede estar repetido y el id_grupo debe existir en la bbdd. devuelve 0 (false) o id de la política actualizada (true).
- op=set
- op2=update_policy
- id=id política
- other=nombre de la política | id_del grupo | descripción;
- other_mode=url_encode_separator_|
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=update_policy&apipass=1234&user=admin&pass=pandora&id=17&other=policy2|11|this description&other_mode=url_encode_separator_|&return_type=json
set delete_policy
= 7.0. 725
Eliminar una política. es necesario introducir el id de política y que exista dicha política para poder eliminarla. devuelve 0 (false) o 1 (true).
- op=set
- op2=delete_policy
- id=id política
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_policy&apipass=1234&user=admin&pass=pandora&id=10&return_type=json
set add_collections_policy
= 7.0. 725
Añadir una colección a una política. Es necesario introducir el id de política y que exista dicha política, como un id, nombre o nombre corto de la colección que se quiera añadir la cual debe existir. Ambos campos son obligatorios. devuelve 0 (false) o el id de la colección añadida a una politica (true).
- op=set
- op2=add_collections_policy
- id=id política
- id2=id, nombre o nombre corto
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=add_collections_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=4&id2=apache_plugin
set remove_collections_policy
= 7.0. 725
Para marcar una colección de una política que esta pendiente de ser borrada es necesario:
- Un id de política y que exista dicha política. Obligatorio
- Un id, nombre o nombre corto de la colección que se quiera eliminar la cual debe existir. Obligatorio
- Y 0 ó 1: siendo 1 marcar como pendiente de ser borrada y si es 0 quita la marca de pendiente de ser borrada por defecto si no se añade este campo intentará marcar para que se pueda borrar.
devuelve 0 (false) o 1 (true).
- op=set
- op2=remove_collections_policy
- id=id política
- id2=id, nombre o nombre corto
- other=(bool) 0 ó 1
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=remove_collections_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=4&id2=2&other=1.
set create_plugins_policy
= 7.0. 725
Para añadir un plugin a una política es necesario:
- Un id de política y que exista dicha política. Obligatorio
- La cadena del plugin a ejecutar. Obligatorio
Devuelve 0 (false) o el id del plugin que ha sido añadido a una política (true).
- op=set
- op2=create_plugins_policy
- id=id política
- id2=cadena de texto
- return_type=(string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=create_plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=2&id2=echo 1
set delete_plugins_policy
= 7.0. 725
Para eliminar un plugin de una política es necesario:
- Un id de política y que exista dicha política. Obligatorio
- Un id de plugin que se quiera eliminar. Obligatorio
- 0 ó 1: siendo 1 marcar como pendiente de ser borrado el plugin y si es 0 quita la marca de pendiente de ser borrado por defecto si no se añade, este campo se marca como pendiente de ser borrado.
devuelve 0 (false) o 1 (true).
- op=set
- op2 = delete_plugins_policy
- id=id política
- id2 = id plugin
- other = 0 ó 1
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_plugins_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=2&id2=1&other=1
set linking_policy
= 7.0. 725
Para enlazar un módulo desenlazado de una política es necesario:
- Un id de agente modulo que este desenlazado.
devuelve 0 (false) o 1 (true).
- op=set
- op2 = linking_policy
- id=id agente modulo
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=linking_policy&apipass=1234&user=admin&pass=pandora&return_type=json&id=28
set create_alerts_policy
= 7.0. 725
Para crear alertas de una política es necesario:
- Un id de política que debe existir (obligatorio).
- Un id módulo de política si es de tipo normal es obligatorio
- Una id plantilla que debe existir (obligatorio).
- Si es o no external 0 (normal), 1 (external). Por defecto es 0 normal
- Es obligatorio en caso de ser de tipo external (1) nombre de módulo con el que coincidir.
devuelve 0 (false) o el id de la alerta añadida en la política (true).
- op=set
- op2 = create_alerts_policy
- id=id política
- id2 = id modulo política
- Other=id modulo política|id template|0 ó 1|nombre de modulo.
- other_mode=url_encode_separator_|
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=create_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=2&other=0|2|1|cpu load&other_mode=url_encode_separator_|
set update_alerts_policy
= 7.0. 725
Para actualizar alertas de una política es necesario:
- Un id de política que debe existir (obligatorio).
- Activo 0 | En espera 1
- habilitar 0 | deshabilitar 1
devuelve 0 (false) o el id de la alerta actualizada en la política (true).
- op=set
- op2 = update_alerts_policy
- id=id política
- other = 0 ó 1 (activar/desactivar) | 0 ó 1 (habilitar/deshabilitar).
- other_mode=url_encode_separator_|
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=update_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&other=1|1&other_mode=url_encode_separator_|
set delete_alerts_policy
= 7.0. 725
Para eliminar una alerta de una política es necesario:
- Un id de alerta de política que debe existir (obligatorio).
- 0 | 1 marcar pendiente de eliminación o no por defecto si no se añade este campo se queda a 1
- Activo 0 | En espera 1
devuelve 0 (false) o 1 (true).
- op=set
- op2 = delete_alerts_policy
- id=id política
- id2 = 0 ó 1.
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_alerts_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&id2=1
set create_alerts_actions_policy
= 7.0. 725
Para añadir una acción a una alerta de una política es necesario:
- Un id de alerta de política que debe existir (obligatorio).
- Un id de acción de política que debe existir (obligatorio).
- Se le puede añadir número mínimo de disparos o número máximo de disparos por defecto: 0
devuelve 0 (false) o el id de la acción añadida a la alerta de una política (true).
- op=set
- op2 = create_alerts_action_policy
- id=id política
- id2 = id acción
- other = min fires | max fires
- other_mode=url_encode_separator_|
- return_type = (string, csv, json).
Ejemplo
http://172.16.0.2/pandora_console/include/api.php?op=set&op2=create_alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=1&id2=4&other=5|2&other_mode=url_encode_separator_|
set delete_alerts_actions_policy
= 7.0. 725
Para eliminar una acción de una alerta de una política es necesario:
- Un id de alerta de política que debe existir (obligatorio).
- Un id de acción de política que debe existir (obligatorio).
- op=set
- op2 = delete_alerts_action_policy
- id=id política
- id2 = id acción
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_alerts_actions_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=1&id2=4
set remove_agents_policy
= 7.0. 725
Para eliminar un agente de una política es necesario:
- Un id de política que debe existir (obligatorio).
- Un id de agente que debe existir (obligatorio).
- op=set
- op2 = remove_agents_policy
- id=id política
- id2 = id grupo
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=remove_agents_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=5&id2=2
set add_groups_policy
= 7.0. 725
Para agregar un grupo de una política es necesario:
- Un id de política que debe existir (obligatorio).
- Un id de grupo que debe existir (obligatorio).
- op=set
- op2 = add_groups_policy
- id=id política
- id2 = id grupo
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=add_groups_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=7&id2=12
set remove_groups_policy
= 7.0. 725
Para eliminar un agente de una política es necesario:
- Un id de política que debe existir (obligatorio).
- Un id de grupo que debe existir (obligatorio).
- op=set
- op2 = add_groups_policy
- id=id política
- id2 = id grupo
- return_type = (string, csv, json).
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=remove_groups_policy&apipass=1234&user=admin&pass=pandora&return_type=string&id=5&id2=2
set create_os
= 7.0. 727
Crea un nuevo sistema operativo con los datos pasados como parámetros.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= create_os (obligatorio)
- other=<parámetros serializados> (obligatorio) son los datos del sistema operativo, serializados en el siguiente orden:
- <nombre>
- <descripcion>
- <icono>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_os&other=os_name|os_description|os_icon.png&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_os
= 7.0. 727
Actualiza el sistema operativo con los datos pasados como parámetros.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= update_os (obligatorio)
- id =<id de sistema operativo> (obligatorio)
- other=<parámetros serializados> (obligatorio) son los datos del sistema operativo, serializados en el siguiente orden:
- <nombre>
- <descripcion>
- <icono>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?id=107&op=set&op2=update_os&other=os_name_to_update|os_description_to_update|os_icon_to_update.png&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set disabled_and_standby
= 7.0. 728
Deshabilita un agente y, si tiene configuración remota, lo pone en modo standby.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= disabled_and_standby (obligatorio)
- id =<id del agente> (obligatorio). En la el Command Center (Metaconsola) es el id de tagente, es decir, el id del nodo.
- id2=<id del nodo> (obligatorio en el Command Center -Metaconsola-, innecesario en el nodo)
- other =<valor> (opcional) Valor (0 para habilitar y 1 para deshabilitar) del nuevo estado. Si no se especifica ningún valor, deshabilita el agente.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?id=2&op=set&op2=disabled_and_standby&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?id=2&id2=1&op=set&op2=disabled_and_standby&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set validate_traps
= 7.0. 728
Permite validar traps.
- op=set
- op2 = validate_traps
- id=id del trap
Ejemplo
https://127.0.0.1/pandora_console/include/api.php?op=set&op2=validate_traps&id=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_traps
= 7.0. 728
Permite eliminar un trap:
- op=set
- op2 = delete_traps
- id=id del trap
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?id=2&op=set&op2=delete_traps&id=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set access_process
= 7.0NG. 728
Esta función permite gestionar el acceso a una tercera aplicación a partir de registros en el system audit log de pandorafms. Utiliza diferentes parámetros para procesar una de estas acciones de registro en nuestra aplicación y evita el acceso concurrente de usuarios administradores. Opcionalmente puede prohibir el acceso a usuarios no administradores.
Sintaxis de la llamada:
- op=set
- op2 = access_process
- other =<parámetros obligatorios»
- <id_usuario>
El id del usuario que intenta acceder a la aplicación, este dato queda registrado y se comprueba en la auditoría para filtrar el acceso, salida, explusión o navegación del usuario a través de la aplicación.
- <acción> - (login,logout,exclude,browse)
login: Se usa para solicitar el acceso a la aplicación. Devuelve la cadena de texto free
y registra nuestro acceso en la auditoría de pandorafms o devuelve la cadena de texto denied
si en los registros de la auditoría hay otro usuario que haya accedido anteriormente al sistema y no haya salido aún. También devolverá denied
si el parámetro de acceso solo para administradores está activado y el usuario no lo es.
logout: Registra la salida de un usuario de la aplicación para que vuelva a estar permitido el acceso a otros usuarios.
browse: Se debe de utilizar en todas las páginas de la aplicación externa, ya que comprueba si éste usuario sigue siendo el último que ha accedido o ha sido expulsado de la aplicación.
exclude: Expulsa al usuario registrado actualmente y registra el acceso de otro que hayamos enviado en el parámetro de id_usuario.
- <dirección_ip_aplicación>
IP de la aplicación desde la que se está accediendo. Se registró y se comprueba en la auditoría de pandorafms para comprobar el estado de acceso de los usuarios en la aplicación.
- <nombre_aplicación>
Nombre de la aplicación desde la que se está accediendo. Se registró y se comprueba en la auditoría de Pandora FMS para comprobar el estado de acceso de los usuarios en la aplicación.
- <acceso_solo_administradores>
Prohibe el acceso de usuarios no administradores.
Ejemplo (requiere entorno adaptado)
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=access_process&other=1|login|192.168.50.25|external_app|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set create_event_response
Crea una nueva respuesta de evento.
op=set
(obligatorio).op2=create_event_response
(obligatorio).return_type=csv
óreturn_type=json
(uno de los dos, obligatorio).other=
< parámetros serializados > (todos obligatorios). En este orden:- < nombre >
- < descripción >
- < objetivo > Si el cuarto parámetro (< tipo >) es
command
, aquí hay que indicar el comando que se quiere que ejecute la respuesta al evento. En cambio, si esurl
, se debe indicar la URL (target) a la que se desea acceder como respuesta al evento. - < tipo >
command
óurl
. - < id del grupo > El usuario deberá tener permisos sobre el grupo indicado.
- < ancho de la ventana modal > En píxeles (ver < nueva ventana >).
- < alto de la ventana modal > En píxeles (ver < nueva ventana >).
- < nueva ventana >
1
ó0
. Indica si la URL se muestra en una ventana nueva (1
) o sobre una ventana modal (0
). - < command timeout > Tiempo para esperar una respuesta en segundos.
- < parámetros > Parámetros que complementan la ejecución del comando.
- < id servidor > Identificador del servidor donde se desea que se ejecute el comando. Para la consola local el valor es
0
.
Ejemplo (vea sintaxis de la llamada):
…/include/api.php?op=set&op2=create_event_response&other=response|description response|touch|command|0|650|400|0|response|0|90&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_event_response
Edita una respuesta de evento existente. El usuario debe de tener permisos sobre el grupo al que pertenece la respuesta para poder editarla.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= update_event_response (obligatorio)
- return_type=csv|json (obligatorio)
- id =<id de la respuesta de eventos> (obligatorio)
- other=<parámetros serializados> (opcionales). En este orden:
- <nombre>
- <descripción>
- <target> Si el cuarto parámetro (<tipo>) es command, aquí hay que indicar el comando que se quiere que ejecute la respuesta al evento. En cambio, si es url, se debe indicar la URL a la que se desea acceder como respuesta al evento.
- <tipo> command o url.
- <id del grupo> El usuario deberá tener permisos sobre el grupo indicado.
- <ancho de la ventana modal> En píxeles.
- <alto de la ventana modal> En píxeles.
- <nueva ventana> 1 o 0. Indica si la URL se muestra en una ventana nueva (1) o sobre una ventana modal (0).
- <command timeout> Respuesta en segundos.
- <parámetros> Parámetros que complementan la ejecución del comando.
- <servidor> Id del servidor donde se desea que se ejecute el comando. Para la consola local el valor es 0.
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=update_event_response&id=5&other=response|description response|touch|command|0|650|400|0|response|0|90&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_event_response
Borra una respuesta de evento. El usuario debe de tener permisos sobre el grupo al que pertenece la respuesta para poder borrarla.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=delete_event_reponse (obligatorio)
- return_type=csv|json
- id=<id de la respuesta de eventos> (obligatorio)
Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=delete_event_response&id=7&apipass=1234&user=admin&pass=pandora
set create_user_profile_info
Crea un nuevo perfil de usuario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_user_profile_info (obligatorio)
- return_type=csv|json (obligatorio)
- other=<parámetros serializados> En este orden:
- <nombre> (obligatorio)
- <bits de acceso» 1 si se quiere activar el bit y 0 en caso contrario. No son obligatorios pero si no se especifica ningún valor se marcará el bit como no activo. En este orden:
AR|AW|AD|LW|LM|UM|DM|ER|EW|EM|RR|RW|RM|MR|MW|MM|VR|VW|VM|PM
Para saber que permisos debemos activar, visite este enlace.
Ejemplos
Este ejemplo crea un perfil que da un acceso de solo lectura a Pandora FMS, es decir, es igual que el perfil predefinido Operator (read).
http://localhost/pandora_console/include/api.php?op=set&op2=create_user_profile_info&return_type=json&other=API_profile|1|0|0|1|0|0|0|0|0|0|1|0|0|1|0|0|1|0|0|1|0|0|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_user_profile_info
Actualiza nuevo perfil de usuario existente.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_user_profile_info (obligatorio)
- other=<parámetros serializados> (todos opcionales) En este orden:
- <nombre>
- <bits de acceso» 1 si se quiere activar el bit y 0 si se quiere deshabilitar. Si no se especifica ningún valor, no cambiará. En este orden:
AR|AW|AD|LW|LM|UM|DM|ER|EW|EM|RR|RW|RM|MR|MW|MM|VR|VW|VM|PM
Para saber que permisos debemos activar, visite este enlace.
Ejemplos
En este ejemplo se cambia el nombre del perfil con ID 6 a API_profile_updated y se le dan todos los permisos (lectura, escritura y gestión) en lo relacionado a agentes y se elimina el permiso de lectura de eventos.
http://localhost/pandora_console/include/api.php?op=set&op2=update_user_profile_info&return_type=json&id=6&other=API_profile_updated||||1|1|1|||||0||||||||||||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_user_profile_info
Borra un perfil de usuario. También elimina todas las asignaciones de ese perfil a cualquier usuario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=delete_user_profile_info (obligatorio)
- return_type=csv|json
- id =<id del perfil> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=delete_user_profile_info&return_type=json&id=8&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set create_event_filter
Crea un filtro de evento.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= create_event_filter (obligatorio)
- other=<parámetros serializados>. En este orden:
- <id_group_filter>
- <id_group>
- <event_type [new_agent|alert_recovered|alert_ceased|alert_fired|configuration_change|error|alert_manual_valdation|critical|normal|warning|not_normal|recon_host_detected|system|unknown|going_unknown]>
- <severity [0|1|2|3|4|5|6|20|21|34]> (0: Mantenimiento, 1: Informativo, 2: Normal, 3: Advertencia, 4: Crítico, 5: Menor, 6: Principal, 20: No normal, 21: Crítico/Normal, 34: Advertencia/Crítico)
- <event_status [2|3|0|1]> (0: Solo nuevos, 1: Solo validados, 2: Solo en proceso, 3: Solo no validados)
- <free_search>
- <agent_id>
- <pagination_size [25|50|100|200|500]>
- <max_hours_old>
- <id_user_ack>
- <duplicate [0|1]> (0: Todos los eventos, 1: Eventos agrupados)
- <date_from> (formato: AAAA/MM/DD)
- <date_to> (formato: AAAA/MM/DD)
- <events_with_tags> (formato:
["id_etiqueta_1","id_etiqueta_2", "id_etiqueta3", "…"]
)
- <events_without_tags> (formato:
["id_etiqueta_1","id_etiqueta_2", "id_etiqueta3", "…"]
)
- <alert_events [0|1]> (0: filtrar por eventos de alertas, 1: Solo eventos de alertas)
- <module_id>
- <source>
- <id_extra>
- <user_comment>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_event_filter&id=test&other=||error|4|||1||12|||2018-12-09|2018-12-13|["6"]|["10","6","3"]|1|10|||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_event_filter
Actualiza un filtro de evento.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=update_event_filter (obligatorio)
- id=<event_filter_id> (obligatorio) debe ser un id de filtro de evento existente.
- other=<parámetros serializados> (opcionales). En este orden:
- <id_group_filter>
- <id_group>
- <event_type [new_agent|alert_recovered|alert_ceased|alert_fired|configuration_change|error|alert_manual_valdation|critical|normal|warning|not_normal|recon_host_detected|system|unknown|going_unknown]>
- <severity [0|1|2|3|4|5|6|20|21|34]> (0: Mantenimiento, 1: Informativo, 2: Normal, 3: Advertencia, 4: Crítico, 5: Menor, 6: Principal, 20: No normal, 21: Crítico/Normal, 34: Advertencia/Crítico)
- <event_status [2|3|0|1]> (0: Solo nuevos, 1: Solo validados, 2: Solo en proceso, 3: Solo no validados)
- <free_search>
- <agent_id>
- <pagination_size [25|50|100|200|500]>
- <max_hours_old>
- <id_user_ack>
- <duplicate [0|1]> (0: Todos los eventos, 1: Eventos agrupados)
- <date_from> (formato: AAAA/MM/DD)
- <date_to> (formato: AAAA/MM/DD)
- <events_with_tags> (formato:
["id_etiqueta_1","id_etiqueta_2", "id_etiqueta3", "…"]
)
- <events_without_tags> (formato:
["id_etiqueta_1","id_etiqueta_2", "id_etiqueta3", "…"]
)
- <alert_events [0|1]> (0: filtrar por eventos de alertas, 1: Solo eventos de alertas)
- <module_id>
- <source>
- <id_extra>
- <user_comment>
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_event_filter&id=195&other=new_name|||alert_recovered|||||||||||||||||&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_event_filter
Borra un filtro de evento.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= delete_event_filter (obligatorio)
- id =<event_filter_id> (obligatorio) debe ser un id de filtro de evento existente.
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_event_filter&id=38&apipass=1234&user=admin&pass=pandora
get all_event_filters
Devuelve la lista de filtros de eventos existentes.
Sintaxis de la llamada:
- op=get (obligatorio)
- op2= all_event_filters (obligatorio)
- other=cvs_separator (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_event_filters&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
set create_inventory_module
Crea un nuevo módulo de inventario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= create_inventory_module (obligatorio)
- return_type=csv|json
- other=<parámetros serializados> En este orden:
- <nombre> (obligatorio)
- <descripción» (obligatorio pero puede ser vacío)
- <id sistema operation» (obligatorio). Id numérico de la tabla tconfig_os
- <intérprete» (obligatorio aunque puede ser vacío). Si el intérprete es vacío se interpreta que solo es un módulo de inventario local.
- <código» (obligatorio pero puede ser vacío) Script que tiene que ejecutarse para obtener los datos de inventario. Debe pasarse en base64.
- <formato de los datos» (obligatorio) Cabecera de los datos extraídos (separados por ;).
- <modo block» (obligatorio) 1 o 0.
Ejemplo
Este ejemplo crea módulo llamado OS de inventario que recoge los datos kernel-name y nodename de un sistema Linux.
http://localhost/pandora_console/include/api.php?op=set&op2=create_inventory_module&return_type=json&other=OS|OS_name_description|1|/bin/bash|IyEvYmluL2Jhc2gKZWNobyB1bmFtZSAtbiAtcw==|kernelname;nodename|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set update_inventory_module
Actualiza un módulo de inventario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= update_inventory_module (obligatorio)
- id=id del módulo de inventario (obligatorio)
- return_type=csv|json
- other=<parámetros serializados> En este orden:
- <nombre> (obligatorio)
- <descripción» (obligatorio pero puede ser vacío)
- <id sistema operation» (obligatorio). Id numérico de la tabla tconfig_os
- <intérprete» (obligatorio aunque puede ser vacío). Si el intérprete es vacío se interpreta que solo es un módulo de inventario local.
- <código» (obligatorio pero puede ser vacío) Script que tiene que ejecutarse para obtener los datos de inventario. Debe pasarse en base64.
- <formato de los datos» (obligatorio) Cabecera de los datos extraídos (separados por ;).
- <modo block» (obligatorio) 1 o 0.
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=update_inventory_module&return_type=json&id=42&other=OS_easy|OS_name_description|1|/bin/bash|IyEvYmluL2Jhc2gKZWNobyB1bmFtZSAtbiAtcw==|kernelname;nodename|0&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_inventory_module
Borra un perfil de usuario. También elimina todas las asignaciones de ese perfil a cualquier usuario.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= delete_inventory_module (obligatorio)
- return_type=csv|json
- id =<id del módulo de inventario> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=delete_inventory_module&return_type=json&id=42&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set create_collection
Crea una colección.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= create_collection (obligatorio)
- other=<valores serializados> (obligatorio) Valores serializados para crear la colección:
- <name>
- <short_name>
- <id_group>
- <description>
Es necesario acompañarlo con 'other_mode' de la siguiente manera: other_mode=url_encode_separator_<separador> para pasar el separador de los valores serializados de other.
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=create_collection&other=test_plugin|test_p|0|test&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
set delete_collection
Elimina una colección.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=delete_collection (obligatorio)
- id=id_collection (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=delete_collection&id=15&apipass=1234&user=admin&pass=pandora
set enable_disable_discovery_task
Habilita o deshabilita una tarea en Discovery Task list.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= enable_disable_discovery_task (obligatorio)
- id=identificador de la tarea (obligatorio)
- other = 1 para deshabilitar y 0 para habilitar
Ejemplos
http://localhost/pandora_console/include/api.php?op=set&op2=enable_disable_discovery_task&id=1&other=1&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=
set create_module_policy_json
Agrega un Módulo a la política objetivo por medio de una definición hecha en formato JSON.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2=create_module_policy_json (obligatorio)
- id=policy id (obligatorio)
- other=JSON codificado en base64 con la definición del módulo. Campos posibles (pseudo formato JSON):
{ name: <value>, // mandatory id_module: <value>, // mandatory id_tipo_modulo: <value>, // mandatory configuration_data: <value>, description: <value>, unit: <value>, max: <value>, min: <value>, module_interval: <value>, ip_target: <value>, tcp_port: <value>, tcp_send: <value>, tcp_rcv: <value>, snmp_community: <value>, snmp_oid: <value>, id_module_group: <value>, flag: <value>, disabled: <value>, id_export: <value>, plugin_user: <value>, plugin_pass: <value>, plugin_parameter: <value>, id_plugin: <value>, post_process: <value>, prediction_module: <value>, max_timeout: <value>, max_retries: <value>, custom_id: <value>, history_data: <value>, min_warning: <value>, max_warning: <value>, str_warning: <value>, min_critical: <value>, max_critical: <value>, str_critical: <value>, min_ff_event: <value>, custom_string_1: <value>, custom_string_2: <value>, custom_string_3: <value>, custom_integer_1: <value>, custom_integer_2: <value>, pending_delete: <value>, critical_instructions: <value>, warning_instructions: <value>, unknown_instructions: <value>, critical_inverse: <value>, warning_inverse: <value>, id_category: <value>, module_ff_interval: <value>, quiet: <value>, cron_interval: <value>, macros: <value>, disabled_types_event: { "going_unknwon": 1, // Disable going unknown events. }, module_macros: <value>, min_ff_event_normal: <value>, min_ff_event_warning: <value>, min_ff_event_critical: <value>, ff_type: <value>, each_ff: <value>, ff_timeout: <value>, dynamic_interval: <value>, dynamic_max: <value>, dynamic_min: <value>, dynamic_next: <value>, dynamic_two_tailed: <value>, prediction_sample_window: <value>, prediction_samples: <value>, prediction_threshold: <value>, cps: <value>, }
Ejemplos
En formato JSON antes de convertir a base64:
{ "id_tipo_modulo": 1, "id_modulo": 10, "name": "sample module", "description": "Module created by API", "configuration_data": "module_begin\nmodule_name sample module\nmodule_type generic_data\nmodule_exec echo 1\nmodule_end", "min_warning": 2, "max_warning": 5, "min_critical": 5, "max_critical": 7 }
Una vez codificado en base64:
http://localhost/pandora_console/include/api.php?op=set&op2=create_module_policy_json&id=1&other=ewogICJpZF90aXBvX21vZHVsbyI6IDEsCiAgImlkX21vZHVsbyI6IDEwLAogICJuYW1lIjogInNhbXBsZSBtb2R1bGUiLAogICJkZXNjcmlwdGlvbiI6ICJNb2R1bGUgY3JlYXRlZCBieSBBUEkiLAogICJjb25maWd1cmF0aW9uX2RhdGEiOiAibW9kdWxlX2JlZ2luXG5tb2R1bGVfbmFtZSBzYW1wbGUgbW9kdWxlXG5tb2R1bGVfdHlwZSBnZW5lcmljX2RhdGFcbm1vZHVsZV9leGVjIGVjaG8gMVxubW9kdWxlX2VuZCIsCiAgIm1pbl93YXJuaW5nIjogMiwKICAibWF4X3dhcm5pbmciOiA1LAogICJtaW5fY3JpdGljYWwiOiA1LAogICJtYXhfY3JpdGljYWwiOiA3Cn0K&apipass=pandora&user=admin&pass=pandora
set update_module_policy_json
Actualiza la definición de un Módulo existente de la política objetivo por medio de una definición hecha en formato JSON.
Sintaxis de la llamada:
- op=set (obligatorio)
- op2= update_module_policy_json (obligatorio)
- id = policy id (obligatorio)
- other =JSON codificado en base64 con la definición del módulo. Campos posibles (pseudo formato JSON):
{ name: <value>, // mandatory id_module: <value>, // mandatory id_tipo_modulo: <value>, // mandatory configuration_data: <value>, description: <value>, unit: <value>, max: <value>, min: <value>, module_interval: <value>, ip_target: <value>, tcp_port: <value>, tcp_send: <value>, tcp_rcv: <value>, snmp_community: <value>, snmp_oid: <value>, id_module_group: <value>, flag: <value>, disabled: <value>, id_export: <value>, plugin_user: <value>, plugin_pass: <value>, plugin_parameter: <value>, id_plugin: <value>, post_process: <value>, prediction_module: <value>, max_timeout: <value>, max_retries: <value>, custom_id: <value>, history_data: <value>, min_warning: <value>, max_warning: <value>, str_warning: <value>, min_critical: <value>, max_critical: <value>, str_critical: <value>, min_ff_event: <value>, custom_string_1: <value>, custom_string_2: <value>, custom_string_3: <value>, custom_integer_1: <value>, custom_integer_2: <value>, pending_delete: <value>, critical_instructions: <value>, warning_instructions: <value>, unknown_instructions: <value>, critical_inverse: <value>, warning_inverse: <value>, id_category: <value>, module_ff_interval: <value>, quiet: <value>, cron_interval: <value>, macros: <value>, disabled_types_event: { "going_unknwon": 1, // Disable going unknown events. }, module_macros: <value>, min_ff_event_normal: <value>, min_ff_event_warning: <value>, min_ff_event_critical: <value>, ff_type: <value>, each_ff: <value>, ff_timeout: <value>, dynamic_interval: <value>, dynamic_max: <value>, dynamic_min: <value>, dynamic_next: <value>, dynamic_two_tailed: <value>, prediction_sample_window: <value>, prediction_samples: <value>, prediction_threshold: <value>, cps: <value>, }
Ejemplos
En formato JSON antes de convertir a base64:
{ "id_tipo_modulo": 1, "id_modulo": 1, "name": "nombre editado", "description": "Module created by API", "configuration_data": "module_begin\nmodule_name sample module\nmodule_type generic_data\nmodule_exec echo 1\nmodule_end", "min_warning": 3, "max_warning": 6, "min_critical": 6, "max_critical": 8 }
Una vez codificado en base64:
http://localhost/pandora_console/include/api.php?op=set&op2=update_module_policy_json&id=1&id2=43&other=ewogICJpZF90aXBvX21vZHVsbyI6IDEsCiAgImlkX21vZHVsbyI6IDEsCiAgIm5hbWUiOiAibm9tYnJlIGVkaXRhZG8iLAogICJkZXNjcmlwdGlvbiI6ICJNb2R1bGUgY3JlYXRlZCBieSBBUEkiLAogICJjb25maWd1cmF0aW9uX2RhdGEiOiAibW9kdWxlX2JlZ2luXG5tb2R1bGVfbmFtZSBzYW1wbGUgbW9kdWxlXG5tb2R1bGVfdHlwZSBnZW5lcmljX2RhdGFcbm1vZHVsZV9leGVjIGVjaG8gMVxubW9kdWxlX2VuZCIsCiAgIm1pbl93YXJuaW5nIjogMywKICAibWF4X3dhcm5pbmciOiA2LAogICJtaW5fY3JpdGljYWwiOiA2LAogICJtYXhfY3JpdGljYWwiOiA4Cn0K&apipass=pandora&user=admin&pass=pandora
set event_custom_id
Para establecer un identificador personalizado en un evento.
op=get
(obligatorio).op2=set
(obligatorio).id=
< id_evento > (obligatorio, valor numérico).id2=
< id_personalizado_de_evento > (obligatorio, valor alfanumérico).other=
< id_nodo > Si se ejecuta en Command Center (Metaconsola), el identificador de nodo. Valor por defecto0
(Command Center).
Ejemplo (véase sintaxis de la llamada):
…/include/api.php?op=set&op2=event_custom_id&id=110&id2=9999&apipass=1234&user=admin&pass=pandora
Ejemplo para un nodo en Command Center:
…/include/api.php?op=set&op2=event_custom_id&id=3831949&id2=Test123&other=1&apipass=1234&user=admin&pass=pandora
Ejemplos
Distintos ejemplos simples de llamada al API en distintos lenguajes.
Ejemplo
http://127.0.0.1/pandora5/include/api.php?apipass=1234&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_|&other=2|2|0|0|0|2000-01-01 01:01:01|0|666|aaa|bbb|ccc
PHP
<?php $ip = '192.168.70.110'; $pandora_url = '/pandora5'; $apipass = '1234'; $user = 'admin'; $password = 'pandora'; $op = 'get'; $op2 = 'all_agents'; $return_type = 'csv'; $other = ''; $other_mode = ''; $url = "http://" . $ip . $pandora_url . "/include/api.php"; $url .= "?"; $url .= "apipass=" . $apipass; $url .= "&user=" . $user; $url .= "&pass=" . $password; $url .= "&op=" . $op; $url .= "&op2=" . $op2; if ($id !== '') { $url .= "&id=" . $id; } if ($id2 !== '') { $url .= "&id2=" . $id2; } if ($return_type !== '') { $url .= "&return_type=" . $return_type; } if ($other !== '') { $url .= "&other_mode=" . $other_mode; $url .= "&other=" . $other; } $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, $url); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curlObj); curl_close($curlObj); $agents = array(); if (!empty($result)) { $lines = explode("\n", $result); foreach ($lines as $line) { $fields = explode(";", $line); $agent = array(); $agent['id_agent'] = $fields[0]; $agent['name'] = $fields[1]; $agent['ip'] = $fields[2]; $agent['description'] = $fields[3]; $agent['os_name'] = $fields[4]; $agent['url_address'] = $fields[5]; $agents[] = $agent; } } print_list_agents($agents); function print_list_agents($agents) { echo "<table border='1' style='empty-cells: show;'>"; echo "<thead>"; echo "<tr>"; echo "<th>" . "ID" . "</th>"; echo "<th>" . "Name" . "</th>"; echo "<th>" . "IP" . "</th>"; echo "<th>" . "Description" . "</th>"; echo "<th>" . "OS" . "</th>"; echo "<th>" . "URL" . "</th>"; echo "</tr>"; echo "</thead>"; foreach ($agents as $agent) { echo "<tr>"; echo "<td>" . $agent['id_agent'] . "</td>"; echo "<td>" . $agent['name'] . "</td>"; echo "<td>" . $agent['ip'] . "</td>"; echo "<td>" . $agent['description'] . "</td>"; echo "<td>" . $agent['os_name'] . "</td>"; echo "<td>" . $agent['url_address'] . "</td>"; echo "</tr>"; } echo "</table>"; } ?>
Python
import pycurl import cStringIO import pprint def main(): ip = '192.168.70.110' pandora_url = '/pandora5' apipass = '1234' user = 'admin' password = 'pandora' op = 'get' op2 = 'all_agents' return_type = 'csv' other = '' other_mode = '' url = "http://" ip pandora_url "/include/api.php" url = "?" url = "apipass=" apipass url = "&user=" user url = "&pass=" password url = "&op=" op url = "&op2=" op2 buf = cStringIO.StringIO() c = pycurl.Curl() c.setopt(c.URL, url) c.setopt(c.WRITEFUNCTION, buf.write) c.perform() output = buf.getvalue() buf.close() lines = output.split("\n") agents = [] for line in lines: if not line: continue fields = line.split(";") agent = {} agent['id_agent'] = fields[0] agent['name'] = fields[1] agent['ip'] = fields[2] agent['description'] = fields[3] agent['os_name'] = fields[4] agent['url_address'] = fields[5] agents.append(agent) for agent in agents: print("---- Agent #" agent['id_agent'] " ----") print("Name: " agent['name']) print("IP: " agent['ip']) print("Description: " agent['description']) print("OS: " agent['os_name']) print("URL: " agent['url_address']) print("") if __name__ == "__main__": main()
Perl
use strict; use warnings; use WWW::Curl::Easy; sub write_callback { my ($chunk,$variable) = @_; push @{$variable}, $chunk; return length($chunk); } my $ip = '192.168.70.110'; my $pandora_url = '/pandora5'; my $apipass = '1234'; my $user = 'admin'; my $password = 'pandora'; my $op = 'get'; my $op2 = 'all_agents'; my $return_type = 'csv'; my $other = ''; my $other_mode = ''; my $url = "http://" . $ip . $pandora_url . "/include/api.php"; $url .= "?"; $url .= "apipass=" . $apipass; $url .= "&user=" . $user; $url .= "&pass=" . $password; $url .= "&op=" . $op; $url .= "&op2=" . $op2; my @body; my $curl = WWW::Curl::Easy->new; $curl->setopt(CURLOPT_URL, $url); $curl->setopt(CURLOPT_WRITEFUNCTION, \&write_callback); $curl->setopt(CURLOPT_FILE, \@body); $curl->perform(); my $body=join("",@body); my @lines = split("\n", $body); foreach my $line (@lines) { my @fields = split(';', $line); print("\n---- Agent #" . $fields[0] . " ----"); print("\nName: " . $fields[1]); print("\nIP: " . $fields[2]); print("\nDescription: " . $fields[3]); print("\nOS: " . $fields[4]); print("\n"); }
Ruby
require 'open-uri' ip = '192.168.70.110' pandora_url = '/pandora5' apipass = '1234' user = 'admin' password = 'pandora' op = 'get' op2 = 'all_agents' return_type = 'csv' other = '' other_mode = '' url = "http://" ip pandora_url "/include/api.php" url = "?" url = "apipass=" apipass url = "&user=" user url = "&pass=" password url = "&op=" op url = "&op2=" op2 agents = [] open(url) do |content| content.each do |line| agent = {} tokens = line.split(";") agent[:id_agent] = tokens[0] agent[:name] = tokens[1] agent[:ip] = tokens[2] agent[:description] = tokens[3] agent[:os_name] = tokens[4] agent[:url_address] = tokens[5] agents.push agent end end agents.each do |agent| print("---- Agent #" (agent[:id_agent] || "") " ----\n") print("Name: " (agent[:name] || "") "\n") print("IP: " (agent[:ip] || "") "\n") print("Description: " (agent[:description] || "") "\n") print("OS: " (agent[:os_name] || "") "\n") print("URL: " (agent[:url_address] || "") "\n") print("\n") end
Lua
require("curl") local content = "" function WriteMemoryCallback(s) content = content .. s return string.len(s) end ip = '192.168.70.110' pandora_url = '/pandora5' apipass = '1234' user = 'admin' password = 'pandora' op = 'get' op2 = 'all_agents' return_type = 'csv' other = '' other_mode = '' url = "http://" .. ip .. pandora_url .. "/include/api.php" url = url .. "?" url = url .. "apipass=" .. apipass url = url .. "&user=" .. user url = url .. "&pass=" .. password url = url .. "&op=" .. op url = url .. "&op2=" .. op2 if curl.new then c = curl.new() else c = curl.easy_init() end c:setopt(curl.OPT_URL, url) c:setopt(curl.OPT_WRITEFUNCTION, WriteMemoryCallback) c:perform() for line in string.gmatch(content, "[^\n] ") do line = string.gsub(line, "\n", "") count = 0 for field in string.gmatch(line, "[^\;] ") do if count == 0 then print("---- Agent #" .. field .. " ----") end if count == 1 then print("Name: " .. field) end if count == 2 then print("IP: " .. field) end if count == 3 then print("Description: " .. field) end if count == 4 then print("OS: " .. field) end if count == 5 then print("URL: " .. field) end count = count 1 end print("") end
Brainfuck
[-]>[-]<> [< >-]<-.> [< >-]<----.> [< >-]<---.> [<---->-]< .> [< >-]< . -.> [<-------->-]<--.> [<--->-]<---.> [< >-]< . .> [<-------->-]<-----.> [< >-]<----. . --.> [<--->-]<.> [< >-]<.> [<>-]< .> [<-->-]<-.> [<--------->-]< .> [< >-]<---. .> [<--------->-]< .> [< >-]< .> [<---->-]<.> [< >-]<.> [<--->-]< .> [< >-]<-.> [<--------->-]< .> [< >-]< .> [<--->-]<--. ----.> [< >-]<-. . -.> [<--------->-]< .> [< >-]<-.> [<---->-]<.> [< >-]<.> [<---->-]<-.> [<-------->-]<-.> [< >-]< .> [<--->-]< . . .> [< >-]<---.> [<-->-]<--. .> [<-------->-]<---.> [<--->-]<---.> [< >-]<-.> [<--->-]<--.> [< >-]<---. ---.> [<--------->-]< .> [< >-]< .> [<----->-]< .> [< >-]< .> [<--->-]< .> [<-------->-]<-----.> [< >-]<----.> [< >-]<-.> [<---->-]<--.> [<>-]<.> [< >-]<--. .> [<--------->-]<--.> [< >-]< .> [< >-]< .> [<--->-]<. . --.> [< >-]<--.> [<>-]<.> [<--->-]< .> [<>-]< .> [<-->-]<-. .> [<-------->-]<-----.
Java (Android)
Puede ver nuestro proyecto (Pandroid Event Viewer) en Repositorio SVN de Pandroid Event Viewer source code en GitHub pero aquí esta el trozo de código más importante que realiza la llamada al API para sacar los eventos.
/** * Performs an http get petition. * * @param context * Application context. * @param additionalParameters * Petition additional parameters * @return Petition result. * @throws IOException * If there is any problem with the connection. */ public static String httpGet(Context context, List<NameValuePair> additionalParameters) throws IOException { SharedPreferences preferences = context.getSharedPreferences( context.getString(R.string.const_string_preferences), Activity.MODE_PRIVATE); String url = preferences.getString("url", "") "/include/api.php"; String user = preferences.getString("user", ""); String password = preferences.getString("password", ""); String apiPassword = preferences.getString("api_password", ""); if (url.length() == 0 || user.length() == 0) { return ""; } ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>(); parameters.add(new BasicNameValuePair("user", user)); parameters.add(new BasicNameValuePair("pass", password)); if (apiPassword.length()> 0) { parameters.add(new BasicNameValuePair("apipass", apiPassword)); } parameters.addAll(additionalParameters); Log.i(TAG, "sent: " url); if (url.toLowerCase().contains("https")) { // Secure connection return Core.httpsGet(url, parameters); } else { HttpParams params = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(params, CONNECTION_TIMEOUT); HttpConnectionParams.setSoTimeout(params, CONNECTION_TIMEOUT); DefaultHttpClient httpClient = new DefaultHttpClient(params); UrlEncodedFormEntity entity; HttpPost httpPost; HttpResponse response; HttpEntity entityResponse; String return_api; httpPost = new HttpPost(url); entity = new UrlEncodedFormEntity(parameters); httpPost.setEntity(entity); response = httpClient.execute(httpPost); entityResponse = response.getEntity(); return_api = Core .convertStreamToString(entityResponse.getContent()); Log.i(TAG, "received: " return_api); return return_api; } }
Extensión de nuevas llamadas en el API
Para desarrollar nuevas llamadas para el API tiene que tener en cuenta que:
- La llamada tiene que estar inscrita como una función en el fichero:
<instalación Pandora Console>/include/functions_api.php
- La función tendrá la siguiente estructura: El prefijo
api
, el tipo de llamadaget
, set ohelp
(según si se leen datos, se escriben datos o se obtiene ayuda) y el nombre de la llamada, intentando ser coherente con la operación, por ejemplo:
function api_get_[nombre_llamada](parametros)
- La función puede no tener parámetros, pero si los tiene, los parámetros recibidos serán los siguientes y en el mismo orden:
id
: Primer operador o parámetro, contiene un string.id2
: Segundo operador o parámetro, contiene un string.other
: Resto de operadores o parámetros, contenido como un array de dos posiciones:$other['type']
: Que puede ser string o array.$other['data']
: Que será un string con el parámetro o un array de índices numéricos con los parámetros pasados.
- returnType: String que especifica el tipo de retorno que tendrá la llamada. En principio es transparente para usted, pero puede usarlo o modificarlo si fuese necesario.
Nuevas llamadas en el API desde las extensiones de Pandora FMS
Es posible crear nuevas llamadas del API sin utilizar …/include/functions_api.php
. La forma de hacerlo es añadiendo en el directorio de una extensión de Pandora FMS un fichero con el siguiente nombre:
<nombre_de_la_extensión>.api.php
y dentro de este fichero crear las funciones deseadas con las mismas consideraciones de la API estándar pero con el prefijo api.extensión
en lugar de api
.
Por ejemplo, teniendo una extensión llamada module_groups
con la ruta:
<instalación de Pandora>/extensions/module_groups
Usted debe crear un fichero llamado module_groups.api.php
en este directorio. En este fichero estarán las funciones deseadas, por ejemplo una función para obtener el número de módulos de un grupo. Esta función debe tener un nombre parecido a: apiextension_get_groupmodules
.
Ejemplo de función
En esta función se han usado funciones imaginarias.
function apiextension_get_groupmodules($group_name) { $group_id = group_id_from_name($group_name); if($group_id == false) { echo 'Group doesnt exist'; return; } $number_of_modules = group_modules($group_id); echo $number_of_modules; }
Ejemplo de llamada
En esta llamada se obtiene el número de módulos del grupo Servers
:
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=extension&ext_name=module_groups&ext_function=groupmodules&id=Servers&apipass=1234&user=admin&pass=pandora
Funciones API
Las siguientes funciones las puede usar en el código de la función de su llamada :
- returnError(typeError, returnType): Devuelve un error de manera uniforme para todas las llamadas.
- typeError: De momento 'id_not_found' o null.
- returnType: De momento 'string' o mensaje de error.
- returnData(returnType, data, separator): Es la función que devuelve los datos de la llamada del API.
- returnType: Que puede ser 'string', 'csv', 'csv_head'
- data: Es un array que contiene los datos asi como su formato, tiene los siguientes campos:
- 'type' (obligatorio): Que puede ser 'string' y 'array'.
- 'list_index' (opcional): Contiene un array de índices numéricos conteniendo los índices alfanuméricos que se desean sacar por salida.
- 'data' (obligatorio): Contiene o un string con el dato o un array de índice alfanuméricos o numéricos con los datos.
Ejemplo
function api_get_module_last_value($idAgentModule, $trash1, $other = ';', $returnType) { $sql = sprintf('SELECT datos FROM tagente_estado WHERE id_agente_modulo = %d', $idAgentModule); $value = get_db_value_sql($sql); if ($value === false) { switch ($other['type']) { case 'string': switch ($other['data']) { case 'error_message': default: returnError('id_not_found', $returnType); break; } break; case 'array': switch ($other['data'][0]) { case 'error_value': returnData($returnType, array('type' => 'string', 'data' => $other['data'][1])); break; } break; } } else { $data = array('type' => 'string', 'data' => $value); returnData($returnType, $data); } }
Futuro del API.php
Algunas ideas para el futuro del api.php son:
- Ampliar el conjunto de llamadas del API.
- Devolver y recoger valores en xml, json…
- Aumentar las securización de las llamadas para entornos inseguros.
- Integrar con estándares de terceras herramientas.
Retorno
Cuando la API deniega el acceso, será devuelta una simple cadena de texto auth error
.
Ejemplos
En esta documentación se utiliza 1234
para la contraseña del API, el nombre de usuario es admin
y la contraseña es pandora
.
.../include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora
Condiciones de acceso:
- La dirección IP de origen está en la lista de ACL (o se utiliza
*
para ello). - La contraseña de la API no está establecida o es
1234
. - El usuario
admin
existe y su contraseña de usuario espandora
.
API checker
Acceda desde el menú de Administración: Admin tools → API checker.
Versión 768 o posterior: Se puede autenticar con API Token por medio de el envío en las cabeceras HTTP de un bearer token generado por cada usuario y para su propio uso privado y particular. Consulte “Editar mi usuario” para más detalles.
Flujo de trabajo del sistema de seguridad
A partir de la versión 4.0.2, la API tiene algunas mejoras en el manejo de la seguridad. Esto se implementa ahora gracias a tres elementos:
- Filtrado IP. Sólo las IP's listadas podrán acceder a la API.
- Password global para la API, si se define, es obligatorio usarla en todas las llamadas.
- Usuario y password válido en la consola. Se utilizarán sus permisos para cada operación solicitada.
Esto se explica en el siguiente workflow: