Este documento descreve um sistema de monitorização de qualidade de serviço em sistemas de streaming de vídeo/áudio. O sistema inclui sondas internas e externas que coletam métricas usando SNMP, uma aplicação gestora que armazena os dados em um banco de dados PostgreSQL, e uma aplicação web para visualização dos dados. O sistema permite monitorizar clientes e servidores de streaming, analisar métricas como taxa de bits, perda de pacotes e latência, e fornecer gráficos e mapas com os resultados da monitorização.
1. Engenharia de Serviços de
Comunicações e Sistemas Ubíquos
Departamento de Informática
Universidade do Minho
André Silva, Guido Sarmento, Tiago Vilas Boas
Monitorização de Qualidade de Serviço em
Sistemas de Streaming Vídeo/Audio
2. Estrutura e componentes
Sonda Interna – snmp4j agent + smokeping
Sonda Externa – snmp4j agent + vlc4j
Aplicação Gestora – snmp4j + Grizzly
Base de dados - Postgresql
Servidores de Streaming – Video - LAN
Aplicação Web – PHP + pChart
Gestor de segurança – LDAP
NIDS - Snort
3. Sonda Interna – Agente SNMP
Auto-configuração através de HTTPS
(id, chaves SNMPv3, pooling time)
Recebe IP's de clientes a serem monitorizados
Recolha de métricas através do Smokeping
(latência, jitter e perda de pacotes)
Valores são pré-processados e guardados na MIB
Atualização de configurações através de SNMPv3
5. Sonda Externa – Agente SNMP
Auto-configuração através de HTTPS
(id, chaves SNMPv3, pooling time)
Recebe lista de servidores a serem monitorizados
Simula um cliente pedindo samples de vídeos
Calcula (bitrate, perda de pacotes e lag)
Valores são pré-processados e guardados na MIB
Atualização de configurações através de SNMPv3
8. MIB
Campos para receber
configurações
(número de pings, pooling
time e número de samples)
Tabela com dados sobre
elementos a monitorizar
(clientes / servidores)
Tabelas para guardar
estatísticas
Recolhidas pelo Smokeping
Recolhidas pelo vlcj
9. MIB
Campos para receber
configurações
(número de pings, pooling
time e número de samples)
Tabela com dados sobre
elementos a monitorizar
(clientes / servidores)
Tabelas para guardar
estatísticas
Recolhidas pelo Smokeping
Recolhidas pelo vlcj
10. Aplicação gestora
Recolha nas sondas com pooling time
configurável
Persistência em base de dados
Configuração das sondas
Web Service para inicialização segura das
sondas e para integração de serviço de
receção de IP's de clientes
Web service que cria interface para interação
com a aplicação Web
Quando possível, associa uma posição GPS
a cada IP cliente
14. Aplicação Web
PHP
Autenticação com o LDAP
Visão de administrador e gestor
Gráficos com QoS
Mapa de localização de clientes
Configuração das sondas
Pooling time
Número de pings das sondas interna
Lista de servidores monitorizados por cada sonda
externa
15. Autenticação
Apache DS (LDAP)
Dois níves de acesso
Possibilidade de
criação de interface
gestora
Possível integração
com Kerberos
16. Snort
Instalação na máquina que contém a base de
dados, servidor de streming, aplicação
gestora e sonda interna.
Configurado com Barnyard para
processamento dos logs gerados e criação de
estatisticas em Mysql
Instalado o Snort Report para apresentação
de uma página com valores guardados na
base de dados (Mysql)