Instalação do Zabbix Agent no Linux (CentOS) com Shell Script

DevOps from Zero!💻
3 min readJul 31, 2019

--

Zabbix 4.0.9

E aí galera, hoje o assunto é sobre monitoramento, estou focando bem nesse tema porque eu trabalho diariamente com Zabbix e Linux em ambientes on-promises e fiz algumas automações que me ajudaram no dia a dia e quero passar isso adiante para que galera que está começando, aprenda de forma rápida e com isso automatize também sua infra.

O artigo é bem simples, o que você deve fazer é:

  • Realizar um scp do script para seu server;
  • Executar o script no seu ambiente (O script tem comentários que ajuda);
  • Criar o host no Zabbix e adicionar uma template Linux padrão.

Atualmente, existem diversas formas de instalar o agente do Zabbix, sendo uma das principais, usar o Ansible (ferramenta open source de automação e provisionamento ágil). Vale ressaltar o seguinte:

Com Ansible é possível automatizar tarefas como:

  • Instalação e atualização de pacotes;
  • Configuração e deploy de aplicações;
  • Gerenciamento de usuários;
  • E muitas outras tarefas administrativas visando aumento de desempenho, velocidade e produtividade.

Prometo que meu próximo artigo será sobre Ansible, eu estou trabalhando com ele faz um tempinho nos labs mas não tive tempo legal para postar.

Voltando para a realidade (haha); eu preferi utilizar Shell Script porque era a solução mais rápida encontrada diante do projeto. Sem mais delongas, vamos nessa!

  • Exemplo de script utilizado no projeto:
#!/usr/bin/env bash
#
# ----------------------------------------------------------------#
# Script Name: "zabbix_agent_install.sh"
# Description: Install zabbix agent in Linux servers (CentOS).
# Site: https://medium.com/@amaurybsouza
# Written by: Amaury Souza
# Maintenance: Amaury Souza
# ----------------------------------------------------------------#
# Usage:
# $ ./zabbix_agent_install.sh
# ----------------------------------------------------------------#
# Bash Version:
# Bash 4.4.19
# ----------------------------------------------------------------#
# History: v1.0 18/02/2019, Amaury:
# - Start de program
# - Add (wget) command
# v1.1 19/02/2019, Amaury:
# - Tested using yum
# v1.2 20/02/2019, Amaury:
# - Add #UserParameter=
# ----------------------------------------------------------------#
# Thankfulness: My team
#
# ----------------------------------------------------------------#
#Server data
echo -n "Digite o nome do seu Hostname: "
read hostname
echo -n "Digite o endereço IP Zabbix Server: "
read server
#Install zabbix agent
yum install -y wget
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm -i zabbix-release-4.0-1.el7.noarch.rpm
yum install -y zabbix-agent
#Configuration
echo "
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=20
Include=/etc/zabbix/zabbix_agentd.d/
Hostname=$hostname
EnableRemoteCommands=1
LogRemoteCommands=1
Server=$server
ServerActive=$server
# UserParameter=
RefreshActiveChecks=120
ListenPort=10050
StartAgents=10
Timeout=3
DebugLevel=3
" > /etc/zabbix/zabbix_agentd.conf
#Start service zabbix agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
exit
  • Cadastro do host no Zabbix:

Nessa parte vamos gerar o nosso host no sistema para que nossa coleta seja realiza. Na aba de Configuração, em Hosts:

Tela de cadastro de host no Zabbix
  • Entendendo o que significa cada campo:

Nome do host: o hostname da máquina;
Nome visível: Um nome fácil de identificar, também pode ser o hostname da máquina, como preferir;
Grupos: Selecione um grupo para o host, caso os disponíveis não sejam adequados, é possível criar um logo abaixo em Criar grupo;
Interfaces do agente: é possível trabalhar com IP ou DNS;
Descrição: É possível criar uma descrição para o host;
Monitorado por proxy: O Zabbix proxy é utilizado para uma estrutura de monitoramento distribuído; nesse exemplo não iremos utilizar;
Deixar a caixa Ativo ativada para que o host seja monitorado.

Importante: antes de clicar em adicionar, é necessário adicionar o host a um template, no topo da janela clique em templates e escolha um template adequado. Ex. Template OS Linux.

Tela de template do Zabbix

Feito isso, você pode clicar em Adicionar host que os o sistema Linux será monitorado. Veja abaixo o host cadastrado:

Tela de host

Isso é tudo pessoal, com o agente Linux instalado no servidor Linux e o host criado, a máquina já está sendo monitorada.

Até a próxima!

--

--

DevOps from Zero!💻
DevOps from Zero!💻

Written by DevOps from Zero!💻

SRE/DevOps Engineer| Lifelong learner | Medium Creator | AWS/Azure certified☁️ | Hashicorp Ambassador | Containers | Tech | Community | Coffee