Instalação do Grafana 10> 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
1 2 3 4 5 |
# 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
1 |
# 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)
1 |
# vim /etc/nginx/sites-available/grafana.conf |
Adicione:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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://localhost:3000; proxy_set_header Host $host; } } |
Cria o link para sites-enabled em seguida verifique as configurações e reinicie o serviço.
1 2 3 |
# 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:
1 2 |
# a2enmod rewrite; a2enmod headers; a2enmod proxy ; a2enmod proxy_http ; mkdir /var/www/grafana |
1 |
# vim /etc/apache2/sites-available/grafana.conf |
Adicione:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<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://localhost:3000/ ProxyPassReverse / http://localhost: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:
1 2 |
# a2ensite grafana # systemctl restart apache2 |
Vamos fazer alguns ajustes:
1 |
# 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:
1 |
http_addr = localhost |
Em ;domain = ajuste para seu domínio.
1 |
domain = grafana.remontti.com.br |
E ajuste a ;root_url = %(protocol)s://%(domain)s:%(http_port)s/ para:
1 |
root_url = %(protocol)s://%(domain)s/ |
Instale o Plugin Zabbix
1 |
# grafana-cli plugins install alexanderzobnin-zabbix-app |
É recomendado que mensalmente você faça atualizações dos plugins instalados, com o comando:
1 |
# grafana-cli plugins update-all |
Agora sim colocamos o Grafana para iniciar junto com a inicialização, ativamos e inicializamos o serviço:
1 2 3 |
# 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:
1 |
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/
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?
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
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.