Instalação do Zabbix 4.4 no Debian 10 Buster

O Zabbix é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação que permite configurar alertas por e-mail entre outros como Telegram, para praticamente qualquer evento. As notificações permitem que se reaja rapidamente à problemas no ambiente. O Zabbix oferece excelentes recursos de relatórios e visualização de dados armazenados. Isso faz com que o Zabbix seja a ferramenta ideal para planejamento de capacidade.

Requisitos:
* Debian 10 (Buster) -> Instalação Limpa
* Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “LAMP”

Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix.

# su -
# cd /tmp

Versão 4.4

# wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
# dpkg -i zabbix-release_4.4-1+buster_all.deb

Atualize o repositório e realize a instalação

# apt update ; apt upgrade
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Vamos criar uma base de dados chamada zabbix e um usuário também chamado de zabbix no MariaDB.
Não esqueça de alterar a senha: Use o gerador de senha: https://senhasegura.remontti.com.br/

# mariadb -u root -p
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'SUA_SENHA';
FLUSH PRIVILEGES;
EXIT;

Importe o esquema de tabelas e dados padrões. (Demora um pouco!)

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Digite a senha de seu usuário zabbix criada no passo anterior para importar as tabelas.

Edite o arquivo zabbix_server.conf para informar os dados para conexão com o MySQL.

# vim /etc/zabbix/zabbix_server.conf

Procure por # DBPassword= descomente e sete sua senha.

#...
DBPassword=SUA_SENHA
#...

Parece que na versão 4.4 esqueceram do arquivo do apache (pelo menos até hj) então será necessário cria-lo.

# vim /etc/zabbix/apache.conf

Ajuste o timezone pela sua região.

<IfModule mod_alias.c>
    Alias /zabbix /usr/share/zabbix
</IfModule>

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
   # Se quiser limitar apenas o acesso a alguns ips da rede
   # AllowOverride all
   # Require ip 127.0.0.1 ::1 200.200.200.192/29 2001:db8:bebe::/48

    <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 512M
        php_value post_max_size 100M
        php_value upload_max_filesize 80M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone America/Sao_Paulo
    </IfModule>
</Directory>

<Directory "/usr/share/zabbix/conf">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

Por segurança recomendo remover a assinatura do servidor, evitando os “espertinhos”

# sed -i 's/ServerTokens OS/ServerTokens Prod/' /etc/apache2/conf-available/security.conf
# sed -i 's/ServerSignature On/ServerSignature Off/' /etc/apache2/conf-available/security.conf

Lincamos as configurações e restartamos o apache.

# ln -s /etc/zabbix/apache.conf /etc/apache2/conf-available/zabbix.conf
# a2enconf zabbix 
# systemctl restart apache2

Iniciando o Zabbix Server e Agente junto com a inicialização do sistema.

# systemctl enable zabbix-server zabbix-agent
# systemctl restart zabbix-server zabbix-agent

Acesse em seu navegador http://seu_ip/zabbix

Next Step

Next Step

Se tudo estiver ok: Next step

Se tudo estiver ok: Next step

Informe a senha do banco de dados criada anteriormente para o zabbix, e clique em Next step.

Informe a senha do banco de dados criada anteriormente para o zabbix, e clique em Next step.

Next step

Next step

Next step

Next step

Next step

Next step

Entre com Usuário Admin e senha zabbix

Entre com Usuário Admin e senha zabbix

Para trocar o idioma para português, clique no ícone no canto direito superior no “bonequinho”

Para trocar o idioma para português, clique no ícone no canto direito superior no “bonequinho”

Selecione Português

Selecione Português

Seu Zabbix agora está em PT-BR

Seu Zabbix agora está em PT-BR

Você pode gostar de integra-lo com o telegram:
Zabbix 4 + Alertas no Telegram via Bot
Instalação do Grafana e integrando com Zabbix 4

Script de Backup

https://github.com/remontti/zabbix-backup

Este script backup script tem suporte ao (MariadB/MySQL/PostgreSQL) e não salva o históricos, tornado um backup rápido e salvando somente o necessário.

Baixe o script (em um diretório de sua escolha)

# wget https://raw.githubusercontent.com/remontti/zabbix-backup/master/zabbix-dump

De permissão de execução:

# chmod +x zabbix-dump

Execute

# ./zabbix-dump

Ele irá gerar um arquivo zabbix_cfg_localhost_202XXXXX-XXXX_db-mysql-4.x.x.sql.gz basta você copia-lo ou criar uma rotina que rode o script e envie para seu servidor de backup… (seja criativo) 🙂

Gostou?

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Fontes:
https://www.zabbix.com/documentation/

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

