Neste tutorial http://zabbixbrasil.org/?p=1674, eu e André Déo mostramos como instalar o Grafana no Debian 8, CentOS 7 e Ubuntu 16.04 (ambos 64 bits). Nesse mesmo tutorial é mostrada a integração do Grafana com o Zabbix.
Agora será mostrado como configurar o Grafana para funcionar sobre HTTPS, usando um certificado auto-assinado.
Criando um certificado auto-assinado
Instale o pacote opensssl.
No Debian 8/Ubuntu 16.04:
sudo apt-get -y install openssl
No CentOS 7:
sudo yum install -y openssl
Agora crie uma chave privada RSA. Execute os comandos abaixo.
sudo mkdir /etc/certs cd /etc/certs/ sudo openssl genrsa -aes256 -out server.key 2048 sudo cp server.key server.key.org sudo openssl rsa -in server.key.org -out server.key sudo chmod 755 server.key sudo rm server.key.org
Defina uma senha para a chave.
Agora crie uma requisição de assinatura de certificado com validade para 10 anos (ou 3650 dias). Execute o comando abaixo.
openssl req -new -sha256 -days 3650 -key server.key -out server.csr
Durante a execução do comando acima será solicitado a senha da chave privada e os dados do certificado e que serão exibidos no navegador do usuário. Veja o exemplo abaixo.
Country Name (2 letter code) [GB]:BR
State or Province Name (full name) [Berkshire]:Estado
Locality Name (eg, city) [Newbury]:Cidade
Organization Name (eg, company) [My Company Ltd]: Minha empresa LTDA
Organizational Unit Name (eg, section) []:Meu setor de trabalho
Common Name (eg, your name or your server’s hostname) []:nomeservidor.empresa.com.br
Email Address []:email@empresa.com.br
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Agora assine o certificado.
sudo openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt
Usando, o comando acima, você estará assinando o certificado com validade de 10 anos (aproximadamente 3650 dias). Se quiser mudar este tempo, altere a quantidade de dias no parâmetro -days.
Configurando o Grafana para funcionar sobre HTTPS
Quando o Grafana é instalado via pacote .deb, o arquivo de configuração fica em: /etc/grafana/grafana.ini.
Edite o arquivo /etc/grafana/grafana.ini e altere os parâmetro abaixo para ficar da seguinte maneira.
Antes:
;protocol = http
;http_port = 3000
;cert_file =
;cert_key =
Depois:
protocol = https
http_port = 3000
cert_file = /etc/certs/server.crt
cert_key = /etc/certs/server.key
Agora é só reiniciar o Grafana.
No Debian 8/Ubuntu 16.04:
sudo service grafana-server restart
No CentOS 7:
sudo systemctl restart grafana-server
O Grafana estará acessível na URL: https://ip-servidor:3000
Aceite o certificado no navegador, pois o mesmo vai reclamar que o site está usando um certificado auto-assinado.
Os passos acima pode ser adaptados para a sua realidade, caso possua um certificado válido.
Se quiser configurar o Grafana para disponibilizar dashboards para cada cliente, siga os passos deste tutorial: http://andredeo.blogspot.com.br/2016/12/zabbix-e-grafana-disponibilizando-um.html
Fonte:
Acredito que esse projeto possa ajudar 😀
https://letsencrypt.org/
Muito bom o tutorial Aécio Pires, acho que faltou apenas permissão no arquivo /etc/certs/server.key
conforme logs do grafana abaixo:
t=2021-06-02T19:06:16-0300 lvl=eror msg=”A service failed” logger=server err=”open /etc/certs/server.key: permission denied”
t=2021-06-02T19:06:16-0300 lvl=eror msg=”Server shutdown” logger=server reason=”open /etc/certs/server.key: permission denied”
solucionado com o comando
chmod 755 server.key
Oi, Maurício!
Obrigado pelo aviso. Já adicionei no tutorial.
Abraço.
Existe a possibilidade de usar o grafana em um dominio direto ? Sem o uso do :3000 ? Tipo graficos.seudominio.com.br
Bom dia, Felipe!
Sim, você pode colocar na frente do Grafana o Nginx ou Apache para atuar como proxy reverso… ele receberia a requisição na porta 80 ou 443 e repassaria para o grafana na porta 3000. Para o usuário fica transparente… Ele tem a impressão que está acessando o Grafana diretamente na porta 80 ou 443, mas não está.
Para fazer isso, tem vários tutoriais na Internet.
https://www.google.com/search?q=nginx+proxy+reverse&oq=nginx+proxy+re&aqs=chrome.2.0i512l3j69i57j0i512l3j69i60.7472j0j7&sourceid=chrome&ie=UTF-8
Abraço.
Não precisa de um proxy reverso, pois o grafana server faz esse trabalho na sua própria configuração, você especifica o domínio e a url padrão, tendo domínio registrado e ja propagado para o IP do grafana e liberado as portas corretas tudo deve funcionar.
Onde estão essas configurações Marcio?