InícioServidoresConfiguraçãoPainel de controle e referências Steampipe para analisar seus dados.

Painel de controle e referências Steampipe para analisar seus dados.

Date:

Utilize o Powerpipe para examinar e verificar informações em sua própria base de dados Postgres, SQLite, DuckDB ou MySQL.

shutterstock 61529212 engine room steam pipes and dials of steam locomotive
Imagem: timmossholder/Pexels

No artigo “Steampipe unbundled”, foi demonstrado como os plugins, que antes só funcionavam com o conjunto de dados estrangeiros do Steampipe, agora podem ser usados como distribuições independentes em instâncias próprias de Postgres ou SQLite. Além disso, o Steampipe em si foi desagregado, com seu servidor de painel e corredor de referência migrando para um novo projeto de código aberto chamado Powerpipe.

Ao iniciar o Powerpipe, ele é configurado por padrão para se conectar a uma instância local do Steampipe, garantindo que os painéis e benchmarks já existentes continuem funcionando normalmente. Os módulos continuam a extrair dados dos mesmos plugins e a executar as mesmas consultas SQL. No entanto, é possível personalizar a conexão do Powerpipe utilizando o argumento –database para especificar um banco de dados Postgres, SQLite, DuckDB ou uma string de conexão MySQL.

Também disponível no InfoWorld: Maneiras de unificar o acesso às APIs usando SQL.

Por que desmontar o Steampipe dessa maneira? A filosofia Unix defende que um software deve se dedicar a uma única função e ser facilmente combinado com outras ferramentas que sigam o mesmo princípio. Embora o Steampipe tenha começado seguindo essa abordagem, a necessidade de refatoração tornou-se evidente com a introdução das camadas de painel e referência. Para os engenheiros devops que utilizam o Steampipe para visualizar e avaliar a infraestrutura de nuvem, faz sentido separar essas camadas em componentes com interfaces bem definidas. No entanto, o Powerpipe não se destina exclusivamente a eles. Entre os novos mods lançados com o Powerpipe, há um que exibe dados biomédicos do RNACentral por meio de um endpoint público Postgres. Para visualizar esses painéis, é necessário instalar o mod e, em seguida, iniciar o Powerpipe da seguinte maneira:

VEJA TAMBEM:  Manual para novatos sobre como realizar cópia de segurança de e-mails hospedados na ScalaHosting.

Os painéis podem ser acessados e explorados em http://localhost:9033.

É possível utilizar qualquer cliente Postgres para se conectar a esse ponto final. O diferencial do Powerpipe é a implementação de uma abordagem baseada em código para a visualização e validação de dados. Os widgets responsáveis por criar painéis e benchmarks são desenvolvidos em uma linguagem declarativa chamada HCL, que complementa as consultas SQL utilizadas para preencher esses widgets com informações. Todo o código em HCL e SQL fica armazenado em repositórios, sob controle de versão, permitindo colaboração da mesma forma que ocorre com outros artefatos de código.

Trabalhar com esse código é uma experiência agradável para os desenvolvedores, pois o Powerpipe monitora seus arquivos e responde imediatamente às alterações feitas no HCL que configura os widgets do painel ou no SQL que os alimenta.

kube relgraph
Imagem: driles/GettyImages

Gráficos que utilizam SQL como base para análise de relações.

O painel contém uma variedade de elementos, como tabelas, gráficos, infocards e widgets de entrada, além de incluir elementos inesperados, como nós e bordas para criar gráficos de relacionamento. Um exemplo é mostrado, no qual um widget de seleção é usado para escolher um autor da InfoWorld, e em seguida é criado um gráfico que relaciona o autor selecionado com os artigos escritos e as categorias associadas a cada artigo.

krill relgraph
Imagem: JonPauling/PixaBay

Observa-se a definição dos nós e das arestas. Dois nós são utilizados para pesquisar categorias e autores, enquanto o terceiro emprega o plugin RSS para acessar o feed RSS do autor escolhido. Em seguida, duas arestas conectam os nós: uma que relaciona links de artigos com autores e outra que relaciona os mesmos links com categorias. Tudo isso é realizado por meio de SQL, de uma maneira criativa e não convencional.

