Pandora:Documentation es:Anexo API external

From Pandora FMS Wiki

Jump to: navigation, search

Volver a Indice de Documentacion Pandora FMS

Contents

API externa de Pandora FMS

La API externa de Pandora FMS se utiliza haciendo llamadas remotas (via HTTP) 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 su aplicación usará para realizar operaciones.

Una llamada al API.php es tan fácil como:

http://<instalación Pandora Console>/include/api.php<parametros>

El API sólo puede recibir los siguientes parámetros:

  • op (obligatorio): es el primer parámetro. Especifica la naturaleza de la operación que puede ser "get" o "set" o "help:
  • get: devuelve un valor o valores
  • set: envía un valor o valores
  • help: devuelve una pequeña ayuda de las llamadas
  • op2 (obligatorio): la llamada en sí con un nombre explicativo de sobre que actua.
  • id (opcional): primer parámetro de la llamada.
  • id2 (opcional): segundo parámetro de la llamada.
  • other (opcional): tercer parámetro de la llamada, algunas veces puede ser un lista de valores serializados.
  • other_mode (opcional): formato de la serialización. Lista de valores posibles:
  • url_encode: el valor de other es un alfanumérico formateado como UrlEncode.
  • url_encode_separator_<separador>: el valor sera una lista de valores serializados con el carácter separador por ejemplo
...other=peras|melones|sandias&other_mode=url_encode_separator_|
  • returnType (opcional): formato de retorno del valor o valores. Los valores disponibles actuales son:
  • string: devuelve el valor tal cual como un alphanumerico.
  • 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 con "csv", salvo que añade una primera fila con los nombres de los campos a retornar

Seguridad

Actualmente, la seguridad se basa en una lista de IPs que tendrán acceso a la herramienta. Y se podrá configurar como se ve en la imagen, en las opciones de configuración de Pandora Console.

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.



Screnshot of api acl list setup.png



También se puede establecer una password para realizar las acciones del API.

Para establecer la password hay que seguir los siguientes pasos:

  • apipass: Password del Api que se configura desde la consola. Desde la siguiente vista de configuración (Administration>Setup>):


Api password.png



Nota: Antes de la versión 4.0.2, este parámetro era pass

Para acceder a las acciones de la API, también es necesario proporcionar un usuario y password válidos en el sistema Pandora FMS.

  • user: Usuario de Pandora FMS válido
  • pass: La contraseña del usuario proporcionado

Nota: Las llamadas a la API llevan las contraseñas sin codificar. Por lo que se debería tener cuidado y emplear conexiones SSL para evitar que se puedan ver en la red. La API admite peticiones via POST para poder cifrarlas cuando se usa SSL/HTTPS.

Retorno

Cuando la API denega el acceso, será devuelta una simple cadena de texto "auth error".

Ejemplos

En este caso, se está utilizando la password del API 1234 y se está accediendo con el usuario admin y la password pandora.

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=plugins&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

Condiciones de acceso:

  • La IP de origen está en la lista de ACLs
  • La password de la API no está establecida o es 1234
  • El usuario admin existe y su password es pandora

Workflow 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:



API access.svg



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 llamada "get", "set" o "help" (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_extension>.api.php y dentro de este fichero crear las funciones deseadas con las mismas consideraciones de la API estándar pero con el prefijo "apiextension" en lugar de "api".


Por ejemplo, teniendo una extensión llamada "module_groups" con la ruta <instalación de Pandora>/extensions/module_groups debemos 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 retorna 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);
	}
}

Llamadas al 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.

RETORNO DE INFORMACIÓN

Devuelve la versión de Pandora Console, de un modo parecido a la función get test pero sin chequear la conexión al 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 v5.0 - PC131015

GET

Devuelve los datos solicitados.

get test

Chequea la conexión al API y devuelve la versión del Pandora Console.

Esta característica esta en Metaconsole.


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,v4.0.2,PC120614

get all_agents

Devuelve la lista de agentes filtrados por los filtros seteados en other.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=all_agents (obligatorio)
  • return_type= csv o json (obligatorio)
  • other=<parámetros serializados> (opcional) parámetros para filtrar la búsqueda de agentes, serializados:
  • <filter_so>
  • <filter_group>
  • <filter_module_states>
  • <filter_alias>
  • <filter_policy>
  • <csv_separator>
Ejemplos

Este ejemplo devolverá todos los agentes cuyo id_so sea igual a 1, id_group igual a 2, estado de warning, su alias contenga 'j', y su política asociada tenga id igual a 2.

