Introdução
O Grafana é um software de código aberto que transforma vários feeds de sistemas como o Graphite, o Telegraf e o InfluxDB em belas métricas em um painel centralizado.
Este tutorial cobrirá o processo de instalação da interface da web do Grafana.
Pré-requisitos
- Uma instância do servidor Ubuntu 16.04 LTS x64.
- Um usuário sudo (ou conta root) .
- Opcional: um nome DNS (para uso com certificados Vamos Criptografar)
Atualize o sistema
Atualize seu sistema antes de instalar o Grafana.
apt-get update && apt-get upgrade
Preparando o firewall
Primeiro vamos endurecer a imagem um pouco. Vamos também verificar se a imagem que foi provisionada está ufw
ativada.
[email protected]:~# ufw status
Status: inactive
Por padrão, ele está desativado, por isso, precisamos adicionar algumas regras:
- Regra 1: ssh: porta TCP 22
- Regra 2: http: porta TCP 3000 (porta Grafana padrão)
Execute os seguintes comandos, um por um.
ufw allow 22/tcp
ufw allow 3000/tcp
Ativar os serviços de firewall.
ufw enable
O firewall solicitará uma caixa de diálogo para aceitar as alterações. Apenas pressione Y.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Instalando o Grafana
Por padrão, o Grafana não está nos repositórios. Adicione a chave e os pacotes do repo.
curl https://packagecloud.io/gpg.key | sudo apt-key add -
Em seguida, adicione o repositório “packagecloud” aos seus repositórios.
add-apt-repository "deb https://packagecloud.io/grafana/stable/debian/ stretch main"
Atualize apt
para buscar as informações mais recentes do nosso repo “packagecloud” recém-adicionado.
apt-get update
Agora podemos instalar o Grafana.
apt-get install grafana
Assim que o Grafana for instalado, inicie-o com systemctl
.
systemctl start grafana-server
Isso mostrará um serviço Grafana em funcionamento.
systemctl status grafana-server
Inicie o serviço Grafana na inicialização.
systemctl enable grafana-server
Desabilitando registros Grafana e acesso anônimo
Fora da caixa, o Grafana permite que os visitantes criem contas de usuário e visualizem os painéis sem se registrarem. Isso significa que estamos expondo o Grafana à Internet pública. Mas não se preocupe, vamos encontrar e desabilitar essas configurações.
Primeiro abra o arquivo de configuração do Grafana.
nano /etc/grafana/grafana.ini
Localize as allow_sign_up
configurações sob o [users]
cabeçalho.
[users]
# disable user signup / registration
;allow_sign_up = true
Por padrão, é definido como true
, portanto, altere-o para false
e descomente a linha.
[users]
# disable user signup / registration
allow_sign_up = false
Em seguida, verifique se o acesso anônimo está desativado. Isso pode ser encontrado nas [auth.anonymous]
configurações.
[auth.anonymous]
# enable anonymous access
;enabled = false
Altere false
e descomente a linha.
[auth.anonymous]
enabled = false
Saia nano
e salve o arquivo.
Para ativar as mudanças, reinicie o Grafana.
systemctl restart grafana-server
Agora, verifique se tudo está funcionando, verificando o status do serviço do Grafana.
systemctl status grafana-server
O daemon Grafana ouve a porta 3000
. Para visitar o Grafana Dashboard, aponte seu navegador para http://192.168.0.1:3000
(substitua esse IP pelo seu IP de servidor real) e use as credenciais de login padrão abaixo.
Username: admin
Password: admin
Ativando um certificado HTTPS para o Grafana (opcional)
Este é um passo opcional. Se tivermos um nome DNS configurado, podemos usar Vamos criptografar para habilitar HTTPS
nossa nova instalação do Grafana.
Instalação e configuração do Nginx
Para conseguir isso, estaremos usando o Nginx, já que este software é capaz de usar certificados Vamos Criptografar.
Comece instalando o Nginx.
apt-get install nginx
Uma vez instalado, edite a configuração padrão.
nano /etc/nginx/sites-available/default
Substitua a configuração padrão pela seguinte configuração.
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
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-Host $server_name;
}
}
Isso criará um proxy para o site que está sendo executado na porta 80
. Reinicie o Nginx e ative-o na inicialização.
systemctl restart nginx
systemctl enable nginx
Certifique-se de que tudo esteja funcionando.
systemctl status nginx
Desative a porta antiga do Grafana 3000
e permita o tráfego na porta 80
.
ufw allow 80/tcp
ufw delete allow 3000/tcp
Instalando Vamos Criptografar
Antes de podermos usar o certbot, precisamos adicionar o PPA correto ao sistema que contém nossos pacotes do certbot.
add-apt-repository ppa:certbot/certbot
Pressione ENTERpara aceitar a alteração da configuração.
Atualize apt
para reunir os novos pacotes.
apt-get update
Em seguida, instale o módulo Nginx para atribuir os certificados.
apt-get -y install python-certbot-nginx
Configurando Certificados
Configure o firewall para permitir a HTTPS
passagem pelo firewall.
ufw allow 443/tcp
Antes de podermos solicitar novos certificados, precisamos de um nome DNS.
nano /etc/nginx/sites-available/default
Adicione a seguinte server_name
configuração. Este é o nosso nome DNS.
server_name grafana.example.com;
Altere a configuração para refletir essa nova configuração.
server {
server_name grafana.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
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-Host $server_name;
}
}
Certifique-se de que não cometemos erros e reinicie o Nginx.
nginx -t
systemctl restart nginx
Agora solicite um certificado com o certbot.
certbot --nginx -d grafana.example.com
Forneça seu email e concorde com as perguntas feitas pelo instalador. Você pode dizer com segurança “Não” para compartilhar seu e-mail. Certbot perguntará automaticamente o que fazer com HTTPS
. Nós estaremos usando a opção 2: redirecionar para HTTPS.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Auto renovação de certificados
Vamos criptografar certificados requerem renovação. Felizmente podemos criar um cron job para isso. Comece editando o crontab.
crontab -e
Adicione a seguinte linha.
05 2 * * * /usr/bin/certbot renew --quiet
Isso verificará às 02:05 se algum certificado exigir uma renovação e irá renová-lo.
Grafana estará funcionando HTTPS
agora. Uma última coisa é mudar a senha do administrador. Visite sua instalação em https://grafana.example.net
. Por padrão, as credenciais para fazer login são ‘admin / admin’.
Para alterar o nome de usuário do administrador, clique no ícone de engrenagem à esquerda, vá para “Configuração”, depois em “Administrador do servidor” e clique no nome de usuário do administrador.