API SOAP OpMon

 

Objetivo

Descrever sobre as funcionalidades disponíveis na API SOAP do OpMon.

Público alvo

Administradores da plataforma OpMon que necessitam fazer integração entre sistemas que utilizam o protocolo SOAP e o OpMon.

Sobre o SOAP

SOAP (Simple Object Access Protocol) é um protocol de comunicação baseado em XML que permite a comunicação de mensagens entre aplicações via HTTP.

Utilização

O acesso descritivo da interface SOAP OpMon pode ser feito pela url:

https://[servidor]/opmon/ws

O arquivo WSDL pode ser acessado em:

https://[servidor]/opmon/ws/index.php?wsdl

Toda a execução de método deve ser feita de forma autenticada utilizando um usuário existente no sistema OpMon.

Funcionalidades

soap_opmon_export

Descrição: Este WebServices é capaz de executar o export das configurações do opmon.

Parâmetros: nenhum.

Retorno: string no formato json indicando sucesso.

soap_clone_host

Descrição: Este WebServices é utilizado para criar hosts no OpMon utilizando um outro como base.

Parâmetros:

src_hostname (string): Nome do host que será utilizado como base;

dst_hostname (string): Nome que o host clone irá assumir;

dst_host_description (string): Descrição que o host clone irá assumir;

dst_host_address (string): Endereço (FQDN/IP) que o host clone irá assumir.

Retorno: string no formato json indicando sucesso.

Exceções:

Caso alguns dos parâmetros não for informado uma exception é lançada;

Caso o usuário utilizado não seja opmonadmin uma exception é lançada;

Caso o opmon não consiga alocar recursos para clonar o host uma exception é lançada.

soap_delete_host

Descrição: Este WebServices tem como finalidade deletar um host da plataforma OpMon.

Parâmetros:

hostname_or_id (string): Nome ou ID do host que o usuário deseja deletar.

Retorno: string no formato json indicando sucesso.

Exceções:

Caso o usuário utilizado não seja opmonadmin uma exception é lançada;

Caso o host não seja encontrado no OpMon uma exception é lançada.

soap_create_host_from_template

Descrição: Este WebServices é utilizado para criar hosts no OpMon utilizando um template como base.

Parâmetros:

template_name (string): Nome do template que será utilizado como base;

dst_hostname (string): Nome que o novo host irá assumir;

dst_host_description (string): Descrição que o novo host irá assumir;

dst_host_address (string): Endereço (FQDN/IP) que o novo host irá assumir.

Retorno: string no formato json indicando sucesso.

Exceções:

Caso alguns dos parâmetros não for informado uma exception é lançada;

Caso o usuário utilizado não seja opmonadmin uma exception é lançada;

Caso o host ja exista no monitoramento uma exception é lançada;

Caso o template não seja encontrado no OpMon uma exception é lançada;

Caso o opmon não consiga alocar recursos para clonar o host uma exception é lançada;

get_host_services_status

Descrição: Status de host e serviços.

Parâmetros:

host_name (string) : nome do host (obrigatório).

Retorno:

Objeto formatado em json contendo os serviços do host, seus estados e dados de performance.

soap_get_hosts_by_services

Descrição: Retorna todos os hosts e serviços do sistema.

Parâmetros: Nenhum.

Retorno:

Objeto formatado em json contendo todos os hosts e seus serviços.

soap_get_hostgroups

Descrição: Retorna todos os grupos de hosts e seus membros.

Parâmetros: Nenhum.

Retorno: Objeto formatado em json contendo todos os grupos de hosts e seus membros.

soap_get_servicegroups

Descrição: Retorna todos os grupos de serviços e seus membros.

Parâmetros: Nenhum.

Retorno: Objeto formatado em json contendo todos os grupos de serviços e seus membros.

soap_add_scheduled_downtime

Descrição: Adiciona uma parada agendada.

Parâmetros:

id (string): Id do host/serviço (host_id!service_id)/hostgroup_id/servicegroup_id (obrigatório);

comment (string) : Comentário (obrigatório);

start_time (int) : Data inicial em formato unix timestamp (obrigatório);

end_time (int): Data final em formato unix timestamp (obrigatório);

type (int): 1 = fixa, 0 = flexível (padrão = 1);

child_hosts (int): 0 = ignora, 1 = agenda uma parada programada, 2 = agenda uma parada não programada (padrão: 0);

triggered_by (int): downtime_id (padrão: vazio);

hour_duration (int): Duração em horas caso tipo seja flexível (padrão: 2);

minute_duration (int): Duração em minutos caso tipo seja flexível (padrão: 0);

force_utf8 (booleano): Força encodificação utf8 (padrão: false);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0).

Retorno: Objeto formatado em json contendo o status da operação.

soap_add_scheduled_downtimes

Descrição: Adiciona uma parada agendada em múltiplos elementos.

Parâmetros:

ids (array string): Array de Ids de hosts/serviços;