Ejemplo para CSV: http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_agents&return_type=csv&other=1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
Ejemplo para JSON: http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_agents&return_type=json&other=1&other_mode=url_encode_separator_%7C&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 tu 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 modulo agente.
  • other=<retorno error> (opcional) que quieres que te devuelva si hay un error (no encontrado en DB el modulo normalmente).
  • Códigos de retorno de error son:
  • 'error_message' devuelve error en un mensaje de texto.
  • 'error_value'<separador><código o valor&gt 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%7C0&other_mode=url_encode_separator_%7C&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 tu aplicación detecte este valor fuera del rango de valores que puede ser el módulo.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=module_last_value (obligatorio)
  • id=<alfanumerico> (obligatorio) contiene el nombre del agente.
  • id2=<alfanumerico> (obligatorio) contiene el nombre del modulo.
  • other=<retorno error> (opcional) que quieres que te devuelva si hay un error (no encontrado en DB el modulo normalmente).
  • Códigos de retorno de error son:
  • 'error_message' devuelve error en un mensaje de texto.
  • 'error_value'<separador><código o valor&gt 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=miguel-portatil&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 tu aplicación detecte este valor fuera del rango de valores que puede ser el módulo.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=module_last_value_alias (obligatorio)
  • id=<alfanumerico> (obligatorio) contiene el alias del agente.
  • id2=<alfanumerico> (obligatorio) contiene el nombre del modulo.
  • other=<retorno error> (opcional) que quieres que te devuelva si hay un error (no encontrado en DB el modulo normalmente).
  • Códigos de retorno de error son:
  • 'error_message' devuelve error en un mensaje de texto.
  • 'error_value'<separador><código o valor&gt 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

Devuelve una lista de agentes y el valor para el módulo, este módulo lo tienen todos los agentes y es pasado el nombre como parámetro id.


Síntaxis de la llamada:

  • op=get (obligatorio)
  • op2=module_value_all_agents (obligatorio)
  • id=<name of the module> (obligatorio) contiene el nombre del módulo.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_value_all_agents&id=example_module_name&apipass=1234&user=admin&pass=pandora

get agent_modules

Devuelve la lista de módulos de un agente filtrado por el id del agente pasado como parámetro id.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=agent_modules (obligatorio)
  • return_type=<csv> (obligatorio) Formato de salida.
  • other=<valores serializados> (obligatorio) Valores serializados para filtrar la búsqueda de módulos por agente:
  • <id_agent>

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_modules&return_type=csv&other=14&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

get module_id

