Pesquisa de site

Instale Glances, InfluxDB e Grafana para monitorar CentOS 7


Glances é uma ferramenta de monitoramento gratuita, de código aberto, moderna, multiplataforma, top em tempo real e semelhante a htop, com recursos avançados. Ele pode ser executado em diferentes modos: como autônomo, em modo cliente/servidor e em modo servidor web.

InfluxDB é um banco de dados de série temporal de código aberto e escalável para métricas, eventos e análises em tempo real.

Grafana é uma ferramenta de plataforma cruzada de código aberto, rica em recursos, poderosa, elegante e altamente extensível para monitoramento e análise de métricas, com painéis bonitos e personalizáveis. É um software de fato para análise de dados.

Neste artigo, explicaremos como instalar e configurar Glances, InfluxDB e Grafana para monitorar o desempenho de um CentOS 7 servidor.

Etapa 1: instalar o Glances no CentOS 7

1. Primeiro comece instalando a versão estável mais recente do glances (v2.11.1) usando PIP. Se você não tiver o pip, instale-o da seguinte forma, incluindo os cabeçalhos Python necessários para instalar o psutil.

yum install python-pip python-devel	

2. Depois de ter o PIP e os cabeçalhos Python, execute o seguinte comando para instalar a versão estável mais recente do glances e verifique a versão.

pip install glances
glances -V

Glances v2.11.1 with psutil v5.4.7

Alternativamente, se você já possui o glances instalado, você pode atualizá-lo para a versão mais recente usando o seguinte comando.

pip install --upgrade glances

3. Agora você precisa iniciar os olhares via systemd para que ele seja executado como um serviço. Crie uma nova unidade criando um arquivo chamado glances.service em /etc/systemd/system/.

vim /etc/systemd/system/glances.service

Copie e cole a seguinte configuração no arquivo glances.service. O --config especifica o arquivo de configuração, a opção --export-influxdb informa aos relances para exportar estatísticas para um servidor InfluxDB e o --disable-ip A opção desabilita o módulo IP.

[Unit]
Description=Glances
After=network.target influxd.service

[Service]
ExecStart=/usr/bin/glances --config /home/admin/.config/glances/glances.conf --quiet --export-influxdb --disable-ip
Restart=on-failure
RestartSec=30s
TimeoutSec=30s

[Install]
WantedBy=multi-user.target

Salve o arquivo e feche-o.

4. Em seguida, recarregue a configuração do gerenciador do systemd, inicie o serviço Glances, visualize seu status e habilite-o para inicialização automática no momento da inicialização.

systemctl daemon-reload 
systemctl start glances.service
systemctl status glances.service
systemctl enable glances.service

5. Em seguida, você precisa baixar o arquivo de configuração do Glances fornecido pelo desenvolvedor usando o comando wget conforme mostrado.

mkdir ~/.config/glances/
wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf -P ~/.config/glances/ 

6. Para exportar estatísticas do Glances para um banco de dados InfluxDB, você precisa da biblioteca Python InfluxdDB, que você pode instalá-lo usando o comando pip.

sudo pip install influxdb

Etapa 2: Instale o InfluxDB no CentOS 7

7. Em seguida, você precisa adicionar o repositório InfluxDB Yum para instalar a versão mais recente do pacote InfluxDB conforme mostrado.

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

8. Após adicionar o repositório à configuração do YUM, instale o pacote InfluxDB executando.

yum install influxdb

9. Em seguida, inicie o serviço InfluxDB via systemd, confirme se ele está em execução visualizando seu status e habilite-o para iniciar automaticamente na inicialização do sistema.

systemctl start influxdb
systemctl status influxdb
systemctl enable influxdb

10. Por padrão, o InfluxDB usa a porta TCP 8086 para comunicação cliente-servidor através da API HTTP do InfluxDB. Você precisa abrir esta porta em seu firewall usando o firewall-cmd.

firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --reload

11. Em seguida, você precisa criar um banco de dados no InfluxDB para armazenar dados de relances. O comando influx que está incluído nos pacotes do InfluxDB é a maneira mais simples de interagir com o banco de dados. Portanto, execute influx para iniciar a CLI e conectar-se automaticamente à instância local do InfluxDB.

influx

Execute os seguintes comandos para criar um banco de dados chamado glances e visualizar os bancos de dados disponíveis.

Connected to http://localhost:8086 version 1.6.2
InfluxDB shell version: 1.6.2
> CREATE DATABASE glances
> SHOW DATABASES
name: databases
name
----
_internal
glances
> 

Para sair do shell InfluxQL, digite exit e pressione Enter.

Etapa 3: Instale o Grafana no CentOS 7

12. Agora, instale o Grafana de seu repositório YUM oficial, comece adicionando a seguinte configuração em /etc/yum.repos.d/grafana.repo arquivo de repositório.

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

13. Após adicionar o repositório à configuração do YUM, instale o pacote Grafana executando.

yum install grafana

14. Depois de instalar o Grafana, recarregue a configuração do gerenciador do systemd, inicie o servidor grafana, verifique se o serviço está instalado e funcionando visualizando seu status e habilite-o para auto- comece no momento da inicialização.

systemctl daemon-reload 
systemctl start grafana-server 
systemctl status grafana-server 
systemctl enable grafana-server

15. Em seguida, abra a porta 3000 na qual o servidor Grafana escuta, em seu firewall usando o firewall-cmd.

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload

Etapa 4: monitorar métricas do servidor CentOS 7 via Grafana

16. Neste ponto, você pode usar a seguinte URL para acessar a interface web do Grafana, que irá redirecionar para a página de login, use as credenciais padrão para fazer login.

URL: http://SERVER_IP:3000
Username: admin 
Password: admin

Será solicitado que você crie uma nova senha, depois de fazer isso, você será redirecionado para o painel inicial, conforme mostrado na imagem abaixo.

17. Em seguida, clique em Criar sua primeira fonte de dados, que deve ser um banco de dados InfluxDB. Em Configurações, insira um nome adequado, por exemplo, Importação de Glances, e use os seguintes valores para as outras duas variáveis importantes (URL HTTP e Banco de dados InfluxDB) conforme mostrado na captura de tela.

HTTP URL: http://localhost:8086
InfluxDB Details - Database: glances

Em seguida, clique em Salvar e testar para conectar-se à fonte de dados. Você deverá receber um feedback indicando “A fonte de dados está funcionando”.

18. Agora você precisa importar o painel Glances. Clique no sinal de mais (+) e vá para Importar conforme mostrado na captura de tela.

17. Você precisará do URL ou ID do painel Glances ou fazer upload do arquivo .JSON que pode ser encontrado em Grafana.com. Neste caso, utilizaremos o Glances Dashboard criado pelo desenvolvedor do Glances, sua URL é https://grafana.com/dashboards/2387 ou ID é >2387.

18. Depois que o painel do Grafana for carregado, em opções, encontre relances e escolha uma fonte de dados InluxDB (Importação de Glances) que você criou anteriormente e clique em >Importar conforme mostrado na imagem a seguir.

19. Depois de importar com sucesso o painel Glances, você poderá visualizar gráficos que mostram métricas do seu servidor, conforme fornecido pelos Glances via influxdb.

É tudo por agora! Neste artigo, explicamos como monitorar o servidor CentOS 7 com Glances, InfluxDB e Grafana. Se você tiver alguma dúvida ou informação para compartilhar, use o formulário de comentários abaixo para fazê-lo.