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ção ⇒ Usuá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ções ⇒ Ações ⇒ Criar 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 *