Devuelve la id de un modulo concreto de un agente.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=module_id (obligatorio)
  • id= id del agente (obligatorio)
  • other=nombre del modulo (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=module_id&id=5&other=Host%20Alive&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&gt (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?api.php?op=get&op2=locate_agent&return_type=csv&id=Pepito&other_mode=url_encode_separator_%7C

get policies

Devuelve la lista políticas de un agente pasado su id dentro del parámetro other.

Síntaxis 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_%7C&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 parametro other.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=tree_agents (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 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 en "other_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 estandar 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&gt : 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
  • agent_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=;%7C%20%7Ctype_row,group_id,agent_name&other_mode=url_encode_separator_%7C&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=;%7C604800%7C20121201T13:40%7C20171215T13:40&other_mode=url_encode_separator_%7C&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. Es necesario pasar el ancho, alto, periodo, nombre de la gráfica y fecha de comienzo (sabiendo que en Pandora 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%7C555%7C245%7Cpepito%7C2009-12-07&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

get events

Devuelve la lista de eventos filtrados por el parámetro other.

Esta característica esta en Metaconsole.


Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=events (obligatorio)
  • return_type=csv (obligatorio)
  • other_mode=url_encode_separator_| (opcional)
  • other=<parámetros serializados> (opcional), son los siguientes en este orden:
  • <separator>
  • <criticity> de 0 a 4, o -1 como valor para evitar el parámetro
  • <agent alias>
  • <module name>
  • <alert template name>
  • <user>
  • <numeric interval minimum level > en formato de tiempo unix
  • <numeric interval maximum level > en formato de tiempo unix
  • <status>
  • <event substring>
  • <register limit>
  • <offset register>
  • <optional style [total|more_criticity]> (total - retorna el total, more_criticity - retorna los de mayor criticidad)
  • <event type> unknown, alert_fired, alert_recovered,.. o subcadena. Puedes usar 'not_normal'.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=events&return_type=csv&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=events&other_mode=url_encode_separator_%7C&return_type=csv&other=;%7C2%7CSERVER%7CCPU%7Ctemplate_alert00%7C%7C1274715715%7C127471781&apipass=1234&user=admin&pass=pandora

get all_alert_templates

Devuelve la lista de plantillas de alertas definidas en el Pandora.

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.

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 tags definida en Pandora.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=tags (obligatorio)
  • return_type=csv (obligatorio)
Ejemplos

Este ejemplo devolverá todos los tags del sistema.

http://localhost/pandora_console/include/api.php?op=get&op2=tags&return_type=csv&apipass=1234&user=admin&pass=pandora

get module_from_conf

>= 5.0 (Sólo Enterprise)

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&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.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=total_modules (obligatorio)
  • id=<id grupo> (obligatorio)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=total_modules&id=2&apipass=1234&user=admin&pass=pandora


Si se pone 0 como id de grupo, retornará el número total de módulos.

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)
Ejemplos
http://localhost/pandora_console/include/api.php?op=get&op2=agent_alias&id=1&apipass=1234&user=admin&pass=pandora

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 event_info

Devuelve toda la información de un evento pasando el id de este evento.

Esta característica esta en Metaconsole.


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 que hay.

call syntax:

  • 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) ????
  • modulos en ejecucion
  • modulos totales
  • max retardo (seg)
  • modulos de retraso
  • hilos
  • modulos en cola
  • fecha y hora de actualizacion (cadena legible por humanos)

get custom_field_id

>= 5.0

Traduce el nombre de un campo custom al id que tiene en la base de datos.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=custom_field_id (obligatorio)
  • other=<parámetros serializados> (obligatorio) en este caso el nombre del custom field
  • <name> (obligatorio)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=get&op2=custom_field_id&other=mycustomfield&other_mode=url_encode_separator_%7C&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://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_%7C&other=2%7C2%7C0%7C0%7C0%7C2000-01-01+01%3A01%3A01%7C0%7C666%7Ccaca%7Cpis%7Cmierda

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 modulo. La lista podria ser filtrada por el parametro.

Sintaxis de la llamada:

  • op=get (obligatorio)
  • op2=module_properties (obligatorio)
  • id=<id_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 parametros en orden y separados con el caracter separador, vemos los dos casos:
  • <separador> el separador si del 'csv'
  • <separador csv>|<caracter sustitucion de retorno de carro>|<campos 1>,<campos 2>,<campos N> se compondra de los siguientes parametros en orden (el caracter '|' de separacion se puede especificar en "other_mode"):
  • <separador csv>: separador de los campos en el CSV.
  • <caracter sustitucion de retorno de carro>: caracter que sustituira si encuentra en algun valor devuelto el caracter retorno de carro para evitar la ambiguedad con el uso estandar de retorno de carro para especificar registros/filas en el CSV. Si se pasa un string en other, el caracter sustituto es el espacio en blanco.
  • <campos 1>,<campos 2>,<campos N&gt : 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=;%7C%20%7Cmodule_id_agent_module,module_id_module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

get module_properties_by_name

>= 5.1SP2

Devuelve una lista de las propiedades del modulo. La lista podria ser filtrada por el parametro.

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 parametros 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=;%7C%20%7Cmodule_id_agent_module,module_id_module_type,module_type,module_name,module_last_try,module_state&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

get module_properties_by_alias

>= 7.0NG

Devuelve una lista de las propiedades del modulo. La lista podria ser filtrada por el parametro.

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 parametros serializados> (opcional) en este caso puede ser simplemente el separador o una lista de parametros 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_alias&id=pandorafms&id2=Memory_Used&return_type=csv&other=;&apipass=1234&user=admin&pass=pandora

get module_graph

>= 6.0

Devuelve una gráfica de un módulo codificada con 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.
Ejemplo
http://localhost/pandora_console/include/api.php?op=get&op2=module_graph&id=5&other=3600%7C1&other_mode=url_encode_separator_%7C&apipass=1234&api=1&user=admin&pass=pandora

get all_planned_downtimes

>= 5.1

Devuelve todas las registros coincidentes de paradas planificadas.

op=get op2=all_planned_downtimes return_type=csv other=<nombre> <id_grupo> <tipo_parada> <tipo ejecución> <tipo de periocidad> (filtros)


Ejemplo

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test%7C0%7Cquiet%7Cperiodically%7Cweekly &other_mode=url_encode_separator_|&return_type=json

OR

http://127.0.0.1/pandora_console/include/api.php?op=get&op2=all_planned_downtimes&other=test%7C0%7Cquiet%7Cperiodically%7Cweekly &other_mode=url_encode_separator_|&return_type=csv

get planned_downtimes_items

>= 5.1

Retorna todos los objetos de las paradas planificadas que sean coincidentes.

op=get op2=planned_downtimes_items return_type=csv other=<nombre> <grupo> <tipo_parada> <tipo ejecución> <tipo de periocidad>


Ejemplo

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_items&other=test%7C0%7Cquiet%7Cperiodically%7Cweekly &other_mode=url_encode_separator_|&return_type=json

O

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_items&other=test%7C0%7Cquiet%7Cperiodically%7Cweekly &other_mode=url_encode_separator_|&return_type=csv

get id_group_agent_by_name

>= 5.1

Retorna 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_%7C&other=192.168.50.40

get id_group_agent_by_alias

>= 7.0NG

Retorna 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_%7C&other=pandorafms

get group_agent_by_name

>= 5.1

Retorna 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_%7C&other=192.168.50.40

get group_agent_by_alias

>= 7.0NG

Retorna 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_%7C&other=pandorafms

SET

Envia los datos.

set new_agent

Crea un nuevo agente con los datos pasados como parámetros.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=new_agent (obligatorio)
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del agente, serializados en el siguiente orden:
  • <alias_agente>
  • <ip>
  • <id_parent>
  • <id_group>
  • <cascade_protection>
  • <cascade_protection_module>
  • <interval_sec>
  • <id_os>
  • <name_server>
  • <custom_id>
  • <learning_mode>
  • <disabled>
  • <description>
  • <alias_as_name>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_agent&other=agente_alias%7C1.1.1.1%7C0%7C4%7C0%7C0%7C300%7C10%7Cpandorafms%7C8%7C10%7C%7Cla%20descripcion%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
  • Nota: Si alias_as_name es un 1, el nombre del agente será igual al alias. Si es un 0, el nombre del agente se generará automáticamente.

set update_agent

Actualiza el agente con los datos pasados como parámetros.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=new_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>
  • <ip>
  • <id_parent>
  • <id_group>
  • <cascade_protection>
  • <cascade_protection_module>
  • <interval_sec>
  • <id_os>
  • <name_server>
  • <custom_id>
  • <learning_mode>
  • <disabled>
  • <description>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_agent&other=agente_nombre%7C1.1.1.1%7C0%7C4%7C0%7C0%7C30%7C8%7Clocalhost.localdomain%7C%7C0%7C0%7Cla%20descripcion&other_mode=url_encode_separator_%7C&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.
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%7C10&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set create_network_module

Crea un módulo de red con los datos pasados como parámetros.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=create_network_module (obligatorio)
  • id=<nombre_agente> (obligatorio) debe ser un nombre agente.
  • other=<parámetros serializados> (obligatorio) 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> (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>".
  • <each_ff> (solo version 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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_network_module&id=pepito&other=prueba%7C0%7C7%7C1%7C10%7C15%7C0%7C16%7C18%7C0%7C15%7C0%7C127.0.0.1%7C0%7C%7C0%7C180%7C0%7C0%7C0%7C0%7Clatency%20ping&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set create_plugin_module

Crea un módulo de tipo plugin con los datos pasados como parámetros.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=create_plugin_module (obligatorio)
  • id=<nombre_agente> (obligatorio) debe ser un nombre agente.
  • other=<parámetros serializados> (obligatorio) 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>
  • <id_plugin>
  • <plugin_user>
  • <plugin_pass>
  • <plugin_parameter>
  • <enable_unknown_events> (solo versión 5)
  • <macros> (solo versión 5) Los valores deben estar en formato JSON codificado en base 64. 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 a "1" para ocultar el valor del macro (útil para almacenar contraseñas).
Ejemplo
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1",
   "hide": ""
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80",
   "hide": ""
 }
}
  • <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>".
  • <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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_plugin_module&id=pepito&other=prueba%7C0%7C1%7C2%7C0%7C0%7C%7C0%7C0%7C%7C0%7C0%7C127.0.0.1%7C0%7C%7C0%7C300%7C0%7C0%7C0%7C0%7Cplugin%20module%20from%20api%7C4%7C2%7Cadmin%7Cpass%7C-p%20max&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set create_data_module

Crea un módulo con los parámetros pasados.

Template warning.png

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

 


Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=create_data_module (obligatorio)
  • id=<nombre_agente> (obligatorio) debe ser un nombre agente.
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del modulo, 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> (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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_data_module&id=pepito&other=prueba%7C0%7C1%7Cdata%20module%20from%20api%7C1%7C10%7C20%7C10.50%7C180%7C10%7C15%7C%7C16%7C20%7C%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set create_SNMP_module

Crea un módulo SNMP.

Sintaxis de la llamada:

  • 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 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>
  • <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> (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)
Ejemplos

Ejemplo 1 (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)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_snmp_module&id=pepito&other=prueba%7C0%7C15%7C1%7C10%7C15%7C%7C16%7C18%7C%7C15%7C0%7C127.0.0.1%7C60%7C3%7Cpublic%7C.1.3.6.1.2.1.1.1.0%7C180%7C0%7C0%7C0%7C0%7CSNMP%20module%20from%20API%7CAES%7Cexample_priv_passw%7CauthNoPriv%7CMD5%7Cpepito_user%7Cexample_auth_passw&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

Ejemplo 2 (snmp v: 1)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_snmp_module&id=pepito1&other=prueba2%7C0%7C15%7C1%7C10%7C15%7C%7C16%7C18%7C%7C15%7C0%7C127.0.0.1%7C60%7C1%7Cpublic%7C.1.3.6.1.2.1.1.1.0%7C180%7C0%7C0%7C0%7C0%7CSNMP module from API&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.

Sintaxis de la llamada:

  • op=set (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> (obligatorio) 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>
  • <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> (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>".
  • <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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_network_module&id=3431&other=44%7C0%7C6%7C2%7C10%7C15%7C%7C16%7C18%7C%7C7%7C0%7C127.0.0.1%7C0%7C%7C0%7C300%7C30.00%7C0%7C0%7C0%7Clatency%20ping%20modified%20by%20the%20Api&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set update_plugin_module

Actualiza la configuración de un módulo plugin.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=update_plugin_module (obligatorio)
  • id=<nombre_modulo> (obligatorio) debe ser el ID numérico del módulo a actualizar (tagente_modulo)
  • other=<parámetros serializados> (obligatorio) 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>
  • <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> (solo versión 5)
  • <macros> (solo versión 5) Los valores deben estar en formato JSON codificado en base 64. 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
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1"
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80"
 }
}
  • <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>".
  • <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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_plugin_module&id=2343&other=44%7C0%7C2%7C0%7C0%7C%7C0%7C0%7C%7C0%7C0%7C127.0.0.1%7C0%7C%7C0%7C300%7C0%7C0%7C0%7C0%7Cplugin%20module%20from%20api%7C2%7Cadmin%7Cpass%7C-p%20max&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set update_data_module


Template warning.png

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.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=update_data_module_policy (obligatorio)
  • id=<id_agent_module> (obligatorio) debe ser el ID numérico del modulo a actualizar.
  • other=<parámetros serializados> (obligatorio) 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>
  • <ff_threshold>
  • <history_data>
  • <ip_target>
  • <module_port>
  • <snmp_community>
  • <snmp_oid>
  • <module_interval>
  • <post_process>
  • <min_value>
  • <max_value>
  • <custom_id>
  • <description>
  • <disabled_types_event> (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)
  • <critical_inverse> (solo versión 6.0SP1)
  • <warning_inverse> (solo versión 6.0SP1)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_data_module&id=23234&other=44%7C0%7Cdata%20module%20modified%20from%20API%7C6%7C0%7C0%7C50.00%7C300%7C10%7C15%7C%7C16%7C18%7C%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set update_data_module_policy

Actualiza el modulo de datos de una política y devuelve el id del nuevo modulo.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=update_data_module (obligatorio)
  • id=<id_agent_module> (obligatorio) debe ser el ID numérico de la politica del modulo.
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del modulo, serializados en el siguiente orden:
  • <id_policy_module>
  • <description>
  • <id_module_group>
  • <min>
  • <max>
  • <post_process>
  • <module_interval>
  • <min_warning>
  • <max_warning>
  • <min_critical>
  • <max_critical>
  • <str_critical>
  • <history_data>
  • <configuration_data>
  • <disabled_types_event> (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>".
Ejemplos
http://127.0.0.1/pandora_console/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%0dmodule_name%20pandora_process%0dmodule_type%20generic_data%0dmodule_exec%20ps%20aux%20%7C%20grep%20pandora%20%7C%20wc%20-l%0dmodule_end&other_mode=url_encode_separator_

set update_SNMP_module

Actualiza un módulo SNMP.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=update_snmp_module (obligatorio)
  • id=<id_module> (obligatorio) debe ser un ID numérico de módulo.
  • other=<parámetros serializados> (obligatorio) 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>
  • <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> (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)
Ejemplos

Example (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)

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_snmp_module&id=33432&other=44%7C0%7C6%7C20%7C25%7C%7C26%7C30%7C%7C15%7C1%7C127.0.0.1%7C60%7C3%7Cpublic%7C.1.3.6.1.2.1.1.1.0%7C180%7C50.00%7C10%7C60%7C0%7CSNMP%20module%20modified%20by%20API%7CAES%7Cexample_priv_passw%7CauthNoPriv%7CMD5%7Cpepito_user%7Cexample_auth_passw&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set apply_policy

Aplica la política pasada por su id en el parámetro id.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=apply_policy (obligatorio)
  • id=<id_policy> (obligatorio) debe ser el Id de la política.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=apply_policy&id=1&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 id en el parámetro.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=add_network_module_policy (obligatorio)
  • id=<id_politica> (obligatorio) debe ser un Id de política
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del modulo, 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> (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>".
  • <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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_network_module_policy&id=1&other=network_module_policy_example_name%7C6%7Cnetwork%20module%20created%20by%20Api%7C2%7C0%7C0%7C50.00%7C180%7C10%7C20%7C%7C21%7C35%7C%7C1%7C15%7C0%7C66%7C%7C%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set add_plugin_module_policy

Añade un módulo de plugin en la política pasada por id en el parámetro.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=add_plugin_module_policy (obligatorio)
  • id=<id_politica> (obligatorio) debe ser un Id de política.
  • other=<parámetros serializados> (obligatorio) 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>
  • <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> (solo versión 5)
  • <macros> (solo versión 5) Los valores deben estar en formato JSON codificado en base 64. 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
{
 "1": {
   "macro": "_field1_",
   "desc": "Target IP",
   "help": "",
   "value": "192.168.0.1"
 },
 "2": {
   "macro": "_field2_",
   "desc": "Port",
   "help": "",
   "value": "80"
 }
}
  • <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>".
  • <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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_plugin_module_policy&id=1&other=example%20plugin%20module%20name%7C0%7C1%7C2%7C0%7C0%7C%7C0%7C0%7C%7C15%7C0%7C66%7C%7C%7C300%7C50.00%7C0%7C0%7C0%7Cplugin%20module%20from%20api%7C2%7Cadmin%7Cpass%7C-p%20max&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

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 politica.
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del modulo, 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)
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%20module%20created%20by%20Api~2~0~0~50.00~10~20~180~~21~35~~1~module_begin%0dmodule_name%20pandora_process%0dmodule_type%20generic_data%0dmodule_exec%20ps%20aux%20%7C%20grep%20pandora%20%7C%20wc%20-l%0dmodule_end&other_mode=url_encode_separator_~&apipass=1234&user=admin&pass=pandora

set add_SNMP_module_policy

Añade un módulo SNMP en la política pasada por id en el parámetro.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=add_snmp_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 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>
  • <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> (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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_snmp_module_policy&id=1&other=example%20SNMP%20module%20name%7C0%7C15%7C2%7C0%7C0%7C%7C0%7C0%7C%7C15%7C1%7C66%7C3%7Cpublic%7C.1.3.6.1.2.1.1.1.0%7C180%7C50.00%7C10%7C60%7C0%7CSNMP%20module%20modified%20by%20API%7CAES%7Cexample_priv_passw%7CauthNoPriv%7CMD5%7Cpepito_user%7Cexample_auth_passw&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set add_agent_policy

Añade un agente en una política.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=add_agent_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 agente, serializados en el siguiente orden:
  • <id_agent>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_agent_policy&id=1&other=167&other_mode=url_encode_separator_%7C&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)


Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_network_component&id=example_network_component_name&other=7%7Cnetwork%20component%20created%20by%20Api%7C300%7C30%7C10%7Cpublic%7C3%7C%7C1%7C10%7C20%7Cstr%7C21%7C30%7Cstr1%7C10%7C50.00%7C12&other_mode=url_encode_separator_%7C&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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_plugin_component&id=example_plugin_component_name&other=2%7Cplugin%20component%20created%20by%20Api%7C300%7C30%7C10%7C66%7C3%7C2%7Cexample_user%7Cexample_pass%7C-p%20max%7C%7C1%7C10%7C20%7Cstr%7C21%7C30%7Cstr1%7C10%7C50.00%7C12&other_mode=url_encode_separator_%7C&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_auth_pass>
  • <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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_snmp_component&id=example_snmp_component_name&other=16%7CSNMP%20component%20created%20by%20Api%7C300%7C30%7C10%7C3%7C%7C1%7C10%7C20%7Cstr%7C21%7C30%7Cstr1%7C15%7C50.00%7C3%7C.1.3.6.1.2.1.2.2.1.8.2%7Cpublic%7Cexample_auth_user%7Cexample_auth_pass%7C66%7CAES%7Cexample_priv_pass%7CMD5%7CauthNoPriv%7C12&other_mode=url_encode_separator_%7C&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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_local_component&id=example_local_component_name&other=local%20component%20created%20by%20Api~5~12~module_begin%0dmodule_name%20example_local_component_name%0dmodule_type%20generic_data%0dmodule_exec%20ps%20%7C%20grep%20pid%20%7C%20wc%20-l%0dmodule_interval%202%0dmodule_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=<nombre_template> (obligatorio) será el nombre del template creado.
  • other=<parámetros serializados> (obligatorio) son la configuración y datos del template, serializados en el siguiente orden:
  • <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>
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=pepito&other=regex%7Ctemplate%20based%20in%20regexp%7C1%7C%7C%7C%7Cpp%7C1%7C%7C%7C%7C10%7C0%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C3&other_mode=url_encode_separator_%7C&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%7Ctemplate%20based%20in%20range%7CNULL%7C%7C%7C%7C%7C%7C10%7C5%7C%7C%7C%7C00:00:00%7C15:00:00%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C%7C4%7C2&other_mode=url_encode_separator_%7C&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>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_alert_template&id=38&other=example_template_with_changed_name%7Conchange%7Cchanging%20from%20min_max%20to%20onchange%7C%7C%7C%7C%7C%7C1%7C%7C%7C%7C5%7C1%7C%7C%7C1%7C1%7C0%7C1%7C1%7C0%7C0%7C1%7Cfield%20recovery%20example%201%7Cfield%20recovery%20example%202%7C1%7C8&other_mode=url_encode_separator_%7C&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 modulos.

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 modulos.

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)
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

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.

Sintaxis de llamada:

  • op=set (obligatorio)
  • op2=new_user (obligatorio)
  • id=<user_name> (obligatorio) será el nombre de usuario.
  • other=<parametros serializados> (obligatorio) son los datos del usuario, serializados en el siguiente orden:
  • <fullname>
  • <firstname>
  • <lastname>
  • <middlename>
  • <password>
  • <email>
  • <phone>
  • <languages>
  • <comments>
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_user&id=md&other=miguel%7Cde%20dios%7Cmatias%7Ckkk%7Cpandora%7Cmd@md.com%7C666%7Ces%7Cdescripcion%20y%20esas%20cosas&other_mode=url_encode_separator_%7C&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%7C%7Cexample_lastname%7C%7Cexample_new_passwd%7Cexample_email%7C%7Cexample_language%7Cexample%20comment%7C1%7C30%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set delete_user

Borra un usuario seleccionado.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=delete_user (obligatorio)
  • id=<nombre_usuario> (obligatorio) debe ser un nombre usuario.
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_user&id=md&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_%7C&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_%7C&apipass=1234&user=admin&pass=pandora

set create_group

Crea un nuevo grupo.

Call syntax:

  • 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)
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%7C2&other_mode=url_encode_separator_%7C&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%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set update_group

Actualiza el grupo con los datos pasados como parametros.

Call syntax:

  • 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>
Ejemplos
 http://127.0.0.1/pandora_console/include/api.php?op=set&op2=update_group&id=example_group_id&other=New%20Name%7Capplication%7C2%7Cnew%20description%7C1%7C0%7Ccustom%20id%7C%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set delete_group

>= 6

Eliminar un grupo

Call syntax:

  • 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%7C4&other_mode=url_encode_separator_%7C&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%7C4&other_mode=url_encode_separator_%7C&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%7Cdescripcion%20texto%7CLogfiles%7C2%7C10%7C12&other_mode=url_encode_separator_%7C&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%20nota%20para%20la%20incidencia&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 esta en Metaconsole.


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
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=event_validate_filter&other_mode=url_encode_separator_%7C&other=;%7C2&apipass=1234&user=admin&pass=pandora

set event_validate_filter_pro

Es igual que la anterior.

Esta característica esta en Metaconsole.


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_%7C&other=;%7C2&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)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=new_alert_template&id=miguel-portatil&id2=test&other_mode=url_encode_separator_%7C&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_| (opcional)
  • other=<parámetros serializados> (obligatorio), son los siguientes en este orden:
  • <nombre modulo> (obligatorio)
  • <nombre acción> (obligatorio)
  • <fires min > (opcional)
  • <fires max > (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=miguel-portatil&id2=test&other_mode=url_encode_separator_%7C&other=memfree%7Ctest&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=alert_actions&id=miguel-portatil&id2=test&other_mode=url_encode_separator_%7C&other=memfree%7Ctest%7C1%7C3&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)
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_%7C&other=remote_tcp_string%7Clocalhost%7C33%7Cdescripcion%20larga&apipass=1234&user=admin&pass=pandora

set delete_module

Borra un módulo.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=delete_module (obligatorio)
  • id=<nombre del agente> (obligatorio)
  • id2=<nombre del modulo> (obligatorio)
  • other=simulate (opcional)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module&id=miguel-portatil&id2=juanito&other=simulate&apipass=1234&user=admin&pass=pandora
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=delete_module&id=miguel-portatil&id2=juanito&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=garfio&id2=Status&other=Warning%20condition&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=garfio&id2=Status&other=Warning%20condition&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)


Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module_alerts&id=garfio&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)


Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module_alerts&id=garfio&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)


Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=enable_module&id=garfio&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)


Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=disable_module&id=garfio&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)


