Monitorar Oracle Cloud Infrastructure (OCI) com Grafana
Antes de iniciarmos a instalação, tenha em mente alguns conceitos sobre a arquitetura do OCI, Docker e Grafana.
Docker é um software open source que facilita muito a construção, deploy e administração de aplicações utilizando containers.
Grafana também é uma iniciativa open source e tem como objeto facilitar a visualização de dados visualmente.
O Grafana é uma ferramenta muito poderosa e útil, podendo ser integrada com várias origens de dados por meio de plugins como o Zabbix, Banco de Dados MySql e SqlServer, Elasticsearch, Prometheus, entre outros.
Este post tem como foco em demonstrar na prática a solução de monitoramento do Oracle Cloud Infrastructure utilizando o plugin do Grafana.
Vamos ao que realmente interessa...
Requisitos Técnicos:
Para a construção do monitoramento dos recursos da Oracle Cloud Infrastructure utilizaremos a imagem (Ubuntu-18.04-Minimal) e o shape (VM.Standard.E2.2) disponível no console de criação de Instance dentro do OCI.Após disponibilizar a instance, vamos realizar o update dos pacotes da imagem, instalação dos pacotes do Docker e alguns pacotes adicionais.
Instalação do Docker + Pacotes Adicionais:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker
$ sudo systemctl enable docker
$ sudo docker --version
A partir deste ponto, seu administrador de container Docker deve ser instalado e executado perfeitamente.
Nos passos seguintes, faremos a liberação da porta 3000, que é a porta padrão utilizada pelo Grafana.
No sistema operacional, adicione a linha abaixo no arquivo /etc/iptables/rules.v4.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
Após salvar o arquivo com a nova regra, faça um reboot em sua instance por meio do console de administração do OCI, depois crie a regra de liberação da porta na Security List, dentro da VNC utilizada pela Instance.
Neste caso, como estou utilizando uma Subnet Pública em um ambiente DEMO, liberarei a porta 3000 para o CIDR 0.0.0.0/0.
Instalando e Configurando o Grafana no Docker.
Com a liberação das portas devidamente configuradas, vamos realizar o deploy do Grafana no Docker.
Execute o comando abaixo para realizar a instalação. Neste momento, faremos o download da imagem do Grafana e disponibilizaremos a aplicação em um container já com o plugin do OCI instalado.
sudo docker run \
-d \
-p 3000:3000 \
--name=grafana \
-e "GF_SECURITY_ADMIN_PASSWORD=oracle123" \
-e "GF_INSTALL_PLUGINS=oci-datasource" \
grafana/grafana
sudo docker run \
-d \
-p 3000:3000 \
--name=grafana \
-e "GF_SECURITY_ADMIN_PASSWORD=oracle123" \
-e "GF_INSTALL_PLUGINS=oci-datasource" \
grafana/grafana
Tudo pronto, agora já podemos logar no Grafana pela URL na porta 3000.
URL - http://<SEU_IP_PÚBLICO>:3000
Antes de continuar a configuração da integração via plugin do OCI com o Grafana é necessário conceder as devidas permissões de acesso para coleta das métricas, e neste caso, faremos a configuração por meio de Dynamic Groups e Policies.
Por meio do console do OCI, acesse o menu Identity > Dynamic Groups, crie o Dynamic Group o nome grafana e associe a rule de acordo com os recursos que a serem monitorados.
No exemplo abaixo, será necessário pegar a informação do OCID do Compartimento para adicionarmos na Role, dentro Dynamic Group que estamos criando.
ANY {instance.compartment.id = 'ocid1.tenancy.oc1..aaaaa-DEMO-COMPARTMENT-ID-koox--76vitn35q'}
Por meio do console do OCI, acesse o menu Identity > Dynamic Groups, crie o Dynamic Group o nome grafana e associe a rule de acordo com os recursos que a serem monitorados.
No exemplo abaixo, será necessário pegar a informação do OCID do Compartimento para adicionarmos na Role, dentro Dynamic Group que estamos criando.
ANY {instance.compartment.id = 'ocid1.tenancy.oc1..aaaaa-DEMO-COMPARTMENT-ID-koox--76vitn35q'}
No próximo passo, faremos a criação e adição das policies por meio do menu Identity > Policies, e incluiremos as duas linhas abaixo, permitindo o acesso apenas de leitura das métricas.
allow dynamic-group grafana to read compartments in tenancy
allow dynamic-group grafana to read metrics in tenancy
Configurando o OCI Datasource no Grafana:
Vamos para a parte em que realmente começamos a transformar os dados coletados em informações importantes na gestão da sua Cloud.
Após realizar o logon na console do Grafana, acesse o menu Configuration > Data Source e selecione o plugin Oracle Cloud Infrastructure.
Para esta configuração, será necessário o OCID do seu Tenancy, que pode ser facilmente copiado no console do OCI no menu Administration > Tenancy Details.
Após informar os dados de configuração do Data Source dentro da console do Grafana, clique no botão Save & Test para garantir que a conexão entre o Grafana e o OCI estão funcionando corretamente.
A partir de agora, temos todas as configurações feitas, é só criar os seus Dashboards com as informações do seu Tenancy.
Veja abaixo alguns exemplos:
Espero que este post tenha sido útil e apoie no monitoramento proativo do seu ambiente no OCI. Até a próxima pessoal.
Desde 2011, devido à correria do dia a dia e aos estudos, eu meio que abandonei o blog. Porém, agora, pretendo fazer posts toda semana.
Comentários
Postar um comentário