Instalação do Zabbix 5.0 LTS + notificações pelo Telegram nativo + Grafana 7/8 + Debian 10/11

Aqui está o nosso kit de primeiros socorros! 😀

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.

O Grafana é um software livre que permite a visualização de formato de dados métricos. Ele permite criar painéis e gráficos a partir de várias fontes, mas aqui iremos vamos aprender a integra-lo com o Zabbix.

Este tutorial está também disponível no youtube:

Requisitos:

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

Zabbix

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

# su -
# cd /tmp
# apt install wget

Debian 10

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
# dpkg -i zabbix-release_5.0-1+buster_all.deb

Debian 11

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+bullseye_all.deb
# dpkg -i zabbix-release_5.0-1+bullseye_all.deb

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

# apt update ; apt upgrade
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf 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

Senha

create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'SUA_SENHA';
grant all privileges on zabbix.* to zabbix@localhost;
quit;

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

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mariadb -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
#...

Ajuste o timezone pela sua região.

# vim /etc/zabbix/apache.conf

Este é modelo padrão, altere então para sua região, também irei alterar alguns valores padrões se quiser pode remover as conf do mod_php5.c

Se você quiser um modelo para acessa-lo por ex: zabbix.remontti.com.br, vou deixar um em seguida como proceder, bem como fechar o acesso apenas a determinado IP ou bloco.

# Define /zabbix alias, this is the default
<IfModule mod_alias.c>
    Alias /zabbix /usr/share/zabbix
</IfModule>

<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Rig
    </IfModule>
    <IfModule mod_php7.c>
        php_value max_execution_time 300
        php_value memory_limit 512M
        php_value post_max_size 48M
        php_value upload_max_filesize 24M
        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>

Caso você queira o modelo acima então mova o /etc/zabbix/apache.conf para /etc/zabbix/apache.conf.old. Faça uma apontamento em seu DNS do subdomínio zabbix para o IP do seu servidor. Agora crie um novo arquivo:

# mv /etc/zabbix/apache.conf /etc/zabbix/apache.conf.default
# vim /etc/zabbix/apache.conf

Altere em Require ip para os ips que terão acesso.

<VirtualHost *:80>
        ServerName zabbix.remontti.com.br
        ServerAlias localhost
        ServerAdmin noc@remontti.com.br
        DocumentRoot /usr/share/zabbix
        ErrorDocument 403 http://www.remontti.com.br
        <Directory "/usr/share/zabbix">
            Options FollowSymLinks
            AllowOverride all
            Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8::/32 192.168.0.0/16

            <IfModule mod_php7.c>
                php_value max_execution_time 300
                php_value memory_limit 512M
                php_value post_max_size 48M
                php_value upload_max_filesize 24M
                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>

        LogLevel warn

        ErrorLog ${APACHE_LOG_DIR}/zabbix_error.log
        CustomLog ${APACHE_LOG_DIR}/zabbix_access.log combined
</VirtualHost>

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

Ative a o serviço junto com a inicialização do sistema, e restarte os mesmos.

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

Acesse em seu navegador http://seu_ip/zabbix ou http://zabbix.seudominio.com.br

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.

Next step

Next step

Finish

Entre com Usuário Admin e senha zabbix

Ualaaa 🙂

Para dexa-lo em Português / Tema escuro:


Possível bug na instalação

Caso se deparar com essa tela não se assuste, faça o seguinte:

# touch /etc/zabbix/web/zabbix.conf.php
# chown www-data. /etc/zabbix/web/zabbix.conf.php

De um [Back] depois [Next] q é sucesso!


Alertas no Telegram

No Zabbix 5 temos o Telegram/Webhook, então bora aprender mexer nisso! Mas antes de mais nada será necessário criarmos um bot no Telegram.

Criando Bot no telegram

Abra o Telegram e procure por @BotFather.
Inicie a conversa com ele.

– Digite o comando /newbot para iniciar a criação de um novo bot.
– Após o comando você vai dar um nome para seu bot. Ex.: “Bot Legal RR”.
– Em seguida é necessário digitar o nome de usuário para o bot, sendo obrigatório terminar com bot. Ex.: “legallrr_bot”.
– Ao finalizar você receber informações com seu TOKEN, que vamos utilizar em seguida.

