Mudanças entre as edições de "Como Monitorar 95th percentile"

De Wiki BPF
Ir para: navegação, pesquisa
Linha 59: Linha 59:
 
<code>nano 95percentile.sh</code>
 
<code>nano 95percentile.sh</code>
  
Edite as primeiras linhas de acordo com suas informações, de forma que sejam coerentes com o acesso de seu database. Apenas dessa forma o script conseguirá buscar as informaçoes que precisaremos para gerar os relatórios.
+
Edite as primeiras linhas de acordo com suas informações, de forma que sejam coerentes com o acesso de seu database. Apenas dessa forma o script conseguirá buscar as informações que precisaremos para gerar os relatórios.
  
 
De permissões ao arquivo:
 
De permissões ao arquivo:
Linha 68: Linha 68:
  
 
<code>chown -R zabbix 95percentile.sh</code>
 
<code>chown -R zabbix 95percentile.sh</code>
 +
 +
Agora precisamos criar um item no host que desenha monitorar, mandando utilizar o script para gerar relatório de um determinado ItemID.
 +
 +
Todo item de monitoramento no Zabbix possui uma identificação numérica chamada de ItemID, para pegar o ItemID é bastante simples.
 +
 +
Acesse a interface web de seu Zabbix, e entre no item utilizado para monitorar o trafego de uma determinada interface de um host.
 +
 +
Na URL vai reparar que estará algo parecido com isso:
 +
 +
<code><nowiki>http://192.0.2.0/24/zabbix/items.php?form=update&hostid=10260&itemid=29583</nowiki></code>
 +
 +
Guarde o numero do ItemID que mostra na sua URL, utilizaremos ele.
 +
 +
Crie um novo item no seu host, utilizando a seguinte configuração:
 +
 +
Substitua o Te0/0/1 pela interface que vai monitorar
 +
 +
'''Name: 95% Te0/0/1'''
 +
 +
'''Type: Monitoramento externo'''
 +
 +
Substitua o ITEMID pelo ID que guardou la atras.
 +
 +
'''Key: 95percentile.sh[report,ITEMID]'''
 +
 +
'''Type of information: TEXT'''
 +
 +
'''Update Interval: 1d'''
 +
 +
Clique em update
  
 
'''Autor: André Dias'''
 
'''Autor: André Dias'''

Edição das 03h46min de 3 de janeiro de 2020

ARTIGO EM DESENVOLVIMENTO

Link burstable é grandemente falado e procurado por sua flexibilidade e facilidade. Fernando Frediani realizou um painel ( https://www.youtube.com/watch?v=WjSps5huDGU&t=157s )na GTER justamente sobre esse assunto.

Uma dificuldade que impede de alguns upstreams a ofertar esse serviço é justamente no que tange o monitoramento de tal serviço, justamente por ser complexo determinar quanto o cliente deverá pagar por aquela fatura por se tratar de um valor variável, e não mais um valor fixo.

Leve em consideração que o provedor XPTO realizou a contratação de um link burstable com a operadora Z com commit de 500M e burst de 1G, sendo assim, o valor inicial que ele pagará será referente a 600M.

Porém como estamos nos referindo a 95 Percentil, poderá acontecer de esse cliente ultrapassar os 500M de trafego durante mais do que 36 horas, passando assim a ter que pagar por uma capacidade superior aos 600M.

Nesse caso em questão, o upstream devera excluir 5% dos picos de trafego que esse cliente utilizou, e cobrar pelo valor subsequente.

Porém, como automatizar isso?

Alguns sistemas de monitoramento possuem formas simples de fazer isso, um excelente exemplo é o próprio Zabbix, que é o que utilizaremos para demonstrar aqui.

A primeira forma será através de uma forma nativa de monitoramento por parte do Zabbix através do monitoramento via SNMP que já é feito nas interfaces do seu equipamento. Para criar o gráfico relacionado ao 95percentil, siga os seguintes passos:

Criação do Gráfico no Host

-Entre nos Hosts do Zabbix;

-Entre nos gráficos do seu host;

-Crie um novo gráfico;

-Existem 2 itens chamados de "Item Percentile (left)" e "Item Percentile (right)", habilite ambos e ao lado coloque 95;

-Adicione os itens relacionados ao trafego da interface que deseja monitorar (trafego de inbound e de outbound);

-Para checar se funcionou, entre no menu "Monitoring", "Graphs", selecione o grupo que seu host está incluso, selecione seu host, e o gráfico que voce criou;

-Manipule o Time-Range do gráfico de forma que ele mostre o trafego desde o primeiro dia do mês, até o ultimo;

-Uma linha aparecerá no gráfico, e uma estatística com um triangulo na frente escrito "95percentile";

Gráfico pronto de um link 95 percentil.

-O valor seguinte, é o valor que buscamos.

Caso preferira, pode adicionar essa configuração no nos gráficos que podem ser criados automaticamente pelo Low Level Discovery do seu Zabbix.

==============

Existem casos onde o o transito em questão possui a necessidade de gerar relatórios mais complexos, para tal eu desenvolvi um script para essa finalidade.Esse script faz justamente o que o gráfico realiza, porém de forma que mostre um relatório em texto.

Para utilizarmos esse script, precisaremos inicialmente acessar seu Zabbix via SSH, e após isso usar o seguinte comando para acessar o diretório onde ficam os scripts para monitoramento externo:

cd /usr/lib/zabbix/externalscripts

Vamos realizar o download das dependências do script:

apt install wget git -y

Após isso, realize o clone do script que está no GitHub:

git clone https://github.com/andrediashexa/95percentil.git

mv 95percentil/* .

Dentro do script é necessário colocar o usuário e senha do seu database, para isso utilizaremos o nano:

nano 95percentile.sh

Edite as primeiras linhas de acordo com suas informações, de forma que sejam coerentes com o acesso de seu database. Apenas dessa forma o script conseguirá buscar as informações que precisaremos para gerar os relatórios.

De permissões ao arquivo:

chmod a+x 95percentile.sh

Determine que o dono do arquivo é o usuário zabbix:

chown -R zabbix 95percentile.sh

Agora precisamos criar um item no host que desenha monitorar, mandando utilizar o script para gerar relatório de um determinado ItemID.

Todo item de monitoramento no Zabbix possui uma identificação numérica chamada de ItemID, para pegar o ItemID é bastante simples.

Acesse a interface web de seu Zabbix, e entre no item utilizado para monitorar o trafego de uma determinada interface de um host.

Na URL vai reparar que estará algo parecido com isso:

http://192.0.2.0/24/zabbix/items.php?form=update&hostid=10260&itemid=29583

Guarde o numero do ItemID que mostra na sua URL, utilizaremos ele.

Crie um novo item no seu host, utilizando a seguinte configuração:

Substitua o Te0/0/1 pela interface que vai monitorar

Name: 95% Te0/0/1

Type: Monitoramento externo

Substitua o ITEMID pelo ID que guardou la atras.

Key: 95percentile.sh[report,ITEMID]

Type of information: TEXT

Update Interval: 1d

Clique em update

Autor: André Dias