Freeradius 2.x.x - Monitoração
Publicado por Tiago MDR (última atualização em 04/07/2010)
[ Hits: 7.878 ]
Download 1277760709.freeradius_status.sh (versão 2)
Olá a todos do vivaolinux!
Aqui vai a minha primeira contribuição para o site através de um script simples para a monitoração do Freeradius (no caso a versão utilizada é a 2.1.8).
Antes de mais nada, estou assumindo que você tenha um servidor de Freeradius pronto e funcionando.
Como a maioria já deve saber, a partir da versão 2 do Freeradius o SNMP não é mais suportado e a monitoração só é possivel via comando :(
Antes de executar o script abaixo, ***LEIA*** o Wiki http://wiki.freeradius.org/Status e o README dos scripts no fonte do Freeradius. Isso é importante devido a dois fatores:
1º - É necessario ativar essa monitoração (conforme descrito no link acima); e
2º - O comando descrito no site NÃO funciona. Eu, pelo menos, tentei de tudo quanto é forma, mas não deu certo, sendo assim, caso tenha curiosidade, com algumas modificações o comando passa a funcionar:
echo "Message-Authenticator = 0x00, FreeRADIUS-Statistics-Type = 35, FreeRADIUS-Stats-Client-IP-Address = 127.0.0.1, FreeRADIUS-Stats-Server-IP-Address = 127.0.0.1, FreeRADIUS-Stats-Server-Port = 1812" | radclient 127.0.0.1:18120 status adminsecret
O comando acima retornará, os seguintes valores de amostra:
Received response ID 52, code 2, length = 224
FreeRADIUS-Total-Access-Requests = 25
FreeRADIUS-Total-Access-Accepts = 69
FreeRADIUS-Total-Access-Rejects = 16
FreeRADIUS-Total-Access-Challenges = 0
FreeRADIUS-Total-Auth-Responses = 85
FreeRADIUS-Total-Auth-Duplicate-Requests = 0
FreeRADIUS-Total-Auth-Malformed-Requests = 0
FreeRADIUS-Total-Auth-Invalid-Requests = 0
FreeRADIUS-Total-Auth-Dropped-Requests = 0
FreeRADIUS-Total-Auth-Unknown-Types = 0
FreeRADIUS-Total-Accounting-Requests = 15
FreeRADIUS-Total-Accounting-Responses = 15
FreeRADIUS-Total-Acct-Duplicate-Requests = 0
FreeRADIUS-Total-Acct-Malformed-Requests = 0
FreeRADIUS-Total-Acct-Invalid-Requests = 0
FreeRADIUS-Total-Acct-Dropped-Requests = 0
FreeRADIUS-Total-Acct-Unknown-Types = 0
ATENÇÃO: O "adminsecret" é a chave padrão para checar o status do servidor, ela pode ser alterada posteriormente.
PS1: O freeradius que utilizo atualmente foi instalado via yum em um Fedora Core 12 x64.
PS2: Coloquei os comentarios em inglês e não tive tempo de coloca-los em portugues.
Sem mais, segue o script.
Versão 2 - Enviado por Tiago MDR em 28/06/2010
Changelog: - Correção de erros ortográficos :)
- Teste realizado no Debian Lenny
Download 1277760709.freeradius_status.sh
#!/bin/sh # Sample script to collect Freeradius 2.x.x monitoration data. # ------------------------------------------------------------------------- # Tested under Fedora Core / CemtOS 5.2 / RHEL # ------------------------------------------------------------------------- # Author: Tiago Milson De Rizzo # ------------------------------------------------------------------------- # Last updated Apr/26/2010 # ------------------------------------------------------------------------- # Usage: ./freeradius_status.sh parameter # Example: ./freeradius_status.sh Access-Accepts STATS="/root/scripts/radius_stats.txt" ECHO="/bin/echo" RADCLIENT="/usr/bin/radclient" ################################### #Infos for: #Server parameters FREERAD_STS_CLI_SRV_IP="127.0.0.1" FREERAD_STS_SRV_IP="127.0.0.1" FREERAD_STS_SRV_PORT="1812" #The port 18120 needs to be enabled in the server. The Freeradius 2.x.x documentation #Tells how to do it http://wiki.freeradius.org/Status ##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING##WARNING## ##THE COMMAND LISTED IN THE http://wiki.freeradius.org/Status IS WRONG!!!!! ##IF YOU NEED TO EXECUTE THE CODE BY HAND, USE THE ONE LISTED BELOW THE "GENERATE STATISTICS" COMMENT ##REWRITING IT AS NEEDED #radclient parameters FREERAD_SRV_IP="127.0.0.1" FREERAD_SRV_STS_PORT="18120" FREERAD_SECRET="adminsecret" ################################### # check for valid command line parameters in the radclient output [ -z "$1" ] && exit; [ "$1" != 'Access-Accepts' \ -a "$1" != 'Access-Rejects' \ -a "$1" != 'Access-Challenges' \ -a "$1" != 'Auth-Responses' \ -a "$1" != 'Auth-Duplicate-Requests' \ -a "$1" != 'Auth-Malformed-Requests' \ -a "$1" != 'Auth-Invalid-Request' \ -a "$1" != 'Auth-Dropped-Requests' \ -a "$1" != 'Auth-Unknown-Types' \ -a "$1" != 'Accounting-Requests' \ -a "$1" != 'Accounting-Responses' \ -a "$1" != 'Acct-Duplicate-Requests' \ -a "$1" != 'Acct-Malformed-Requests' \ -a "$1" != 'Acct-Invalid-Requests' \ -a "$1" != 'Acct-Dropped-Requests' \ -a "$1" != 'Acct-Unknown-Types' \ ] && exit; #Generate statistics $ECHO "Message-Authenticator = 0x00, FreeRADIUS-Statistics-Type = 35, FreeRADIUS-Stats-Client-IP-Address = $FREERAD_STS_CLI_SRV_IP, FreeRADIUS-Stats-Server-IP-Address = $FREERAD_STS_SRV_IP, FreeRADIUS-Stats-Server-Port = $FREERAD_STS_SRV_PORT" | \ ${RADCLIENT} $FREERAD_SRV_IP:$FREERAD_SRV_STS_PORT status $FREERAD_SECRET > $STATS #Grab the file statistics and from the file generated tail -17 ${STATS}| /usr/bin/awk "/$1/ { result=\$3 } END { print result ? result : 0 }"
Automatizador de instalação para Arch Linux
Backup Remoto com rsync, automatico, para varias maquinas, sem senha.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)