Neste exemplo nosso token para acessar a API HTTP ficou:
757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0

Agora que o token abra o menu Administração –> Tipos de mídias

Localize o Telegram e clique nele

Edite o ParseMode para HTML e Token para o token q você acabou de criar. Marque Process tags.

Neste momento que escrevo na própria descrição da mídia telegram ele recomenda você add o bot @myidbot para descobrir o seu ID, mas parace que este bot está “dormindo”. Vamos ao metodos tradicional. Você pode receber notificações direta do seu bot ou então adiciono-lo em um grupo.

Procure pelo seu bot e comece uma conversa com ele e envie uma mensagem de teste para o mesmo, pois vamos precisar descobrir o ID do seu usuário, para que ele possa lhe enviar as mensagens.

Abra em seu seu navegador a seguinte URL https://api.telegram.org/botTOKEN/getUpdates para descobrir o ID do usuário que enviou a mensagem ou de um grupo.
Ex.: https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/getUpdates

:: Chat privado ::

{"ok":true,"result":[{
	"update_id":649208620,"message":{
		"message_id":2,"from":{"id":221122111,"is_bot":false,"first_name":"Rudimar","last_name":"Remontti","username":"remontti","language_code":"pt-br"},
		"chat":{"id":999999999,"first_name":"Rudimar","last_name":"Remontti","username":"remontti","type":"private"},
		"date":1541210279,"text":"Testando"
	}
}]}

ID do chat privado: 999999999

Se desejar criar um grupo também, basta adicionar seu bot a ele, após adiciona-lo envia uma mensagem como /teste para que possamos coletar o ID do grupo.

:: Chat em Grupo ::