(host_id!service_id)/hostgroup_id/servicegroup_id (obrigatório);

comment (string) : Comentário (obrigatório);

start_time (int) : Data inicial em formato unix timestamp (obrigatório);

end_time (int): Data final em formato unix timestamp (obrigatório);

type (int): 1 = fixa, 0 = flexível (padrão = 1);

child_hosts (int): 0 = ignora, 1 = agenda uma parada programada, 2 = agenda uma parada não programada (padrão: 0);

triggered_by (int): downtime_id (padrão: vazio);

hour_duration (int): Duração em horas caso tipo seja flexível (padrão: 2);

minute_duration (int): Duração em minutos caso tipo seja flexível (padrão: 0);

force_utf8 (booleano): Força encodificação utf8 (padrão: false);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0);

Retorno: Objeto formatado em json contendo o status da operação.

soap_get_scheduled_downtime

Descrição: Lista as paradas agendadas do sistema associadas a um determinado elemento.

Parâmetros:

id (string): Id do host/serviço (host_id!service_id)/hostgroup_id/servicegroup_id (padrão: vazio);

comment (string) : Filtra por comentário (padrão: vazio);

force_utf8 (booleano): força encodificação utf8 (padrão: false);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0).

Retorno: Objeto formatado em json contendo paradas agendadas de todos os elementos associados.

OBS: Paradas com a propriedade type igual a 1102 e 1103 são consideradas abertas e paradas com type igual a 1104 são consideradas encerradas.

soap_remove_scheduled_downtime

Descrição: Remove uma parada agendada quando o argumento downtime_id for usado ou todas as paradas de um determinado elemento.

Parâmetros:

id (string): Id do host/serviço (host_id!service_id)/hostgroup_id/servicegroup_id (obrigatório);

downtime_id (int): Id da parada (opcional, caso seja usado somente uma parada será removida);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0).

Retorno: Objeto formatado em json contendo o status da operação

soap_remove_scheduled_downtimes

Descrição: Remove todas as paradas agendas de um grupo de elementos de um mesmo tipo.

Parâmetros:

ids (array string): Array de Ids de hosts/serviços (host_id!service_id)/hostgroup_id/servicegroup_id (obrigatório);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0).

Retorno: Objeto formatado em json contendo o status da operação.

soap_remove_scheduled_downtimes_by_comment

Descrição: Remove todas as paradas agendas de um grupo de elementos de um mesmo tipo usando o comentário como filtro.

Parâmetros:

ids (array string): Array de Ids de hosts/serviços (host_id!service_id)/hostgroup_id/servicegroup_id (obrigatório);

comment (string) : Filtra por comentário (padrão: vazio);

force_utf8 (booleano): força encodificação utf8 (padrão: false);

obj_type (int): 0 = HOST, 1 = SERVICE, 2 = HOSTGROUP, 3 = SERVICEGROUP (padrão: 0);

Retorno: Objeto formatado em json contendo o status da operação.

 

Exemplos:

Seguem alguns exemplos de uso da API em PHP usando a biblioteca NuSOAP

<?php
//error_reporting(E_ALL);
require "nusoap/lib/nusoap.php";

//host onde esta rodando o servidor opmon
$service = "https://localhost/opmon/ws/";
$client = new nusoap_client($service); 
$client->soap_defencoding = 'UTF-8'; 
$client->decode_utf8 = false;

//Usuário e senha do opmon 
$client->setCredentials("opmonadmin","opservices");

//Retorna todas as paradas agendadas ativas ou não do serviço ID 187!60522
$rs = $client->call('soap_get_scheduled_downtime', 
array('187!60522','',false,1));
var_dump($rs);

//adiciona uma parada agendada para todos os serviços de um grupo com ID 1 
$rs = $client->call('soap_add_scheduled_downtimes', 
array(array(1),'nova parada,time()+1,time()+60,1,0,0,2,0,false,3));

//Remove todas a paradas ativas do host ID 2
$rs = $client->call('soap_remove_scheduled_downtime',array('2',null,0)); 

//Remove todas a paradas ativas filtradas pelo comentário "test" do grupo de serviço com ID 1
$rs = $client->call('soap_remove_scheduled_downtimes_by_comment', array(array('1'),'test',false,0,3));

//Saida de API
echo 'Response';
echo '< pre >' . htmlspecialchars($client->response, ENT_QUOTES) .
'< /pre >'; 
echo 'Fault';
echo '< pre >' . htmlspecialchars($client->fault, ENT_QUOTES) . '< /pre >';
? >

Updated on 01/09/2021

Was this article helpful?

Ficou com alguma dúvida?

Perguntas & Respostas

Participe da nossa comunidade e tire dúvidas ou compartilhe respostas e ideias.

Participar

Professional Support

Não encontrou a resposta que procura? Não se preocupe, estamos aqui para ajudar!

Abrir chamado

Treinamento Online

Através da plataforma Udemy, você encontra todos os treinamentos das nossas soluções.

Inscreva-se