Zabbix – Monitorando o Apache – Estatísticas e Disponibilidade – Ubuntu Server 14.04

3 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 3 3 Flares ×
Zabbix – Monitorando o Apache – Estatísticas e Disponibilidade – Ubuntu Server 14.04
5 (100%) 4 votos

zabbix-topo

Olá a todos, dando continuidade a nossa série de artigos sobre Zabbix, neste artigo demonstrarei de forma objetiva como monitorar o Apache do nosso Zabbix Server e coletando estatísticas de uso, disponibilidade, tráfego, versão, desempenho e uptime, além de uma breve demonstração do resultado final, espero que gostem.

Ambiente usado neste laboratório:

Ubuntu Server 14.04 LTS, Zabbix Server 3.0 LTS, Apache 2.4.7.

Requisitos para este exercício:

Conhecimento básico em linux, editor de texto vim, vi ou nano, básico em UserParameters.

Download:

Arquivos usados neste post, Template e UserParameter:

Baixar: Apache-Arquivos.zip (230 downloads)

Estrutura dos diretórios, arquivos de configuração e userparameters do Agent Linux neste exemplo:

Diretório zabbix_agentd.conf: /etc/zabbix/

Diretório UserParameters: /etc/zabbix/UserParameters/

Diretório status.conf: /etc/apache2/mods-available/

Parâmetro usado no zabbix_agentd.conf, informando o diretório que irá conter meus UserParameters:

Include=/etc/zabbix/UserParameters/

Atenção: Peço que fiquem atentos aos diretórios usados neste exemplo, pois podem variar de acordo com a sua instalação, então muita atenção nos caminhos informados nos arquivos de configuração e UserParameters utilizados neste exercício, caso você costuma utilizar UserParameters dentro do zabbix_agentd.conf realize os ajustes de acordo com o seu ambiente.

1º Passo:  Primeiramente precisaremos habilitar o “server-status” em nosso apache, caso ja tenha habilitado, pule para o passo 04.

Edite o arquivo status.conf localizado em /etc/apache2/mods-available/, e ajuste conforme descrito abaixo e imagem.

<Location /server-status>
          SetHandler server-status
          Order deny,allow
          Deny from all
          Allow from 127.0.0.1
        </Location>

	# Keep track of extended status information for each request
	ExtendedStatus On
0030
Alterando status.conf

 Passo 02: Após alterar o arquivo, salve e reinicie o Apache.

/etc/init.d/apache2 restart

Passo 03: Agora faremos um pequeno teste.

wget --quiet -O - http://localhost/server-status?auto

Se o resultado for semelhante ao da imagem abaixo podemos prosseguir, caso contrario reveja seu arquivo de configuração ou instale o wget e tente novamente.

0031
Resultado do comando.

Passo 04: Agora que temos nosso  server-status habilitado e funcionando, vamos alterar nosso zabbix_agentd.conf o parâmetro que apontará para o diretório que irá conter nosso arquivo .conf com os UserParameters, neste exemplo o diretório será /etc/zabbix/UserParameters/ e inclua o seguinte parâmetro:

Include=/etc/zabbix/UserParameters/
0032
Alterando zabbix_agentd.conf

Passo 05: Agora vamos criar nosso arquivo apache.status.conf no diretório /etc/zabbix/UserParameters/ com o seguinte conteúdo, o mesmo encontra-se disponível para download no inicio do artigo juntamente com o template:

