O Smokeping é um software Livre e Open Source escrito em Perl por Tobi Oetiker, o criador do MRTG e do RRDtool. O Smokeping é uma ferramenta de monitoramento que permite acompanhar a latência de rede.
Por meio da sua interface web, o Smokeping apresenta vários gráficos, que permitem acompanhar o histórico da latência. A medição da latência pode ser realizada utilizando-se vários plugins diferentes, como por exemplo a medição da latência de servidores web.
Este artigo apresenta um passo a passo para a instalação do Smokeping no Ubuntu Linux 14.04
Passo 1: Atualizando a lista de pacotes
Antes de iniciarmos o processo de instalação de qualquer aplicação é importante garantir que todos os pacotes instalados estão atualizados e que nenhuma dependência está quebrada, o que impediria a instalação de nova pacotes. Os três comandos abaixo podem ser utilizados para este processo.
sudo apt-get update sudo apt-get upgrade sudo apt-get install -f
Passo 2: Instalando a aplicação e suas dependências
Com todos os pacotes atualizados e configurados corretamente, podemos utilizar o comando abaixo para a instalar o smokeping e suas dependências
sudo aptitude install smokeping curl libauthen-radius-perl \ libnet-ldap-perl libnet-dns-perl libio-socket-ssl-perl \ libnet-telnet-perl libsocket6-perl libio-socket-inet6-perl \ apache2
Passo 3: Ajustando o Apache
Para ter acesso aos gráficos do smokeping precisamos de um servidor web, neste caso utilizamos o Apache; para evitar que servidor web exponha informações desnecessárias, trocaremos o arquivo index.html padrão, por um arquivo vazio.
mv /var/www/html/index.html /var/www/html/index-original.html touch /var/www/html/index.html
Agora podemos habilitar, no apache, o modulo mod_cgi e as configurações responsáveis por liberar o acesso aos gráficos gerados pelo smokeping . O mod_cgi será utilizado pelo Smokeping para expor a interface web e seus gráficos
cd /etc/apache2/conf-available sudo ln -s ../../smokeping/apache2.conf smokeping.conf sudo a2enconf smokeping sudo a2enmod cgid service apache2 restart
Passo 4: Configurando o Smokeping
Terminada as configurações básicas podemos iniciar a configuração do Smokeping e definir como ele deverá monitorar a latência. Os arquivo de configuração do smokeping ficam armazenados no diretório /etc/smokeping/config.d
Passo 4.1:Ajustando o arquivo General
Iniciaremos ajustando as configurações genéricas, que dizem respeito ao ambiente onde a aplicação está sendo instalada. Execute o comando abaixo para iniciar a configuração:
nano /etc/smokeping/config.d/General
Altere as seguintes linhas:
owner = Projeto SGS contact = projeto-sgs@sgs.br mailhost = 127.0.0.1
A variável owner armazena a string utilizada para identificar o responsável pela instalação da ferramenta; contact armazena o e-mail de contato com o administrador da ferramenta e mailhost é o endereço IP da máquina que possui o serviço de e-mail utilizado para enviar as mensagens de alerta, geralmente podemos deixar esta variável igual à “127.0.0.1”
Passo 4.2 :Ajustando o arquivo Alerts
Este arquivo define as contas de e-mail utilizadas para envio e recebimento dos alertas, execute o comando abaixo para iniciar a configuração:
nano /etc/smokeping/config.d/Alerts
Altere as seguintes linhas:
to = endereco_de_email_que_recebera_os_alertas from = endereco_de_email_que_assinara_os_alertas
A variável to identifica o(s) endereço(s) de e-mail que receberão as mensagens de alerta, já a variável from é utilizada para identificar que a mensagem está sendo enviada pelo smokeping, em alguns casos este podem ser um endereço fictício ou o e-mail do administrador.
Passo 4.3: Ajustando o arquivo Presentation
Neste arquivo especificamos como serão gerados os gráficos do smokeping. Execute o comando abaixo para iniciar a configuração:
nano /etc/smokeping/config.d/Presentation
Altere as seguintes linhas:
+ charts menu = Resumo title = Resumo : Gráficos Interessantes ... ... ... + overview width = 600 height = 50 range = 12h + detail width = 600 height = 200 unison_tolerance = 2 #"Last 3 Hours" 3h #"Last 30 Hours" 30h #"Last 10 Days" 10d #"Last 400 Days" 400d "Ultimas 3 Horas" 3h "Ultimas 24 Horas" 24h "Ultimos 7 Dias" 7d "Ultimos 30 Dias" 30d "Ultimos 366 Dias" 366d
Na primeira sessão + charts, temos as seguintes configurações:
- menu = Resumo
- title = Resumo : Gráficos Interessantes
Estas linhas definem o nome e o título do primeiro item do menu apresentado pelo Smokeping, que é um resumo das principais informações coletadas.
A segunda sessão + overview definimos a largura (width), a altura (height) e a quantidade, em horas (12h), de informações exibidas, por padrão, nos gráficos.
Quando um gráfico é selecionado, uma nova página é aberta. O conteúdo desta nova página é definido segundo as informações da sessão + detail.
Segundo as configurações anteriores os gráficos apresentados terão 600px de largura e 200px de altura. Serão apresentados cinco gráficos, o primeiro contendo as informações das ultimas 3 horas, o segundo com as informações das ultimas 24 horas, o terceiro com as informações dos últimos 7 dias, o quarto exibe as informações dos últimos 30 dias e finalmente o ultimo as informações dos últimos 366 dias, ou seja, algo aproximadamente à um ano.
Passo 4.4: Ajustando o arquivo Probes
Este arquivo, assim como o anterior, não é tão simples, nele especificamos os Probes, ou simplesmente, os comandos utilizados pelo smokeping para obter as informações sobre a latência da rede. Execute o comando abaixo para iniciar a configuração:
nano /etc/smokeping/config.d/Probes
Adicione as seguintes linhas:
## # Baseados no fping ## + FPing binary = /usr/bin/fping ++ FPingNormal offset = 0% ++ FPingLarge packetsize = 5000 offset = 50% # === ----------------------------------------------------------------------- # Permite medir a latencia de servidores de nome, neste caso sao enviados # apenas 5 pacotes ping, em vez de 20 (default), a cada 3 minutos # === ----------------------------------------------------------------------- + DNS binary = /usr/bin/dig lookup = view.lncc.br pings = 5 step = 180 # === ----------------------------------------------------------------------- # Permite medir a latencia de servidores web # === ----------------------------------------------------------------------- + EchoPingHttp pings = 5 #url = /test-url # === ----------------------------------------------------------------------- # Outros EchoPing # o interessante destes probes é que permitem o teste de portas # que geralmente estao associadas a servicos especificos # === ----------------------------------------------------------------------- # + EchoPing # uses TCP or UDP echo (port 7) # + EchoPingDiscard # uses TCP or UDP discard (port 9) # + EchoPingChargen # uses TCP chargen (port 19) + EchoPingSmtp # SMTP (25/tcp) for mail servers + EchoPingHttps # HTTPS (443/tcp) for web servers #+ EchoPingHttp # HTTP (80/tcp) for web servers and caches + EchoPingIcp # ICP (3130/udp) for caches # these need at least echoping 6 with the corresponding plugins + EchoPingDNS # DNS (53/udp or tcp) servers + EchoPingLDAP # LDAP (389/tcp) servers + EchoPingWhois # Whois (43/tcp) servers # === ----------------------------------------------------------------------- # # === ----------------------------------------------------------------------- + Curl # probe-specific variables binary = /usr/bin/curl step = 60 # a default for this target-specific variable urlformat = http://%host/
Dentre os probes especificados anteriormente, podemos identificar alguns:
- FPingNormal: será o probe utilizado, por padrão, para determinar a latência dos hosts
- FPingLarge: é a versão modificada o probe padrão, que envia pacote um pouco maiores
- EchoPingHttp: probe utilizado para medir a latência do serviço HTTP
- EchoPingSmtp: probe utilizado para medir a latência do serviço SMTP
- EchoPingHttps: probe utilizado para medir a latência do serviço HTTPS
- EchoPingDNS: probe utilizado para medir a latência do serviço de DNS
Passo 4.5: Ajustando o arquivo Targets
Neste arquivo definimos quais hosts desejamos monitorar e gerar os gráficos de Latência. Execute o comando abaixo para iniciar a configuração:
nano /etc/smokeping/config.d/Targets
Altere/Altere as seguintes linhas:
#probe = FPing probe = FPingNormal title = Gráficos de Latência da Rede remark =</pre> <h2> Projeto - SGS</h2> <h3>Latência de rede medidas a partir</h3> <h3>do laboratório do projeto SGS</h3> <h4>E-mail: projeto-SGS@sgs.br</h4> <pre>
Neste primeiro trecho do arquivo definimos qual será o probe padrão (probe = FPingNormal), assim como as informações apresentadas na tela de abertura do smokeping
Finalmente, podemos adicionar alguns hosts para serem monitorados e a sua latência medida.
## === ------------------------------------------ ## === ------------------------------------------ # Sites Externos - Google ## === ------------------------------------------ ## === ------------------------------------------ + google menu = Sites Externos - Google title = Sites Externos - Google ++ Google_BR menu = www.google.com.br title = www.google.com.br remark= Site do Google host = www.google.com.br ++ Google menu = www.google.com title = www.google.com remark= Site do Google host = www.google.com ++ dns-a-google menu = google-public-dns-a.google.com title = google-public-dns-a.google.com remark= Google - DNS Publico host = 8.8.8.8 ++ dns-b-google menu = google-public-dns-b.google.com title = google-public-dns-b.google.com remark= Google - DNS Publico host = 8.8.4.4
Neste exemplo, adicionados um novo menu denominado “google” e três hosts:
- Google_BR: medindo a latência entre o servidor com o smokeping instalado e o host www.google.com.br
- Google: medindo a latência do host www.google.com
- dns-a-google: medindo a latência do host 8.8.8.8 (google-public-dns-a.google.com)
- dns-b-google: medindo a latência do host 8.8.4.4 (google-public-dns-b.google.com)
A partir de ponto, basta utilizar os exemplo acima, para criar novos itens no menu do Smokeping e adicionar os hosts a serem monitorados.
Depois que inserimos as informações sobre as hosts que devem ser monitoradas (Targets), devemos reiniciar o daemon do smokeping
service smokeping restart
Ao ser reiniciado o smokeping, ele começa a gerar o gráficos para os novos Targets. E com isto finalizamos o processo de instalação e configuração básica do smokeping
鯉 : 2015/07/09
鯉 : 2015/10/19