Ejemplo
http://localhost/pandora_console/include/api.php?op=set&op2=create_network_module_from_component&id=garfio&id2=OS Total process&apipass=1234&user=admin&pass=pandora

set module_data

Añade un nuevo valor al módulo.

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_%7C&other=123%7Cnow&apipass=1234&user=admin&pass=pandora

set add_module_in_conf

>= 5.0 (Sólo Enterprise)

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&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

>= 5.0 (Sólo Enterprise)

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

>= 5.0 (Sólo Enterprise)

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 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=update_module_in_conf&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.

Esta característica esta en Metaconsole.


Sintaxis de la llamada:

  • 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:
  • <event_text> (obligatorio)
  • <id_group> (obligatorio)
  • <id_agent> (obligatorio)
  • <status>
  • <id_user>
  • <event_type>
  • <severity>
  • <id_agent_module>
  • <id_alert_am>
  • <critical_instructions>
  • <warning_instructions>
  • <unknown_instructions>
  • <comment>
  • <source>
  • <tags>
  • <custom_data> Los datos personalizados se introducen como un documento JSON codificado en base 64.
  • <server_id> El nodo de la consola hija (solo para metaconsola).
Ejemplos
http://127.0.0.1/pandora_trunk/include/api.php?op=set&op2=create_event&other=NewEvent%7C0%7C189%7C%7Capiuser%7Csystem%7C1%7C%7C%7C%7C%7C%7C%7C%7CVMware%7C%7CeyJBbnN3ZXIgdG8gdGhlIFVsdGltYXRlIFF1ZXN0aW9uIG9mIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOiA0Mn0=&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