UserParameter=apache.totalaccesses,wget --quiet -O - http://localhost/server-status?auto | grep "Total Accesses:" | awk '{print$3}'
UserParameter=apache.totalkbytes,wget --quiet -O - http://localhost/server-status?auto | grep "Total kBytes:" | awk '{print$3}'
UserParameter=apache.uptime,wget --quiet -O - http://localhost/server-status?auto | grep "Uptime:" | awk '{print$2}'
UserParameter=apache.reqpersec,wget --quiet -O - http://localhost/server-status?auto | grep "ReqPerSec:" | awk '{print$2}'
UserParameter=apache.bytespersec,wget --quiet -O - http://localhost/server-status?auto | grep "BytesPerSec:" | awk '{print$2}'
UserParameter=apache.bytesperreq,wget --quiet -O - http://localhost/server-status?auto | grep "BytesPerReq:" | awk '{print$2}'
UserParameter=apache.busyworkers,wget --quiet -O - http://localhost/server-status?auto | grep "BusyWorkers:" | awk '{print$2}'
UserParameter=apache.idleworkers,wget --quiet -O - http://localhost/server-status?auto | grep "IdleWorkers:" | awk '{print$2}'
UserParameter=apache.cpuload,wget --quiet -O - http://localhost/server-status?auto | grep "CPULoad:" | awk '{print$2}'
UserParameter=apache.waitforconnection,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "_" } ; { print NF-1 }'
UserParameter=apache.startingup,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "S" } ; { print NF-1 }'
UserParameter=apache.readingrequest,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "R" } ; { print NF-1 }'
UserParameter=apache.sendingreply,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "W" } ; { print NF-1 }'
UserParameter=apache.keepalive,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "K" } ; { print NF-1 }'
UserParameter=apache.dnslookup,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "D" } ; { print NF-1 }'
UserParameter=apache.closeconnection,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "C" } ; { print NF-1 }'
UserParameter=apache.logging,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "L" } ; { print NF-1 }'
UserParameter=apache.gracefullyfinish,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "G" } ; { print NF-1 }'
UserParameter=apache.idlecleanup,wget --quiet -O - http://localhost/server-status?auto | grep "Scoreboard:" | awk '{print$2}' | awk 'BEGIN { FS = "I" } ; { print NF-1 }'
UserParameter=apache.versao,apache2 -v | awk '/^Server version:/ {print $3}'

Passo 06: Com o arquivo criado, salve e conceda permissão para o usuário zabbix, vale lembrar que o diretório UserParameters/ também deverá ser concedida permissão para o usuário zabbix.

chown zabbix:zabbix apache.status.conf
0034
Concedendo permissão.

Passo 07: Reinicie o Agent.

/etc/init.d/zabbix-agent restart

Passo 08: Agora basta importar o template disponível no inicio deste artigo e associar ao Host, veja na imagem abaixo o resultado final dos dados coletados e gráficos.

0036
Resultado, dados coletados.
0037
Resultado, gráficos.

É isso pessoal, espero que tenham gostado, deixem seus comentários em caso de dúvida ou sugestão, se gostou curte e compartilha, muitos artigos virão em breve, muito obrigado.

175,971 total views, 205 views today

3 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 3 3 Flares ×

9 thoughts on “Zabbix – Monitorando o Apache – Estatísticas e Disponibilidade – Ubuntu Server 14.04

  1. Boa noite Diego, parabéns pelo post.
    Amigo, não consigo ver a imagem parecida com a sua acima, só consigo item por item e no seu exemplo ( acima na figura ) aparecem vários itens.
    Como fazer ?
    Abraços

  2. Obrigado pelo feedback Amilton, fico feliz que tenha dado certo, teve que adaptar alguma coisa?, caso tenha feito posta ai que poderá ajudar outras pessoas com CentOS, obrigado.

  3. Diego parabéns pelo excelente artigo. 100% funcional no CentOS 7.2.

  4. Estou usando essa versão de S.O SUSE Linux Enterprise Server 11 SP3 (x86_64) – Kernel \r (\l). e usando o zabbix 2.2.10 será que é por isso que não está funcionando??

  5. Olá Luiz, como vai?
    Essa é uma das vantagens da versão 3.0, importas e exportar mapeamentos de valores juntamente com o template, acredito que o erro ai na hora de importar é no mapeamento de valor usado no template que o 2.4.5 não cria automaticamente, tente o seguinte:
    va em Administração > Geral > Mapeamento de Valores e crie um novo com os seguintes valores:
    Nome: STATUS – Porta
    Em Mapeamentos crie os seguintes valores:
    0 = Inacessível
    1 = Aberta
    Logo após tente importar o template novamente, espero ter ajudado, obrigado pela visita.

  6. Amigo, boa tarde!
    Não teria este arquivo na versão 2.4.5 do zabbix?
    Pois tentei importar no meu e não aceitou.
    obrigado!
    Luiz

Comments are closed.