13 Resultados

  1. Marcelo disse:

    1
    # zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

    retornar não encontrado
    gzip: /usr/share/doc/zabbix-server-mysql/create.sql.gz: No such file or directory

  2. dean disse:

    O cara é brabo

  3. Marcos disse:

    Sou leigo em Linux, e suas instruções são precisas, Zabbix instalado ok.

  4. Rodrigo Aguilar disse:

    o meu backup da este erro

    – type: mysql
    – host: 127.0.0.1 (grafana)
    – port: 3306
    – database: zabbix
    – user: zabbix
    – output: /usr/bkp
    Executable ‘mysqldump’ not found.

  5. Tony disse:

    Excelente tutorial.
    Tentei colocar o script de backup pra executar no cron, mas não roda, só manualmente. O cron ta ativo, o que pode ser?

  6. cristiano disse:

    Segui os seus passos fui entrar pelo browser e não consegui. apresenta este erro.

    [T_ZBX_STR, O_NO, null, null, ‘isset({enter}) && {enter} != “‘.ZBX_GUEST_USER.'”‘, _(‘Username’)], ‘password’ => [T_ZBX_STR, O_OPT, null, null, ‘isset({enter}) && {enter} != “‘.ZBX_GUEST_USER.'”‘], ‘sessionid’ => [T_ZBX_STR, O_OPT, null, null, null], ‘reconnect’ => [T_ZBX_INT, O_OPT, P_SYS, null, null], ‘enter’ => [T_ZBX_STR, O_OPT, P_SYS, null, null], ‘autologin’ => [T_ZBX_INT, O_OPT, null, null, null], ‘request’ => [T_ZBX_STR, O_OPT, null, null, null], ‘form’ => [T_ZBX_STR, O_OPT, null, null, null] ]; check_fields($fields); if (hasRequest(‘reconnect’) && CWebUser::isLoggedIn()) { CWebUser::logout(); redirect(‘index.php’); } $config = select_config(); $autologin = hasRequest(‘enter’) ? getRequest(‘autologin’, 0) : getRequest(‘autologin’, 1); $request = getRequest(‘request’, ”); if ($request) { $test_request = []; preg_match(‘/^\/?(?[a-z0-9\_\.]+\.php)(?\?.*)?$/i’, $request, $test_request); $request = (array_key_exists(‘filename’, $test_request) && file_exists(‘./’.$test_request[‘filename’])) ? $test_request[‘filename’].(array_key_exists(‘request’, $test_request) ? $test_request[‘request’] : ”) : ”; } if (!hasRequest(‘form’) && $config[‘http_auth_enabled’] == ZBX_AUTH_HTTP_ENABLED && $config[‘http_login_form’] == ZBX_AUTH_FORM_HTTP && !hasRequest(‘enter’)) { redirect(‘index_http.php’); exit; } // login via form if (hasRequest(‘enter’) && CWebUser::login(getRequest(‘name’, ZBX_GUEST_USER), getRequest(‘password’, ”))) { if (CWebUser::$data[‘autologin’] != $autologin) { API::User()->update([ ‘userid’ => CWebUser::$data[‘userid’], ‘autologin’ => $autologin ]); } $redirect = array_filter([CWebUser::isGuest() ? ” : $request, CWebUser::$data[‘url’], ZBX_DEFAULT_URL]); redirect(reset($redirect)); exit; } if (CWebUser::isLoggedIn() && !CWebUser::isGuest()) { redirect(CWebUser::$data[‘url’] ? CWebUser::$data[‘url’] : ZBX_DEFAULT_URL); } $messages = clear_messages(); (new CView(‘general.login’, [ ‘http_login_url’ => $config[‘http_auth_enabled’] == ZBX_AUTH_HTTP_ENABLED ? (new CUrl(‘index_http.php’))->setArgument(‘request’, getRequest(‘request’)) : ”, ‘guest_login_url’ => CWebUser::isGuestAllowed() ? (new CUrl())->setArgument(‘enter’, ZBX_GUEST_USER) : ”, ‘autologin’ => $autologin == 1, ‘error’ => hasRequest(‘enter’) && $messages ? array_pop($messages) : null ])) ->disableJsLoader() ->render();

  7. Michel Marquizeppe Santiago disse:

    Fantástico!!
    Realmente faltam conteúdos em BR que sejam desse nível, parabéns pelo post.

  8. Flavio Gonçalves disse:

    muito bom seu artigo me ajudou muito, pois estou começando a usar a ferramenta.

  9. JARBAS PEIXOTO JUNIOR disse:

    Excelente artigo e com uma clareza de dar inveja em muitos

  1. 8 de fevereiro de 2020

    […] * Debian 10 (Buster) -> Instalação Limpa * Zabbix 4.4 (ou outra versão de sua […]

  2. 18 de março de 2020

    […] Instalação do Zabbix 4.4 no Debian 10 Buster ou Instalação do Zabbix 4.2 no Debian 10 […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *