Instalação do Grafana 11> com integração com Zabbix – (Debian 11 Bullseye/12 Bookworm)
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, e neste tutorial vamos aprender a instala-lo e integrar com o Zabbix.
Requisitos:
Debian
Instalação Debian 12 Bookworm
Instalação Debian 11 Bullseye
Zabbix:
Instalação do Zabbix 7 LTS + NGINX + PostgreSQL + Debian 12 Bookworm
Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm
Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 11 Bullseye
Vamos baixar a key do repositório e adiciona-lo
# apt install gnupg2 apt-transport-https software-properties-common wget # wget -q -O - https://apt.grafana.com/gpg.key | \ gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg > /dev/null # echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg]\ https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list
Atualize o repositório e instale o grafana
# apt update; apt install grafana -y
Já aconteu dos desenvolvedores remover do repositório o pacote grafana, nesse caso acesse:
https://grafana.com/grafana/download?edition=oss e faça a instalação de forma manual.
Proxy com Nginx grafana
Se você esta usando como servidor web o Nginx para acessar o grafana através de um domínio faça: (se o seu for apache pule)
# vim /etc/nginx/sites-available/grafana.conf
Adicione:
server { listen 80; listen [::]:80; server_name grafana.remontti.com.br; # Descomente para restringir o acesso apenas aos IPs Listados # allow 127.0.0.1; # allow ::1; # allow 192.168.0.0/16; # allow 2801:db8::/32; # deny all; # error_page 403 http://www.remontti.com.br; location / { proxy_pass http://127.0.0.1:3000; # Porta padrão do Grafana proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 90; # Suporte a WebSocket proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_cache_bypass $http_upgrade; } }
Cria o link para sites-enabled em seguida verifique as configurações e reinicie o serviço.
# ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/ # nginx -t # systemctl restart nginx
Proxy com Apache grafana
Se você esta usando como servidor web o Apache para acessar o grafana através de um domínio faça:
# a2enmod rewrite; a2enmod headers; a2enmod proxy ; a2enmod proxy_http ; mkdir /var/www/grafana
# vim /etc/apache2/sites-available/grafana.conf
Adicione:
<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 # Descomente para restringir o acesso apenas aos IPs Listados # Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe::/48 </Directory> LogLevel warn ProxyPreserveHost On ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ ErrorLog ${APACHE_LOG_DIR}/grafana_error.log CustomLog ${APACHE_LOG_DIR}/grafana_access.log combined TransferLog ${APACHE_LOG_DIR}/grafana_access.log </VirtualHost>
Ative a nova configuração e reinicie o Apache:
# a2ensite grafana # systemctl restart apache2
Vamos fazer alguns ajustes:
# vim /etc/grafana/grafana.ini
Como utilizei um proxy irei executar o grafana apenas em modo localhost para que a porta 3000 fique aberta apenas para ele mesmo. Localize ;http_addr = e deixe assim:
http_addr = 127.0.0.1
Em ;domain = ajuste para seu domínio.
domain = grafana.remontti.com.br
E ajuste a ;root_url = %(protocol)s://%(domain)s:%(http_port)s/ para:
root_url = %(protocol)s://%(domain)s/
Instale o Plugin Zabbix
# 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
Depois da versão 11.1 existe um bug que acaba nao dando permissão para o usuário grafana ler/gravar em /var/lib/grafana/plugins, então corrija utilizando o comando:
# chown -R grafana: /var/lib/grafana/plugins
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 seu “http://grafana._______.___.__” ou então http://IP_URL:3000 ou pela porta que você alterou. O nome de usuário padrão é admin e a senha padrão é admin.
Se caso perder a senha de admin pode resetar ela com o comando:
grafana-cli admin reset-admin-password admin
Ao fazer login pela primeira vez, você será solicitado a alterar sua senha.
Integração com a base de dados Zabbix
Acesse o Menu (1) Administration (2) Plugins(3) Localize o Zabbix e clique no mesmo.
Escreva na pesquisa (1) Zabbix e em seguida clique sobre (2)
Volte ao Menu (1) abra Connections (2) Clique em Data sources (3)
Escreve na busca (1) Zabbix e clique nele (2)
Agora em URL http://localhost/api_jsonrpc.php se você seguiu o tutorial do bloque para instalação do zabbix com domínio deve ter visto uma alias também para localhost, caso contrário informe os dados correto da URL do seu Zabbix.
Role mais um pouco e informe o usuário e senha do zabbix (eu gosto de criar um usuário só para isso)
Clique em Save & test (1) Se tudo ocorrer bem você receberá uma mensagem de sucesso (2)
Volte ao Menu, Connections, Data source (1) e clique em Add new data source (2)
Iremos adicionar o Postgresql para otimizar as consultas no zabbix, isso faz total diferença em otimização! Então pesquise (1) por Postgresql e clique sobre (2)
Informe os dados de conexão com o Postgres qual usou na instalação da base do zabbix.
Role para baixo e selecione a versão (1) do seu PostgreSQL. Para Debian 12 a versão é a 15, e para Debian 11 a versão é a 13. Em Seguida Clique em Save & Test (2) Se uma mensagem de sucesso (3) aparecer tudo funcionou!
Volte ao Menu, Connections, Data source (1) e clique em Zabbix (2)
Role até achar Direct DB Connection (1) e clique em enable (2), em Data Source selecione PostgreSQL (3) em seguida clique em Save & Test (4), você receberá uma mensagem de sucesso (5)
Agora vem a parte mais “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!
Fontes:
https://grafana.com/docs/grafana/latest/installation/debian/
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app
https://www.zabbix.com/documentation/
Uma duvida, é interessante manter no mesmo servidor do zabbix o ideal é uma VM para cada aplicação (Zabbix / Grafana)
Operação pequenininha, nada grandioso…
Não vejo nenhum problema em rodar o grafana junto.
Preciso de um Help, fiz toda a instalação correta, tanta do zabbix quanto da grafana, porem quando vou la habilitar o plugin do zabbix ele aparece para instalar e nao ativar. E se eu aperto para instalar ele da erro e nao vai para a frente.
Da uma conferida nas permissoes da pasta plugins. tem que estar como grafana mas fica como root so alterar que normaliza.
Muito bom o tutorial!
Porém para mim uso o zabbix 7.0 e instalei o Grafana 11, conforme descrito aqui, porém meu plugin não instala, aparece a mensagem de erro: Failed to install plugin
Alguma dica?
instalei o zabbix, e grafana no mesmo debian 12, porem o grafana depois de todas as configuraçoes não abre nem via ip na porta 3000 nem via nomes, da pagina recusada, alguem passou por isso?
Opa blza?
Comente a linha:
;http_addr = localhost
restart o grafana server e teste novamente.
O meu estar dando esse erro na parte de colocar o URL no Data sources do grafana
no grafana na URL: http://127.0.0.1/api_jsonrpc.php. Colocando assim resolveu meu problema
Deu certo, pra mim tambem
Tutoriais fantásticos como sempre!
Pessoal ja venho trabalhando com o grafana a bastante tempo, mais hoje tive que instalar um novo e o mesmo funciona tudo tranquilo no pc e no celular vai de boa sem problemas , mais estou com um problema com a tv lg smart esta dando esse erro:
alguem tem alguma solucao ???
If you’re seeing this Grafana has failed to load its application files
1. This could be caused by your reverse proxy settings.
2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not using a reverse proxy make sure to set serve_from_sub_path to true.
3. If you have a local dev build make sure you build frontend using: yarn start, yarn start:hot, or yarn build
4. Sometimes restarting grafana-server can help
5. Check if you are using a non-supported browser. For more information, refer to the list of [supported browsers](https://grafana.com/docs/grafana/latest/installation/requirements/#supported-web-browsers).
Muito Bem organizado e bem explicado, porém, seguindo todo o passo-a-passo “ao pé da letra”, quando vamos adicionar o Datasource Zabbix, simplesmente da erro ( request failed, status: 404 Not Found ).
Já tentei tudo o que pude imaginar. Teria alguma idéia do que eu possa fazer para deixar o Zabbix e o grafana rodando nos mesmos padrões ?
Obs.: Apenas não fiz apontamento dns para o ip público do debian.
Aqui eu precisei mudar de http para https no api do zabbix e também usei o nome do subdomínio dele, pois por ip dava que n tinha certificado válido e deu td certo.
Só queria saber quando preciso usar esse proxy grafana.