set add_event_comment

>= 5.1

Añade un comentario acerca del evento

Esta característica esta en Metaconsole.


Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=add_event_comment (obligatorio)
  • other=<serialized_parameters> (obligatorio) son la configuración y datos del evento, serializados en el siguiente orden:
  • <comment> (obligatorio)
Ejemplos
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_event_comment&id=event_id&other=string&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

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%20name%7C9%7Chost%20192.168.50.3%20OR%20host%20192.168.50.4%20or%20HOST%20192.168.50.6%7Cdstport%7Ckilobytes&other_mode=url_encode_separator_%7C

set create_custom_field

>= 5.0

Crea un nuevo campo custom.

Sintaxis de la llamada:

  • op=set (obligatorio)
  • op2=create_custom_field (obligatorio)
  • other=<parámetros serializados> (obligatorio) parámetros para configurar el custom field
  • <name> (obligatorio)
  • <flag_display_front> (obligatorio; 0 no se mostrará en la vista de operación, 1 si se mostrará)
Ejemplo
http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_custom_field&other=mycustomfield%7C0&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora

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%7Ctag_description%7Ctag_url%7Ctag_email&other_mode=url_encode_separator_%7C&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_%7C&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_%7C&apipass=1234&user=admin&pass=pandora

set gis_agent_only_position