Os gráficos de relacionamento são frequentemente utilizados pelos engenheiros para compreender a interação entre os elementos de suas infraestruturas de nuvem. Por exemplo, um gráfico pode ilustrar a conexão entre os componentes de uma implantação de Kubernetes – como implantações, replicasets, pods, containers, servidores e nós. Cada entidade no gráfico está conectada a outros gráficos que fornecem informações detalhadas sobre sua infraestrutura circundante.

VEJA TAMBEM:  É possível trocar os recipientes?
kube relgraph
Imagem: wal_172619/FreeImages

Essas ferramentas de visualização, que estão disponíveis para AWS, Azure e GCP, são uma ótima forma de analisar e compreender suas estruturas na nuvem. Além disso, as consultas utilizadas são reutilizáveis, permitindo a criação de gráficos e tabelas a partir dos mesmos dados no painel.

Referências e controles fundamentados em SQL.

O Powerpipe é responsável por impulsionar os testes de conformidade em diversas plataformas, como AWS, Azure, GCP, Kubernetes e outras, incluindo a validação dos URLs de imagem presentes nos feeds RSS da InfoWorld.

krill benchmark
Imagem: timmossholder/UnPlash

Aqui está a definição do benchmark: ele envolve um controle que realiza uma consulta em várias etapas para escolher os URLs dos feeds dos autores, identificar a tag de mídia de cada item e, em seguida, verificar o código de resposta HTTP de cada URL.

Aspectos relevantes aqui:

  • A coluna feed_link, que foi recuperada do primeiro CTE, se une à sua correspondente no plugin RSS para obter o feed de cada autor.
  • Uma vez que o back-end é Steampipe, que utiliza Postgres como base, é possível utilizar os operadores Postgres JSONB para analisar a tag de mídia e obter a URL correspondente.
  • Cada URL é associada à coluna correspondente do plugin Net, que funciona como um cliente HTTP e opera de forma similar a uma tabela de banco de dados, para verificar o código de resposta.

O controle é uma solicitação SQL que fornece informações sobre o status, motivo e recursos de colunas específicas. Pode-se compará-lo a um teste de unidade para os dados, onde o Powerpipe atua como a ferramenta de execução dos testes.

Os controles costumam ser compatíveis com várias normas de conformidade, como CIS, FedRamp, GDPR, HIPAA, NIST, PCI, SOC 2, entre outras. Recursos como o AWS Compliance oferecem suporte abrangente para essas normas, aproveitando a ampla API fornecida por plugins como o Steampipe para AWS.

VEJA TAMBEM:  Boas práticas para hospedagem de correio eletrônico

No entanto, é possível criar modificações de exemplo para verificar diferentes tipos de informações, independentemente de onde estejam armazenadas: em tabelas temporárias conectadas a serviços na nuvem através de complementos, ou em seus próprios bancos de dados como tabelas locais.

Dashboard e métricas em formato de código.

Se estiver trabalhando com visualização de dados através de tabelas interativas, gráficos e diagramas, ou verificando a precisão dos dados com controles, o processo é semelhante. É necessário realizar consultas SQL para obter os dados e utilizar widgets HCL para exibi-los, com a possibilidade de edição em tempo real em ambas as situações. O código está contido em pacotes denominados mods, os quais podem ser instalados, criados e modificados.

Da mesma forma que o Steampipe, o Powerpipe é um binário independente que pode ser executado em diferentes ambientes, como localmente, em uma máquina virtual na nuvem ou em um pipeline de CI/CD. Assim como o Steampipe, o Powerpipe também está disponível como um serviço hospedado no Turbot Pipes, oferecendo a possibilidade de colaborar com a equipe e compartilhar visualizações e resultados de testes.

O texto destaca que as atuais suítes de painéis Powerpipe e benchmarks priorizam as necessidades dos devops, oferecendo uma linguagem de consulta padronizada que permite o acesso direto às APIs de nuvem. Essa funcionalidade é integrada em wrappers HCL armazenados nos repositórios, juntamente com o restante do código gerenciado. Com o desenvolvimento do Steampipe, agora é possível utilizar essas tecnologias de maneira mais abrangente.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui