ASTNAGIOS 2.0 + FAN - Solução completa para monitoramento
Apresento minhas experiências com o FAN, assim como a segunda versão do script de integração Asterisk + Nagios, o qual já apresentei em artigo anterior.
[ Hits: 22.768 ]
Por: Sidney Alexandre Pagel em 06/04/2015
<?php //variáveis de conexão $servername = "192.168.X.X"; $username = "nagios"; $password = "XXXXX"; $dbname = "astnagios"; $id_contato = $argv[1]; //este parâmetro foi recebido na execução do PHP pelo contexto: //exten => 3,2,System(/usr/bin/php /opt/php/servidores/insert.php ${id} ${id_evento}) //ela recebe portanto, o conteudo da variavel ${id} $id_evento = $argv[2]; //esta variável recebe o conteúdo de ${id_evento} //cria conexão $conn = new mysqli($servername, $username, $password, $dbname); //valida conexão if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //variáveis insert $horario = shell_exec("date +%H:%M:%S"); //cria sql de insert tabela eventos $sql = "INSERT INTO checados ( id_evento, horario, contatosid_contato) VALUES ( '$id_evento','$horario','$id_contato')"; //valida insert if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close;
<?php //variáveis de conexão $servername = "192.168.X.X"; $username = "nagios"; $password = "XXXXXX"; $dbname = "astnagios"; //cria conexão $conn = new mysqli($servername, $username, $password, $dbname); //valida conexao if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //faz um select para saber qual é o último evento inserido na tabela checados $sql = "SELECT max(id_checado) as maior FROM checados"; $result = $conn->query($sql); while($row = $result->fetch_assoc()) { $maior = $row["maior"]; } $sql2 = "UPDATE checados set hangup=1 where id_checado='$maior'"; //atualiza o valor do campo hangup com o valor "1". Esse é o campo pesquisado pela função //de inserção de dados da aplicação astnagios. Quando a função retorna o valor 1, a //aplicação se interrompe. Isso é necessário para que a função só termine quando a ligação //realmente chegou a um fim. Por isso essa aplicação (hangup.php) é executada apenas em //caso de sucesso completo da ligação. if ($conn->query($sql2) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql2 . "
" . $conn->error; } //parâmetros de validação do insert na base de dados $conn->close;
Integrando Nagios com Asterisk
Jogando pesado na segurança de seu SSH
Mais sobre terminais leves....
Pequena solução para backup em redes mistas
O software livre na administração pública
Como manter GNOME2 em Sabayon Linux
QEMU - Para rodar Windows pré-instalado
Ripando CDs de audio no Debian e derivados
Como acessar outras máquinas Linux remotamente
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Liberação de alguns links no squid (0)
Erro ao instalar o ChatGPT Desktop (0)
Instalação do Kraiyin-CRM em Linux dentro de VMs no VirtualBox (1)
Discussão sobre monitoramento da integridade de arquivos (7)