>= 5.0

Añade solo la posicion 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
Ejemplo
http://127.0.0.1/pandora5/include/api.php?apipass=caca&user=admin&pass=pandora&op=set&op2=gis_agent_only_position&id=582&other_mode=url_encode_separator_%7C&other=2%7C1%7C0

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 posicion
  • <end_timestamp> tiempo de finalización de la anterior
  • <number_of_packages> numero 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=caca&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_%7C&other=2%7C2%7C0%7C0%7C0%7C2000-01-01+01%3A01%3A01%7C0%7C666%7Caaa%7Cbbb%7Cccc


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_%7C&other=2014-05-03%7CSunday%7Cdesc%7C0

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_%7C&other=2014-05-03%7CSunday%7Cdesc%7C0


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_%7C&other=122%7C3

set tag

>= 6

Añade un tag a tu pandora.

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_%7C&other="un test"|http://www.artica.es%7Ctest@artica.es%7C01189998819991197253

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>;
Ejemplo

http://127.0.0.1/pandora_console/include/api.php?op=set&op2=planned_downtimes_created&id=pepito&other=testing |08/04/2015|08/31/2015|0|1|1|1|1|1|1|1|17:06:00|19:06:00|1|31|quiet|periodically|weekly &other_mode=url_encode_separator_|

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&id=123&other=1;2;3;4%7CStatus;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 &id=10