{"ok":true,"result":[{
	"update_id":649208622,"message":{"message_id":4,"from":{
		"id":221122111,"is_bot":false,"first_name":"Rudimar","last_name":"Remontti","username":"remontti","language_code":"pt-br"},
		"chat":{"id":-88888888888,"title":"Grupo Legal","type":"group","all_members_are_administrators":true
	},"date":1541210975,"text":"/teste","entities":[{"offset":0,"length":6,"type":"bot_command"}
}]}

ID do chat grupo: -88888888888

Atenção para os grupos que sempre tem um sinal “-” na frente do ID.

Com o ID do grupo/usuário precisamos vincular ao usuário do Zabbix (Neste caso Admin)
AdministraçãoUsuários Clique no usuário Admin

Com as opções do usuário aberto clique na aba Mídia em seguita clique no Adicionar, selecione o Tipo Telegram e insira o em Enviar para o ID.

Atualize

Agora vamos criar a ação que fará o envios dos alertas.
ConfiguraçõesAçõesCriar ação

De um nome para sua ação
Em Condição clique em adicionar: Selecione Incidente suprimido e marque Não

Na aba Operações primeiro item Operações clique em adicionar

Enviar para usuário: Selecione o Admin
Enviar apenas para: Telegram
Marque Custom message, preencha com:
Assunto:

❌ Problema: <b>{HOST.NAME}</b>

Mensagem

<code>{EVENT.NAME}</code>
<b>{ITEM.NAME1}</b> <i>{ITEM.VALUE1}</i>

<a href="{HOST.IP}">{HOST.IP}</a>
<i>{EVENT.SEVERITY}</i>

No item Operações de recuperação faremos praticamente o mesmo:

Assunto:

✅ Resolvido: <b>{HOST.NAME}</b>

Mensagem padrão

<code>{EVENT.NAME}</code>
<b>{ITEM.NAME1}</b> <i>{ITEM.VALUE1}</i>

<a href="{HOST.IP}">{HOST.IP}</a>
<i>{EVENT.SEVERITY}</i>

No item Operações de atualização
Assunto:

Problema atualizado: {EVENT.NAME}

Mensagem padrão

{USER.FULLNAME} {EVENT.UPDATE.ACTION} problema em {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
O status atual do problema é {EVENT.STATUS}, reconhecido: {EVENT.ACK.STATUS}.

Operações configurada, clique em atualizar.

Pronto! Agora precisamos gerar um incidente para ver se nosso alerta será enviado para o Telegram.

O sistema de envio de mensagem está concluído! 🙂

Grafana 7

Pacotes necessários:

# apt install gnupg2 apt-transport-https software-properties-common

Vamos baixar a key do repositório e adiciona-lo

# wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
# echo "deb https://packages.grafana.com/oss/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list

Atualize o repositório e instale o grafana

# apt update
# apt install grafana

OBS Julho/2021:
Atualmente o grafana que está sendo instalado é a versão 8, o mesmo na data de hoje está passando por um bug com o plugin do Zabbix caso você queira instalar a ultima versão 7.x faça o seguinte:
Solução fazer downgrade para última versão 7:

# vim /etc/apt/sources.list.d/grafana.list

Comente a linha do repositório (quando o bug for corrigido você pode descomenta-la para fazer o upgrade para versão 8).

#deb https://packages.grafana.com/oss/deb stable main
# apt update
# cd /tmp/
# wget https://dl.grafana.com/oss/release/grafana_7.5.9_amd64.deb
# apt install ./grafana_7.5.9_amd64.deb
# grafana-cli plugins update-all
# systemctl restart grafana-server

Antes de iniciar o grafana, se deseja alterar a porta padrão 3000 (recomendo) edite:

# vim /etc/grafana/grafana.ini

Localize http_port e defina a porta de sua escolha.

# The http port  to use
;http_port = 3000

Exemplo:

http_port = 53000

Localize em [plugins] ;allow_loading_unsigned_plugins descomente removendo o “;” e adicionando:

allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource


Caso contrário o plugin de integração com o zabbix não irá funcionar.

Já instalamos também o plugin Zabbix com ferramenta grafana-cli:

# grafana-cli plugins install alexanderzobnin-zabbix-app

É recomendado que mensalmente você faça atualizações dos plugins instalados, com o comando:

# grafana-cli plugins update-all

Agora sim colocamos o Grafana para iniciar junto com a inicialização, ativamos e inicializamos o serviço:

# systemctl daemon-reload
# systemctl enable grafana-server
# systemctl start grafana-server

Acesse em seu navegador http://IP_URL:3000 ou pela porta que você alterou. O nome de usuário padrão é admin e a senha padrão é admin.

Ao fazer login pela primeira vez, você será solicitado a alterar sua senha.

Uhull 🙂

Integração do grafana com o Zabbix

Acesse o Configuration –> Plugins:

Localize o Zabbix e clique no mesmo

Agora ative clicando em Enable.

Volte em Configuration –> Data Sources

Clique em Add data source.

Uma nova tela com varias fontes, localize Zabbix e clique em Select

Nas opções HTTP em URL informe o endereço do seu servidor Zabbix http://IP_URL/zabbix/api_jsonrpc.php. Em Access selecione Browser. Em Zabbix API details informe seu usuário e senha do Zabbix e selecione a versão correspondente.

Role até o final e e clique em Save & Test Se tudo ocorreu bem uma altera positivo com“Zabbix API version: 5.x.x” aparecerá.

Você pode também pode fazer uma conexão MySQL (MariaDB) com o banco de dados do zabbix, para tornar as coisas mais rápidas. Para isso basta “Add data source” pesquisar por mysql, e informar os dados de conexões, provavelmente seu grafana esteja junto com seu zabbix, então basta informa nome do banco, usuário e senha.

Vá para as configurações do data source do zabbix, localize Direct DB Connection, ative-o e selecione MySQL.

Agora vem a parte mais “chata/legal” que é você montar seus gráficos, como isso é algo bem peculiar de cada um, o intuito aqui era ensinar instalar. Recomendo a leitura de Introdução ao Grafana-Zabbix do autor do plugin.

Simples né? Gostou e quer me ajudar? 🙂

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!

Bônus – Proxy grafana

# a2enmod rewrite
# a2enmod headers
# a2enmod proxy
# a2enmod proxy_http
# mkdir /var/www/grafana
# vim /etc/apache2/sites-available/grafana.conf
<VirtualHost *:80>
	Protocols h2 http/1.1
	ServerName grafana.remontti.com.br
	ServerAdmin noc@remontti.com.br
	DocumentRoot /var/www/grafana

	ErrorDocument 403 http://www.remontti.com.br

	<Directory /var/www/grafana/>
		Options Indexes FollowSymLinks
		AllowOverride all
		Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe::/48
	</Directory>

	LogLevel warn

	ProxyPreserveHost On
	ProxyPass / http://localhost:53000/
	ProxyPassReverse / http://localhost:53000/

	ErrorLog ${APACHE_LOG_DIR}/grafana_error.log
	CustomLog ${APACHE_LOG_DIR}/grafana_access.log combined
	TransferLog ${APACHE_LOG_DIR}/grafana_access.log

</VirtualHost>
# a2ensite grafana
# systemctl restart apache2

Fontes:
https://www.zabbix.com/download
https://www.zabbix.com/documentation/
https://grafana.com/docs/grafana/latest/installation/debian/
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app
https://alexanderzobnin.github.io/grafana-zabbix/configuration/
https://core.telegram.org/bots

Rudimar Remontti

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

Você pode gostar...

71 Resultados

  1. Raildson Felipe da Silva disse:

    Muito obrigado, estava procurando um bom lab para relembrar aspectos da instalação, configuração e integração zabbix+grafana.

  2. junior maia disse:

    o meu nao enviar as mensagens negrito e italico alguem sabe pq

  3. junior maia disse:

    amigo , e como fazemos para enviar o grafico para o telegram ? queriamos enviar os graficos dos problemas disparados

  4. Gonçalo disse:

    Muito bom muito bom!!!
    Consegui por um teste a correr numa questão de minutos.
    Obrigado

  5. eu disse:

    Execelente material, seguindo o passo a passo funcionou8 de primeria, parabens!

  6. Rodrigo Cabral disse:

    Excelente documentação!!!

  7. Alessandro disse:

    Alguém poderia colar o script default do TELEGRAM WEBHOOK.

  8. Vamilson disse:

    Este método de envio para o telegram não permite que seja enviados os gráficos?

  9. Jorge disse:

    Muito bom….

  10. Mychell Erick disse:

    Boa noite pessoal.
    Primeiro Parabenizar o Tutorial, ficou top, tudo rondando certinho.
    O único ponto que eu gostaria de saber é como filtrar as notificações do telegram, gostaria que somente as notificações criticas fossem para o telegram, teria como ?

  11. Ola amigo muito obrigado pelo aula, um show! de ta tudo rodando lindamente aqui.
    muito obrigado

  12. Gabriel Teixeira disse:

    Muito bom o Tutorial, porém estou tendo problemas com o boot do telegram.
    {Sending failed: Bad Request: can’t parse entities: Unsupported start tag “” at byte offset 75}
    Todas as notificações estão com esse erro, já conferi os ID’s, já refiz o processo e o erro persiste.

  13. Renato disse:

    Details Cannot add action

    O meu ta dando esse erro ao criar a Ação Error in query [INSERT INTO opmessage (mediatypeid,default_msg,subject,message,operationid) VALUES (’16’,’0′,’❌ Problema: {HOST.NAME}‘,'{EVENT.NAME}\r\n{ITEM.NAME1} {ITEM.VALUE1}\r\n \r\n{HOST.IP}\r\n{EVENT.SEVERITY}‘,’11’)] [Incorrect string value: ‘\xE2\x9D\x8C Pr…’ for column ‘subject’ at row 1]
    SQL statement execution has failed “INSERT INTO opmessage (mediatypeid,default_msg,subject,message,operationid) VALUES (’16’,’0′,’❌ Problema: {HOST.NAME}‘,'{EVENT.NAME}\r\n{ITEM.NAME1} {ITEM.VALUE1}\r\n \r\n{HOST.IP}\r\n{EVENT.SEVERITY}‘,’11’)”.

  14. Charles Iapp disse:

    Boa noite. Novamente, muitíssimo obg pelo ótimo tutorial disponibilizado, sempre o uso para meus labs. “Segundamente”, como recomendado no tutorial, sempre executo o comando “grafana-cli plugins update-all” para manter os plugins atualizados, mas esta semana, após atualizar a versão do plugin-zabbix para 4.1.1 estou com um problema em alguns itens que monitoro no grafana, a exemplo do UpTime, agora só aparece em dias/horas/segundos, msm excluindo o item e reconfigurando ele em Fiel/Unit para seconds (s), nada muda. Posso colocar qualquer outra configuração aleatória que nada muda as informações retornadas.

    Gostaria de saber se também já passou por isso e se tem alguma solução. Me recomendaram fazer o downgrade da versão do Plugin, mas não consegui realizar o msm.

  15. Ricardo Souza disse:

    Rudimar, depois de um tempo meu zabbix ficou extremamente lento e recebo vários alertas de LLD, hausekkeper, cache entre outros, em determinada situação o zabbix parou mesmo literalmente, aí fiz uns ajustes no zabbix_server.conf porém alguns alertas continuam e o frontend extremamente lento.

  16. Mateus disse:

    Boa noite, estou com o seguinte problema quando acesso pelo IP para finalizar a instalação

    Details Cannot connect to the database.

    Unable to determine current Zabbix database version: the table “dbversion” was not found.

    OBS: na hora da instalação eu utilizei mysql -u root -p, inves de utilizar o mariadb -u root -p, pois no mariadb estava pedindo uma senha e quando eu colocava não funcionava

    e também utilizei o zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

    • em algum momento deve ter feito algo errado 🙂

      • Vanderson da Silva disse:

        estou com o mesmo problema

        ao executar a linha abaixo

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

        e entrar com o password.

        retorna ao prompt sem informar nenhum erro, porem na instalação pelo frontoend recebo o mesmo erro

        “Unable to determine current Zabbix database version: the table “dbversion” was not found.”

        • Apague o banco e rode novamente, provavelmente vc rodou o comando e abortou no meio do caminho.

          • Vanderson da Silva disse:

            Descobri aqui… a nova versão do Zabbix mudou o local do script para criar a estrutura do banco e tb mudou no nome do arquivo. com o schema.

            Amigo, muito obrigado pelo retorno.

            []s

          • Rafael Siqueira disse:

            mudou de /usr/share/doc/zabbix-server-mysql/create.sql.gz

            para /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz

            se não funcionar faça:

            sudo su
            [sua senha]
            find / -name create.sql.gz

            vai aparecer onde está o arquivo

  17. ARI EDUARDO FERREIRA RICARDO disse:

    Boa tarde!
    Ocorreu esse erro ao tentar acesso ao mysql.

    # mariadb -u root -p
    Enter password:
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    Refiz todos os passo até aí. Refiz a instalação do SO (DEbian 10), porém o erro é o mesmo.
    Oque pode estar ocorrendo?

    Grato.

    • Fábio Henrique disse:

      Opa amigo, tudo bem?
      Você primeiro precisa instalar o MariaDB, caso contrário está colocando senha para o nada.
      Logo no inicio da postagem há um link para a instalação do PHP, Apache e MariaDB. Todos recursos importantes para o processo.

  18. Ricardo Souza disse:

    Bom dia, quando vou importar as tabelas iniciais do arquivo create.sql.gz ele demora e não conclui o processo, esperei mais de 20 min e nada, sabem me falar o que possa ter feito errado ?

  19. JOABE SANTOS disse:

    Tutorial perfeito! Só me restou uma dúvida quanto ao disparo de mensagens pelo telegram, se teria algum tipo de filtro para só enviar notificações sobre incidentes de determinados hosts. E outra, quero saber quando que você vai fazer um tutorial bem completo sobre a integração do monitoramento do Downdetector ao Grafana?

  20. Gabriel Rezende disse:

    top demaaais esse tutorial, valeu mesmo

  21. Jonathan disse:

    Tutorial top d+! PARABÉNS!

  22. Fábio disse:

    Remontti, como vc vê o sizing dos servers para o Zabbix em Provedor? Estou dando os primeiros passos, porém gosto de analisar bem antes de por a mão na massa (principalmente para colocar em produção). vi alumas documentações que exploram a configuração do Database (server1) + Aplicação (server2) + Graficos (server3)… e se tiver em Cloud, colocar um Proxy no local… em contrapartida vi Appliances prontos em VPS’s e em Cloud’s por aí… qual sua ótica em relação a esses cenários? Desde já grato.

  23. Mauricio disse:

    no meu caso o zabbix apareceu em Plugins e habilitei mais em Add data source ele não apareceu, ja limpei o cookies do navegador limpei o historico e troquei de navegador mais nada, todos apresentam o mesmo problema.

    • Gustavo disse:

      Mauricio, tive o mesmo problema. Achei a solução no Github do plugin.

      Installation
      Prerequisites: plugin requires Grafana 7.0 to run.

      Use the grafana-cli tool to install Zabbix from the commandline:

      grafana-cli plugins install alexanderzobnin-zabbix-app
      Unsigned plugins are not loading by default, so allow it in the Grafana config file:
      allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource
      restart Grafana server
      Refer to allow_loading_unsigned_plugins option description for more information.

      Tive que adicionar na config do arquivo do Zabbix a informação acima, espero que te ajude.

      Abraços.

      PS: Rudimar você sempre faz ótimos tutoriais como sempre, muito obrigado por compartilhar conhecimento.

    • eduardo disse:

      aconteceu comigo tambem

    • Eberty Rodrigues disse:

      Não consegui passar daqui tbm.

  24. Emerson disse:

    Belo tutorial, meus parabens tudo de bom para você.

  25. Magdiel disse:

    Primeiramente parabéns pelo seu tutorial, muito bem explicado e de facil implementação.

    Minha duvida é sobre o Telegram, ao configurar o Bot, e jogar o token na api, o erro que me retorna é {“ok”:false,”error_code”:401,”description”:”Unauthorized”}

    sabe como pode ser resolvido?

  26. Ronnei disse:

    Olá Rudmar!
    Primeiramente parabéns pelo blog.
    Fiz todo o passo a passo conforme o seu tutorial, só que, quando testo a mídia me aparece o seguinte erro : Falha no teste do tipo de mídia.
    SyntaxError: invalid object literal (line 1)….

  27. Ronaldo Pedrosa disse:

    Remontti, tuso bem… Estou com esse erro logo depois que vou criar a base de dados mariadb -u root -p.

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    sabe informar a solução ?

    Obs: Ja fiz a reinstalação 2x e mesmo assim quando chega nessa parte acontece esse erro e durante a instalação do Linux Debian tudo normal seguindo o passo a passo.

  28. James disse:

    Muito Obrigado, assim que sair dessa crise eu irei doar 😀

  29. Charles Iapp disse:

    Primeiramente, parabéns pelo trabalho impecável. Uso seu blog como referência pra tudo relacionado ao zabbix.
    Remontti, seguinte. Ao configurar a mensagem personalizada para envio de notificações via telegram, ando tendo um pouco de dor de cabeça, lhe ocorreu algum problema semelhante?
    O erro em questão é esse: Sending failed: Bad Request: can´t parse entities: Unsupported start tag “” at byte offset, e ele consta no dashboard, no status do envio.
    Limpei todos os possíveis carácteres especiais como , etc. Mas não vai.

    E aí, se apago toda a mensagem padrão disponibilizada por você e insiro apenas “teste” no corpo da msg, ai vai normalmente.

    Alguma dica?

  30. Ronaldo Pedrosa disse:

    Bom dia! Como consigo resolver esse erro >> Sending failed: Error: cannot get URL: Timeout was reached.

    Isso acontece quando não consegue enviar a msg para o Telegram, não sei se pode ser o numero de requisições que foi demais, tem como alterar alguma coisa ?

    • Provavelmente informou o token errado.

      • Ronaldo Pedrosa disse:

        Tava funcionando normalmente parou do nada, conseguir pegar o log tem como me ajudar ?

        00:00:00.004 [Depuração] [Telegram Webhook] URL: https://api.telegram.org/bot/sendMessage
        00:00:00.004 [Depuração] [Telegram Webhook] params: {“chat_id”:”{ALERT.SENDTO}”,”text”:”{ALERT.SUBJECT}\n{ALERT.MESSAGE}”,”disable_web_page_preview”:true,”disable_notification”:false,”parse_mode”:”HTML”}
        00:00:10.005 [Depuração] [Telegram Webhook] notification failed: Error: cannot get URL: Timeout was reached.

        • Junior disse:

          olá, vc conseguiu resolver esse problema? pois aqui está igual

          • 00:00:00.000 [Depuração] [Telegram Webhook] URL: https://api.telegram.org/bot/sendMessage
            00:00:00.000 [Depuração] [Telegram Webhook] params: {“chat_id”:-676935839,”text”:”**Alerta**\n{ALERT.MESSAGE}”,”disable_web_page_preview”:true,”disable_notification”:false,”parse_mode”:”html”}
            00:00:00.001 [Depuração] [Telegram Webhook] notification failed: Error: cannot get URL: Couldn’t resolve host name.

            Amigo, aqui estou com esse erro, poderia me ajudar??

  31. Peterson Reimberg disse:

    Caso alguém esteja com erro no DPKG segue os comandos pra solução:

    export PATH=xxxxxxxxxxxxxxxxxxxxxxxx
    sudo export PATH=xxxxxxxxxxxxxxx

    • Peterson, fazendo isso (removi para ninguém fazer) você quebra com a segurança do servidor, no debian 10 vc precisa virar root com su – q vai incorporar isso q vc passou (q apaguei) rsrsr

      Existe diferença entre su e su –

      O novo ‘su’ (sem args, ou seja, ao preservar o ambiente) também preserva o PATH e o IFS, enquanto o antigo su sempre reiniciava o PATH e o IFS, mesmo no modo ‘preservar o ambiente’.
      su ” (string de usuário vazia) usada para dar root, mas agora retorna um erro.
      anteriormente su tinha apenas uma configuração pam, mas agora ‘su -‘ é configurado separadamente em /etc/pam.d/su-l
      A primeira diferença é provavelmente a mais visível do usuário. Fazer o ‘su’ simples é realmente uma má idéia por muitas razões, então é altamente recomendável usar ‘su -‘ para sempre obter um ambiente recém-configurado semelhante a um login normal. Se você quiser restaurar um comportamento mais semelhante ao anterior, você pode adicionar ‘ALWAYS_SET_PATH yes’ em /etc/login.defs.

      Fonte: https://sources.debian.org/src/util-linux/2.33.1-0.1/debian/util-linux.NEWS/

  32. Ed Gilson disse:

    segui o tutorial e funcionou perfeitamente, Parabens, porem não estou conseguinto acessar o grafana fora da minha rede, faço redirecionamento do ip xxx.xxx.xxx.xxx: 45000 para o ip do grafana:3000 o mesmo carrega faz login porem nos grafico fica failed to fetch e não abre os graficos mas no zabbix funciona normalmente o acesso redirecionado, alguem ja passou por isso?

  33. Ronaldo Pedrosa disse:

    Bom dia! Rudimar não estou conseguindo resolver esse problema o que faço nesse caso tenho que mudar minha /etc/apt/sources.list

    Problema:

    root@zbxpiernet:/home/piernet# apt-get install snmp-mibs-downloader
    Lendo listas de pacotes… Pronto
    Construindo árvore de dependências
    Lendo informação de estado… Pronto
    O pacote snmp-mibs-downloader não está disponível, mas é referenciado por outro pacote.
    Isto pode significar que o pacote está faltando, ficou obsoleto ou
    está disponível somente a partir de outra fonte

    E: O pacote ‘snmp-mibs-downloader’ não tem candidato para instalação

  34. Ronaldo Pedrosa disse:

    Parabéns pelo material muito bem explicado…

    Uma duvida depois que finalizado precisa instalar algum pacote de MIBs no Servidor Zabbix ?

    • Só se vc tiver algum template que precise de uma MIB especial.

      • Guilherme disse:

        Por favor, me ajude. Fiz todo tutorial o qual foi sensacional. Porém, ao tentar integrar o grafana com o zabbix da ó seguinte erro ” invalid character ‘<' looking for beginning of value" Isso ocorre na parte do data source. Eu coloco o login e senha e na hora de validar aparece este erro. Este é o log gerado.

        t=2020-12-11T20:28:27-0300 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=POST path=/api/datasources/10/resources/zabbix-api status=500 remote_addr=1.1.1.1 time_ms=56 size=103 referer=http://localhost:22/datasources/edit/10/

  35. Diego disse:

    Acompanho o site a muito tempo, parabéns e muito obrigado por compartilhar conhecimento.

  36. Alisson disse:

    Seria legal um tutorial, com instalação com banco de dados separado do zabbix

  37. Roberto disse:

    muito bom seu tutorial!!

  1. 13 de novembro de 2020

    […] Instalação do Zabbix 5 + notificações pelo Telegram nativo + Grafana 7 + Debian 10 Buster […]

Deixe um comentário

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