{"id":10759,"date":"2026-09-18T10:00:58","date_gmt":"2026-09-18T10:00:58","guid":{"rendered":"https:\/\/mtpinternational.mx\/como-conectar-o-grafana-com-pipelines-de-testes-para-monitorizacao-em-tempo-real\/"},"modified":"2026-10-19T19:02:30","modified_gmt":"2026-10-19T19:02:30","slug":"como-conectar-o-grafana-com-pipelines-de-testes-para-monitorizacao-em-tempo-real","status":"publish","type":"post","link":"https:\/\/mtpinternational.mx\/pt\/como-conectar-o-grafana-com-pipelines-de-testes-para-monitorizacao-em-tempo-real\/","title":{"rendered":"Como conectar o Grafana com pipelines de testes para monitoriza\u00e7\u00e3o em tempo real?"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px|||||&#8221;][et_pb_row _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; custom_padding=&#8221;0px|||||&#8221;][et_pb_column _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; type=&#8221;4_4&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_text _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p style=\"text-align: justify;\"><em>Pela equipa de Quality Engineering da MTP International \u00b7 Setembro de 2026<\/em><\/p>\n<p style=\"text-align: justify;\">O relat\u00f3rio de testes que chega no final do <a href=\"https:\/\/www.datadoghq.com\/dg\/software-delivery\/flaky-tests\/?utm_source=google&#038;utm_medium=paid-search&#038;utm_campaign=dg-softwaredelivery-cipipe-latam-en-ci-test-visibility&#038;utm_keyword=devops%20ci%20cd%20pipeline&#038;utm_matchtype=p&#038;igaag=200389355670&#038;igaat=&#038;igacm=23852799749&#038;igacr=808989163858&#038;igakw=devops%20ci%20cd%20pipeline&#038;igamt=p&#038;igant=g&#038;utm_campaignid=23852799749&#038;utm_adgroupid=200389355670&#038;gad_source=1&#038;gad_campaignid=23852799749&#038;gbraid=0AAAAADFY9Nmc6t8CZLbBYcFCQUyD0oNlO&#038;gclid=CjwKCAjwtp7VBhBjEiwAJfpV-yoro7EQjAG_a-5O4mlRefznqcOwRPxNQKbGWZ0Pn1nX4PvvZ0gWmxoCEJIQAvD_BwE\" target=\"_blank\" rel=\"noopener\">ciclo de CI\/CD<\/a> tem um problema estrutural: \u00e9 uma fotografia do passado. Diz o que falhou, n\u00e3o quando come\u00e7ou a deteriorar-se. N\u00e3o mostra se a taxa de falhas tem vindo a aumentar desde h\u00e1 tr\u00eas sprints, se o tempo de execu\u00e7\u00e3o da suite duplicou em duas semanas, nem se o pipeline de testes se transformou silenciosamente no gargalo que atrasa cada release.  <\/p>\n<p style=\"text-align: justify;\">Ligar o Grafana ao pipeline de testes transforma essa fotografia numa sinaliza\u00e7\u00e3o cont\u00ednua. A equipa deixa de rever relat\u00f3rios para passar a observar tend\u00eancias: a cobertura de testes, a taxa de falhas por tipo, o tempo de execu\u00e7\u00e3o por suite e a frequ\u00eancia de implementa\u00e7\u00f5es bem-sucedidas, tudo em tempo real e com alertas configur\u00e1veis antes de o problema chegar \u00e0 produ\u00e7\u00e3o. <\/p>\n<p style=\"text-align: justify;\">\n<h2 style=\"text-align: justify;\"><strong>A arquitetura base: tr\u00eas componentes que trabalham em conjunto<\/strong><\/h2>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<p style=\"text-align: justify;\">A integra\u00e7\u00e3o do Grafana com pipelines de testes n\u00e3o exige substituir o stack de CI\/CD existente. Constr\u00f3i-se sobre ele com tr\u00eas componentes que se complementam: <\/p>\n<p style=\"text-align: justify;\"><strong>O Prometheus<\/strong> atua como a camada de recolha de m\u00e9tricas. \u00c9 uma base de dados de s\u00e9ries temporais que faz scraping dos endpoints expostos pelas ferramentas do pipeline \u2014Jenkins, GitLab CI, GitHub Actions, entre outras\u2014 e armazena essas m\u00e9tricas com marca temporal, dispon\u00edveis para consulta a qualquer momento. <\/p>\n<p style=\"text-align: justify;\"><strong>O Grafana<\/strong> \u00e9 a camada de visualiza\u00e7\u00e3o e alerta. Consulta o Prometheus como fonte de dados, constr\u00f3i dashboards personalizados por audi\u00eancia \u2014C-Level, QA Manager, SRE\u2014 e dispara alertas para o Slack, e-mail, PagerDuty ou outros canais quando alguma m\u00e9trica ultrapassa o limiar definido. <\/p>\n<p style=\"text-align: justify;\"><strong>A ferramenta de CI\/CD e as ferramentas de testes<\/strong> s\u00e3o a fonte das m\u00e9tricas: o Jenkins exp\u00f5e dados de builds e execu\u00e7\u00f5es, o k6 exporta m\u00e9tricas de desempenho em tempo real, e as ferramentas de gest\u00e3o de testes funcionais fornecem taxas de falhas e cobertura por suite.<\/p>\n<p style=\"text-align: justify;\">A integra\u00e7\u00e3o do Prometheus com ferramentas de CI\/CD e a cria\u00e7\u00e3o de dashboards e alertas no Grafana permite \u00e0s equipas de DevOps detetar e resolver problemas de forma proativa, garantindo entregas cont\u00ednuas sem interrup\u00e7\u00f5es.<\/p>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<h2 style=\"text-align: justify;\"><strong>Os quatro pontos de integra\u00e7\u00e3o que um pipeline instrumentado deve cobrir<\/strong><\/h2>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<h3><strong>1. Jenkins ou GitHub Actions \u2192 Prometheus \u2192 Grafana<\/strong><\/h3>\n<p><strong><\/strong><\/p>\n<p style=\"text-align: justify;\">Para o Jenkins, o ponto de entrada \u00e9 o plugin do Prometheus, que exp\u00f5e um endpoint \/prometheus com m\u00e9tricas de builds: n\u00famero de execu\u00e7\u00f5es bem-sucedidas e falhadas, tempo m\u00e9dio de build, jobs em fila, e utiliza\u00e7\u00e3o de executores. O Prometheus faz scraping desse endpoint em intervalos configur\u00e1veis \u2014tipicamente a cada 15 segundos\u2014 e o Grafana constr\u00f3i o dashboard com base nesses dados. <\/p>\n<p style=\"text-align: justify;\">As m\u00e9tricas mais \u00fateis para uma equipa de QE a este n\u00edvel s\u00e3o a taxa de falhas de builds por job, o tempo m\u00e9dio de execu\u00e7\u00e3o de cada suite de testes por sprint, e a rela\u00e7\u00e3o entre altera\u00e7\u00f5es confirmadas e builds bem-sucedidos. Esses tr\u00eas valores, tra\u00e7ados ao longo do tempo, revelam tend\u00eancias que nenhum relat\u00f3rio pontual pode mostrar. <\/p>\n<p style=\"text-align: justify;\">Para o GitHub Actions, o padr\u00e3o equivalente utiliza exportadores espec\u00edficos que exp\u00f5em as m\u00e9tricas do workflow num formato compat\u00edvel com o Prometheus, ou servi\u00e7os de terceiros como o GitHub Actions Exporter.<\/p>\n<p style=\"text-align: justify;\">\n<h3><strong>2. Testes de carga com k6 \u2192 Prometheus remote-write \u2192 Grafana<\/strong><\/h3>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">Com o k6 \u00e9 poss\u00edvel escrever testes de carga para detetar problemas de desempenho tanto em ambientes de produ\u00e7\u00e3o como de pr\u00e9-produ\u00e7\u00e3o, e com o Grafana \u00e9 poss\u00edvel visualizar e comparar os resultados do k6 com outras m\u00e9tricas do sistema nos dashboards existentes.<\/p>\n<p style=\"text-align: justify;\">A integra\u00e7\u00e3o funciona atrav\u00e9s do output de Prometheus remote-write do k6: durante a execu\u00e7\u00e3o do teste, o k6 transmite as suas m\u00e9tricas \u2014tempo de resposta por percentil, throughput, taxa de erro, utilizadores virtuais ativos\u2014 diretamente para o Prometheus em tempo real. O Grafana visualiza essas m\u00e9tricas enquanto o teste est\u00e1 a decorrer, n\u00e3o depois. <\/p>\n<p style=\"text-align: justify;\">Isto muda a din\u00e2mica da an\u00e1lise de desempenho: a equipa pode observar em que momento exato do aumento de carga come\u00e7a a degrada\u00e7\u00e3o, que m\u00e9trica se deteriora primeiro e se o comportamento \u00e9 consistente entre execu\u00e7\u00f5es. O Grafana Cloud k6 oferece vistas para aceder aos dados de testes e analisar resultados, com capacidades de colabora\u00e7\u00e3o que permitem partilhar um dashboard com equipas de SRE, desenvolvimento e QA na mesma plataforma. <\/p>\n<p style=\"text-align: justify;\">\n<h3><strong>3. Resultados de testes funcionais \u2192 datasource personalizado \u2192 Grafana<\/strong><\/h3>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">As ferramentas de gest\u00e3o de testes funcionais \u2014Jira\/Xray, TestRail, Azure DevOps Test Plans\u2014 n\u00e3o exp\u00f5em m\u00e9tricas em formato Prometheus de forma nativa, mas podem ser integradas atrav\u00e9s de dois padr\u00f5es: exportar os resultados para o InfluxDB como base de dados de s\u00e9ries temporais e ligar o Grafana ao InfluxDB, ou utilizar scripts de integra\u00e7\u00e3o que publiquem as m\u00e9tricas de resultados no endpoint do Prometheus no final de cada execu\u00e7\u00e3o de suite.<\/p>\n<p style=\"text-align: justify;\">As m\u00e9tricas que vale a pena instrumentar a este n\u00edvel: taxa de testes aprovados, falhados e bloqueados por sprint; defeitos detetados por etapa do pipeline; e tempo m\u00e9dio entre a introdu\u00e7\u00e3o de um defeito e a sua dete\u00e7\u00e3o.<\/p>\n<p style=\"text-align: justify;\">\n<h3><strong>4. Alertas configur\u00e1veis com limiares de quality gate<\/strong><\/h3>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">O Grafana permite definir regras de alerta sobre qualquer m\u00e9trica do dashboard. Para um pipeline de QE, os limiares mais relevantes s\u00e3o: taxa de falhas de build superior a 15% nas \u00faltimas 24 horas, tempo de execu\u00e7\u00e3o da suite de regress\u00e3o que ultrapasse o limiar acordado com a equipa, e taxa de defeitos escapados para produ\u00e7\u00e3o que exceda o SLO definido. <\/p>\n<p style=\"text-align: justify;\">Os alertas s\u00e3o cruciais para manter a sa\u00fade do pipeline porque permitem ser notificado sobre a utiliza\u00e7\u00e3o de recursos, falhas do pipeline e dura\u00e7\u00e3o antes de o problema impactar o neg\u00f3cio. Configurar esses alertas para canais onde a equipa opera \u2014Slack, Teams, e-mail\u2014 transforma o dashboard de observabilidade num sistema de dete\u00e7\u00e3o precoce, n\u00e3o apenas de relat\u00f3rio hist\u00f3rico. <\/p>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<h2 style=\"text-align: justify;\"><strong>As m\u00e9tricas que um dashboard de QE no Grafana deve mostrar<\/strong><\/h2>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<p style=\"text-align: justify;\">Um dashboard de qualidade bem concebido n\u00e3o exibe todos os dados dispon\u00edveis: exibe os dados que geram decis\u00f5es. As quatro categorias de m\u00e9tricas que devem estar presentes em qualquer dashboard de QE instrumentado com Grafana: <\/p>\n<p style=\"text-align: justify;\"><strong>M\u00e9tricas de pipeline:<\/strong> taxa de sucesso de builds por semana, tempo m\u00e9dio de execu\u00e7\u00e3o do pipeline completo, n\u00famero de builds falhados por causa (test failure vs. infrastructure failure vs. timeout), e frequ\u00eancia de implementa\u00e7\u00f5es em produ\u00e7\u00e3o \u2014uma das quatro <a href=\"https:\/\/mtpinternational.mx\/como-medir-la-eficiencia-de-tu-celula-de-testing\/\">m\u00e9tricas DORA<\/a> fundamentais.<\/p>\n<p style=\"text-align: justify;\"><strong>M\u00e9tricas de qualidade dos testes:<\/strong> taxa de testes aprovados por suite, taxa de testes inst\u00e1veis (<em>flaky tests<\/em>) por sprint, cobertura de testes por m\u00f3dulo cr\u00edtico de neg\u00f3cio, e r\u00e1cio de testes autom\u00e1ticos versus manuais por tipo.<\/p>\n<p style=\"text-align: justify;\"><strong>M\u00e9tricas de desempenho:<\/strong> tempo de resposta em p50, p90 e p95 por endpoint cr\u00edtico, throughput em transa\u00e7\u00f5es por segundo, taxa de erro sob carga nominal, e evolu\u00e7\u00e3o do tempo de resposta entre vers\u00f5es.<\/p>\n<p style=\"text-align: justify;\"><strong>M\u00e9tricas de defeitos:<\/strong> defeitos detetados no pipeline versus defeitos escapados para produ\u00e7\u00e3o, tempo m\u00e9dio de dete\u00e7\u00e3o desde a introdu\u00e7\u00e3o do defeito, e defeitos por sprint por equipa de desenvolvimento.<\/p>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<h3 style=\"text-align: justify;\"><strong>A perspetiva da MTP<\/strong><\/h3>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<p style=\"text-align: justify;\">Na MTP integramos a observabilidade de testes como parte da estrat\u00e9gia de automatiza\u00e7\u00e3o que concebemos com o Omniatest\u00ae. Os dashboards preditivos que operamos ligam o Grafana \u2014ou as ferramentas equivalentes do stack do cliente\u2014 ao Jira, Azure DevOps, TestRail e aos pipelines de CI\/CD, produzindo visibilidade 360\u00b0 em tempo real para QA Managers, Tech Leads e C-Level numa \u00fanica plataforma. <\/p>\n<p style=\"text-align: justify;\">A integra\u00e7\u00e3o n\u00e3o \u00e9 um complemento ao processo de QE: \u00e9 a camada que transforma o testing numa fonte de sinal de neg\u00f3cio. Uma equipa que consegue mostrar tend\u00eancias de qualidade em tempo real tem uma conversa diferente com o neg\u00f3cio do que uma que apresenta relat\u00f3rios est\u00e1ticos no final do sprint. <\/p>\n<p style=\"text-align: justify;\">\n<h4 style=\"text-align: justify;\"><strong>Perguntas frequentes<\/strong><\/h4>\n<p style=\"text-align: justify;\"><strong><\/strong><\/p>\n<ol style=\"text-align: justify;\">\n<li><strong> <\/strong><strong>O Grafana pode ligar-se diretamente a ferramentas de gest\u00e3o de testes como o TestRail ou o Xray? <\/strong>N\u00e3o de forma nativa, mas sim atrav\u00e9s de integra\u00e7\u00f5es interm\u00e9dias. O padr\u00e3o mais comum \u00e9 publicar os resultados de execu\u00e7\u00e3o para o InfluxDB ou Prometheus no final de cada suite, e ligar o Grafana a essa fonte de dados. Existem plugins comunit\u00e1rios que facilitam este processo para o TestRail e o Xray. Para o Azure DevOps, a integra\u00e7\u00e3o com o Prometheus \u00e9 mais direta atrav\u00e9s de exportadores dispon\u00edveis no ecossistema open-source.   <\/li>\n<li><strong> <\/strong><strong>Qual a diferen\u00e7a entre o Grafana Cloud k6 e o k6 open source para integra\u00e7\u00e3o com pipelines? <\/strong>O k6 open source permite executar testes de carga a partir do pipeline e exportar m\u00e9tricas para o Prometheus ou InfluxDB atrav\u00e9s de outputs configur\u00e1veis. O Grafana Cloud k6 \u00e9 a vers\u00e3o gerida que inclui armazenamento de resultados, visualiza\u00e7\u00f5es pr\u00e9-concebidas para an\u00e1lise de desempenho, correla\u00e7\u00e3o com outros dashboards do Grafana Cloud, e funcionalidades de colabora\u00e7\u00e3o entre equipas. Para equipas que j\u00e1 t\u00eam um stack de Grafana + Prometheus, o k6 open source com Prometheus remote-write \u00e9 suficiente para visibilidade em tempo real sem custo adicional de plataforma.  <\/li>\n<li><strong> <\/strong><strong>Quanto tempo demora a instrumentar um pipeline de CI\/CD com Grafana e Prometheus? <\/strong>A integra\u00e7\u00e3o b\u00e1sica \u2014Jenkins com o plugin do Prometheus e um dashboard do Grafana pr\u00e9-configurado\u2014 pode estar operacional num dia de trabalho. A integra\u00e7\u00e3o completa com m\u00e9tricas de testes funcionais, testes de desempenho com k6 e alertas configurados sobre os SLOs da equipa demora entre uma e duas semanas, dependendo do stack existente e do n\u00edvel de personaliza\u00e7\u00e3o dos dashboards. O tempo at\u00e9 gerar valor \u00e9 curto porque o Grafana tem mais de 700 dashboards pr\u00e9-constru\u00eddos no seu cat\u00e1logo p\u00fablico, v\u00e1rios espec\u00edficos para Jenkins, GitHub Actions e k6.  <\/li>\n<\/ol>\n<p style=\"text-align: justify;\"><strong>A sua equipa opera o pipeline de testes sem visibilidade em tempo real das m\u00e9tricas de qualidade?<\/strong><\/p>\n<p style=\"text-align: justify;\">A equipa da MTP desenha a arquitetura de observabilidade de QE integrada no seu stack atual numa sess\u00e3o de 30 minutos.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pela equipa de Quality Engineering da MTP International \u00b7 Setembro de 2026 O relat\u00f3rio de testes que chega no final do ciclo de CI\/CD tem um problema estrutural: \u00e9 uma fotografia do passado. Diz o que falhou, n\u00e3o quando come\u00e7ou a deteriorar-se. N\u00e3o mostra se a taxa de falhas tem vindo a aumentar desde h\u00e1 tr\u00eas sprints, se o tempo de execu\u00e7\u00e3o da suite duplicou em duas semanas, nem se o pipeline de testes se transformou silenciosamente no gargalo que atrasa cada release. Ligar o Grafana ao pipeline de testes transforma essa fotografia numa sinaliza\u00e7\u00e3o cont\u00ednua. A equipa deixa de rever relat\u00f3rios para passar a observar tend\u00eancias: a cobertura de testes, a taxa de falhas por tipo, o tempo de execu\u00e7\u00e3o por suite e a frequ\u00eancia de implementa\u00e7\u00f5es bem-sucedidas, tudo em tempo real e com alertas configur\u00e1veis antes de o problema chegar \u00e0 produ\u00e7\u00e3o. A arquitetura base: tr\u00eas componentes que trabalham em conjunto A integra\u00e7\u00e3o do Grafana com pipelines de testes n\u00e3o exige substituir o stack de CI\/CD existente. Constr\u00f3i-se sobre ele com tr\u00eas componentes que se complementam: O Prometheus atua como a camada de recolha de m\u00e9tricas. \u00c9 uma base de dados de s\u00e9ries temporais que faz scraping dos [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":10761,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[47,51],"tags":[],"class_list":["post-10759","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-blog-functional-testing"],"_links":{"self":[{"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/posts\/10759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/comments?post=10759"}],"version-history":[{"count":5,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/posts\/10759\/revisions"}],"predecessor-version":[{"id":10780,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/posts\/10759\/revisions\/10780"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/media\/10761"}],"wp:attachment":[{"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/media?parent=10759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/categories?post=10759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mtpinternational.mx\/pt\/wp-json\/wp\/v2\/tags?post=10759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}