Freeradius 2.x.x - Monitoração
Publicado por Tiago MDR (última atualização em 04/07/2010)
[ Hits: 8.050 ]
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 }"
beepop - popups com o texto digitado
Script compartilhar conexão e criar regras de Firewall
Criar arquivo.toc para gravar CD com o cdrdao
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
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (0)
Dúvidas sobre a originalidade de conteúdos online (10)
Erro de interface de Rede no Virt Manager dentro Debian 13 KDE (12)
Monitoramento pfsense com zabbix (3)
Google Crhome não abre desde que eu atualizei pelo "program... (13)