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: 23.488 ]
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;
Pequena solução para backup em redes mistas
O software livre na administração pública
Configurando um domínio pelo serviço ipturbo empresarial (Brasil Telecom)
Jogando pesado na segurança de seu SSH
Mais sobre terminais leves....
Raspberry Pi 4B Como Servidor Linux de Baixo Custo
Servidor Messenger Openfire passo-a-passo no Linux
Recuperando o seu sistema Salix
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalando Google Chrome no Debian 13