set create_synthetic_module

>=5.1SP4

Crea un módulo sintetico:

  • op=set
  • op2=create_synthetic_module
  • id=Nombre del agente a añadir el módulo
  • 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 modulo sin operador : AgentName;NameModule. Si es un valor: <Operation;Value>. El resto de valores irian 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

&other=Test|arithmetic|Agent%20Name;Module%20Name|Agent%20Name2; ADD;Module%20Name2&other_mode=url_encode_separator_| OR http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_synthetic_module&id=pepito&other=prueba%7Caverage%7CAgent%20Name;AVG; Name%20Module|Agent%20Name2;AVG;Name%20Module2&other_mode=url_encode_separator_|

Ejemplos

Distintos ejemplos simples de llamada al API en distintos lenguajes.

Ejemplo
http://127.0.0.1/pandora5/include/api.php?apipass=caca&user=admin&pass=pandora&op=set&op2=gis_agent&id=582&other_mode=url_encode_separator_%7C&other=2%7C2%7C0%7C0%7C0%7C2000-01-01+01%3A01%3A01%7C0%7C666%7Caaa%7Cbbb%7Cccc


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)

Puedes ver nuestro proyecto (Pandroid Event Viewer) en Repositorio SVN de Pandroid Event Viewer source code en SourceForge pero aquí esta el trozo de código mas 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;
		}
	}

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.

Volver a Indice de Documentacion Pandora FMS