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
Informe a senha do banco de dados criada anteriormente para o zabbix, e clique em Next step.
Entre com Usuário Admin e senha zabbix
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.
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.
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
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
Muito obrigado, estava procurando um bom lab para relembrar aspectos da instalação, configuração e integração zabbix+grafana.
o meu nao enviar as mensagens negrito e italico alguem sabe pq
amigo , e como fazemos para enviar o grafico para o telegram ? queriamos enviar os graficos dos problemas disparados
Muito bom muito bom!!!
Consegui por um teste a correr numa questão de minutos.
Obrigado
Execelente material, seguindo o passo a passo funcionou8 de primeria, parabens!
Excelente documentação!!!
Alguém poderia colar o script default do TELEGRAM WEBHOOK.
Este método de envio para o telegram não permite que seja enviados os gráficos?
Muito bom….
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 ?
Lá na hora de configurar a mídia para o usuário vc pode definir.
Ola amigo muito obrigado pelo aula, um show! de ta tudo rodando lindamente aqui.
muito obrigado
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.
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’)”.
Parece que seu banco de dados esta quebrado. Recomendo reinstalar.
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.
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.
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 🙂
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.
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
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
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.
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.
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 ?
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?
Na hora q vc for criar a ação vc pode personalizar as condições.
Downdetector ta bem complicado, pois eles andam bloqueando.
top demaaais esse tutorial, valeu mesmo
Tutorial top d+! PARABÉNS!
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.
Pergunta “complexa” pois eu vejo que cada um tem uma realidade, então depende muito do tamanho do seu provedor. Se você tiver algo muito grande recomendo usar postgresql.
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.
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.
aconteceu comigo tambem
Não consegui passar daqui tbm.
Belo tutorial, meus parabens tudo de bom para você.
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?
Verifica o ID do telegram, aparentemente ta enviado para um errado.
Consegui resolver alterando o ID mesmo, porém encontrei outro erro, “Sending failed: Error: cannot get URL: SSL connect error..” e ele nao consegue enviar a mensagem…
Boa noite amigo, por acaso você conseguiu resolver esse erro?
Aqui para mim está dando o erro “Sending failed: Error: cannot get URL: Couldn’t resolve host name..” se caso possuir algum conhecimento, agradeço a ajuda!
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)….
Verifica se não ficou algum “carácter” em “branco” (invisivel) no inicio da das mensagens…
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.
Aparentemente o mariadb não está rodando. Hj a noite 21/07/2020 vou montar uma sala para fazer esse tutorial, se quiser participar o link sera enviado la no grupo do telegram https://t.me/remontticombr
Ok, Obrigado
Olá, meio tarde, mais resolvi esse erro reinstalando apenas o mariadb:
sudo apt-get install mariadb-server
Depois configurei a senha usando:
mysql_secure_installation
Sefuncionar para vc da um toque! vlw flw
Deu certo, valeu amigooo!
Muito Obrigado, assim que sair dessa crise eu irei doar 😀
🙂 Obrigado!
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?
Entra lá no grupo do telegram para dar mais detalhes! Abraço
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.
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.
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??
Caso alguém esteja com erro no DPKG segue os comandos pra solução:
export PATH=xxxxxxxxxxxxxxxxxxxxxxxxsudo 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/
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?
Como esta na mesma máquina, vc não precisa direcionar porta.
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
Esse aqui conseguir resolver depois que coloquei a linha deb http://ftp.de.debian.org/debian buster main non-free no /etc/apt/sources.list.
Não faz muito sentido.
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.
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/
Acompanho o site a muito tempo, parabéns e muito obrigado por compartilhar conhecimento.
Seria legal um tutorial, com instalação com banco de dados separado do zabbix
muito bom seu tutorial!!