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 update

$ 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














Tudo pronto, agora já podemos logar no Grafana pela URL na porta 3000.

URL   - http://<SEU_IP_PÚBLICO>:3000 



Acesse o Grafana com o user admin e senha oracle123.







Criando Acesso ao OCI com Dynamic Groups



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'}









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.












Construção de Dashboards no Grafana:

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