{"id":7194,"date":"2019-07-11T10:00:53","date_gmt":"2019-07-11T17:00:53","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7194"},"modified":"2025-06-13T21:33:42","modified_gmt":"2025-06-14T04:33:42","slug":"monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/","title":{"rendered":"Monitoramento Prometheus do cluster Kubernetes do Couchbase Mobile"},"content":{"rendered":"<p><em>ATUALIZA\u00c7\u00c3O: A partir da vers\u00e3o 2.8, o Sync Gateway <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest-api-metrics.html?ref=blog#api-explorer\" rel=\"noopener\" target=\"_blank\">inclui suporte integrado ao exportador Prometheus<\/a>. As estat\u00edsticas s\u00e3o exportadas em formato compat\u00edvel com o Prometheus por meio do endpoint de m\u00e9tricas. Isso significa que n\u00e3o h\u00e1 mais a necessidade de ter um exportador separado. Leia a documenta\u00e7\u00e3o do Couchbase para obter mais detalhes sobre <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-and-visualization-of-couchbase-sync-gateway-with-prometheus-and-grafana\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Monitoramento do Sync Gateway v2.8+ usando o novo ponto de extremidade<\/a>.<\/em><\/p>\n<p>O <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-mobile-2-5-released\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Couchbase Mobile 2.5<\/a> A vers\u00e3o introduziu uma extensa <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/stats-monitoring.html?ref=blog\" rel=\"noopener\" target=\"_blank\">relat\u00f3rios de estat\u00edsticas<\/a> recursos no <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/introduction.html?ref=blog\" rel=\"noopener\" target=\"_blank\">Gateway de sincroniza\u00e7\u00e3o<\/a>. As estat\u00edsticas fornecem informa\u00e7\u00f5es importantes sobre a integridade da implanta\u00e7\u00e3o do Couchbase Mobile e constituem uma parte integrante de qualquer implanta\u00e7\u00e3o.<\/p>\n<p>Este \u00e9 um guia passo a passo para usar o <a href=\"https:\/\/prometheus.io\/?ref=hello-from-couchbase\" rel=\"noopener\" target=\"_blank\">Prometeu<\/a> (monitoramento e alerta de c\u00f3digo aberto) com clusters do Sync Gateway em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-sync-gateway-on-kubernetes\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Kubernetes<\/a>. Usaremos <a href=\"https:\/\/grafana.com\/?ref=hello-from-couchbase\" rel=\"noopener\" target=\"_blank\">Grafana<\/a> para visualizar as estat\u00edsticas.<\/p>\n<p>Costuma-se afirmar que o Prometheus e o Kubernetes compartilham um \"<em>ancestralidade espiritual<\/em>\". Ambos os projetos s\u00e3o hospedados pelo <a href=\"https:\/\/www.cncf.io\/?ref=hello-from-couchbase\" rel=\"noopener\" target=\"_blank\">Funda\u00e7\u00e3o para computa\u00e7\u00e3o nativa em nuvem<\/a>. Eles s\u00e3o orientados por objetivos de design comuns, o que torna o Prometheus muito adequado para monitorar implanta\u00e7\u00f5es do Kubernetes.<\/p>\n<p>Em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-sync-gateway-prometheus-grafana\/?ref=blog\" rel=\"noopener\" target=\"_blank\">uma postagem relacionada<\/a>Na publica\u00e7\u00e3o anterior, discutimos a configura\u00e7\u00e3o do monitoramento com o Prometheus em um cluster do Couchbase Mobile em um ambiente sem o Kubernetes. Se voc\u00ea acompanhou essa publica\u00e7\u00e3o, pode pular as se\u00e7\u00f5es iniciais e ir direto para a se\u00e7\u00e3o <em>Arquitetura de implanta\u00e7\u00e3o<\/em> se\u00e7\u00e3o.<\/p>\n<h2 id=\"background\">Hist\u00f3rico<\/h2>\n<h3 id=\"syncgatewaystatsreporting\">Relat\u00f3rio de estat\u00edsticas do gateway de sincroniza\u00e7\u00e3o<\/h3>\n<p>As estat\u00edsticas do Sync Gateway s\u00e3o relatadas no formato JSON e est\u00e3o dispon\u00edveis por meio do <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest_api_admin_static.html#get__expvar\" rel=\"noopener\" target=\"_blank\">_expvar<\/a> por meio do Sync Gateway <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/rest_api_admin_static.html\" rel=\"noopener\" target=\"_blank\">Administrador REST<\/a> interface.<br \/>\nEssas s\u00e3o as categorias de estat\u00edsticas que s\u00e3o relatadas.<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/stats_2.5_category-1.png\" alt=\"\" \/><\/p>\n<h3 id=\"prometheus\">Prometeu<\/h3>\n<p><a href=\"https:\/\/prometheus.io\">Prometeu<\/a> \u00e9 uma plataforma de monitoramento e alerta de sistemas de c\u00f3digo aberto. Em seu n\u00facleo, <strong>Servidor Prometheus<\/strong> \u00e9 respons\u00e1vel por sondar os \"alvos do Prometheus\" para obter estat\u00edsticas e armazen\u00e1-las como dados de s\u00e9rie temporal. Os alvos do Prometheus s\u00e3o configurados estaticamente ou podem ser descobertos pelo Prometheus.<\/p>\n<h3 id=\"grafana\">Grafana<\/h3>\n<p><a href=\"https:\/\/grafana.com\/grafana\">Grafana<\/a> \u00e9 uma plataforma de alerta e visualiza\u00e7\u00e3o de dados de c\u00f3digo aberto. Ela \u00e9 compat\u00edvel com o Prometheus como fonte de dados e pode ser usada para criar pain\u00e9is abrangentes.<\/p>\n<h2 id=\"introducingtheprometheussyncgatewayexporter\">Apresentando o Prometheus Sync Gateway Exporter<\/h2>\n<p>Para que o Prometheus monitore o Sync Gateway, precisamos de um \"alvo do Prometheus\" correspondente ao Sync Gateway. Esse destino \u00e9 o <strong>Exportador do gateway de sincroniza\u00e7\u00e3o<\/strong>, aqui denominada \"o Exportador\". Em termos simples, o <a href=\"https:\/\/prometheus.io\/docs\/instrumenting\/exporters\/\">Exportador<\/a> \u00e9 respons\u00e1vel por exportar as estat\u00edsticas do Sync Gateway para as m\u00e9tricas do Prometheus.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/exporter.png\" alt=\"\" \/><\/figure>\n<h2 id=\"deploymentarchitecture\">Arquitetura de implanta\u00e7\u00e3o<\/h2>\n<p>Quando juntamos tudo isso, uma implanta\u00e7\u00e3o t\u00edpica se parece com o seguinte:<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/07\/kubernetes_prometheus_sgw.png\" alt=\"\" \/><\/figure>\n<p>Ok... parece muito mais complexo do que realmente \u00e9. Na verdade, \u00e9 bastante simples:<\/p>\n<p><strong>Cont\u00eainer do exportador do gateway de sincroniza\u00e7\u00e3o<\/strong><\/p>\n<p>Os cont\u00eaineres Exporter e Sync Gateway devem ser colocados no mesmo pod usando <a href=\"https:\/\/kubernetes.io\/blog\/2015\/06\/the-distributed-system-toolkit-patterns\/?ref=hello-from-couchbase\" rel=\"noopener\" target=\"_blank\">o padr\u00e3o sidecar<\/a>. A API REST do Sync Gateway Admin \u00e9, por padr\u00e3o, apenas <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/config-properties.html?ref=blog#adminInterface\" rel=\"noopener\" target=\"_blank\">exposto<\/a> no localhost. Essa configura\u00e7\u00e3o tamb\u00e9m \u00e9 altamente recomendada em ambientes de produ\u00e7\u00e3o. Como o exportador pesquisa a API de administra\u00e7\u00e3o do Sync Gateway para obter estat\u00edsticas, ele precisa estar no mesmo host\/n\u00f3 que o Sync Gateway.<\/p>\n<p>Al\u00e9m disso, as estat\u00edsticas do Sync Gateway s\u00e3o relatadas por n\u00f3. Portanto, em um cluster de dois ou mais n\u00f3s do Sync Gateway, cada n\u00f3 do Sync Gateway deve ter seu pr\u00f3prio exportador.<\/p>\n<p><strong>Servi\u00e7o do exportador do gateway de sincroniza\u00e7\u00e3o<\/strong><\/p>\n<p>Os pods do Sync Gateway que cont\u00eam o Exporter devem ser expostos a outros servi\u00e7os no cluster. No Kubernetes, voc\u00ea faz isso por meio de um <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/service\/\" rel=\"noopener\" target=\"_blank\">Servi\u00e7o de rede do Kubernetes<\/a>. O Sync Gateway Exporter Service exp\u00f5e os pods do Sync Gateway e o torna acess\u00edvel ao Prometheus Service.<\/p>\n<p><strong>Operador do Prometheus<\/strong><\/p>\n<p>Pesquisa continuamente as estat\u00edsticas do exportador, que, por sua vez, pesquisa o ponto de extremidade REST do Sync Gateway. O servidor usa as regras definidas na se\u00e7\u00e3o <em>rules.yaml<\/em> para enviar alertas para o <strong>Gerenciador de alertas<\/strong>. A maneira mais simples de implantar o Prometheus no cluster do Kubernetes \u00e9 usando o comando <a href=\"https:\/\/kubernetes.io\/blog\/2015\/06\/the-distributed-system-toolkit-patterns\/\" rel=\"noopener\" target=\"_blank\">Operador do Prometheus<\/a>. O Prometheus Operator cuida da implanta\u00e7\u00e3o da pilha do Prometheus, incluindo o Gerenciador de alertas e o Grafana.<br \/>\nO Operador atua em v\u00e1rias Defini\u00e7\u00f5es de Recursos Personalizados (CRDs). A mais interessante \u00e9 a <strong>Monitor de servi\u00e7o<\/strong>. O Service Monitor \u00e9 respons\u00e1vel por definir como os servi\u00e7os devem ser monitorados. Nesse caso, os pods do Sync Gateway que s\u00e3o expostos por meio do Sync Gateway Exporter Service s\u00e3o monitorados.<\/p>\n<p><strong>Grafana<\/strong><\/p>\n<p>O servi\u00e7o pesquisa as estat\u00edsticas do Prometheus Server e as representa graficamente em um painel baseado na Web que pode ser acessado por meio do navegador da Web. Para acessar o painel do Grafana de fora do cluster, voc\u00ea precisar\u00e1 usar o encaminhamento de porta. Voc\u00ea tamb\u00e9m pode exp\u00f4-lo usando o NodePort ou o equivalente no Kubernetes. Novamente, o Prometheus Operator deve cuidar da implanta\u00e7\u00e3o do mesmo.<\/p>\n<h2 id=\"exportersourcecode\">C\u00f3digo-fonte do exportador<\/h2>\n<p>O Sync Gateway Exporter \u00e9 de c\u00f3digo aberto <a href=\"https:\/\/github.com\/couchbaselabs\" rel=\"noopener\" target=\"_blank\"><em>couchbaselabs<\/em><\/a> e est\u00e1 dispon\u00edvel no GitHub. Ele \u00e9 compat\u00edvel com o Couchbase Sync Gateway 2.5+. Para isso, embora nos esforcemos para mant\u00ea-lo atualizado com a vers\u00e3o mais recente do Sync Gateway, n\u00e3o podemos garantir isso. A boa not\u00edcia \u00e9 que ele \u00e9 de c\u00f3digo aberto e inclui <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/docs\/develop\/adding-new-metrics.md\" rel=\"noopener\" target=\"_blank\">instru\u00e7\u00f5es sobre como voc\u00ea pode estend\u00ea-lo para suportar estat\u00edsticas adicionais<\/a>.<\/p>\n<p>Clone a fonte do Exporter do Github e atualize os subm\u00f3dulos relevantes. O reposit\u00f3rio inclui todos os <em>yaml<\/em> arquivos de configura\u00e7\u00e3o que seriam usados para a implanta\u00e7\u00e3o.<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\r\n\r\ngit submodule update --init --rebase --remote --recursive<\/code><\/pre>\n<p>O <em>yaml<\/em> Os arquivos de configura\u00e7\u00e3o mencionados nesta postagem est\u00e3o dispon\u00edveis na pasta \"kubernetes\".<\/p>\n<pre><code class=\"bash\">cd \/path\/to\/cloned\/exporter\/source\/kubernetes<\/code><\/pre>\n<h2 id=\"installation\">Instala\u00e7\u00e3o<\/h2>\n<p>No restante da postagem, examinaremos as etapas para configurar o monitoramento em um cluster do Couchbase Mobile no cluster do Kubernetes. As instru\u00e7\u00f5es aqui contidas devem se aplicar a qualquer implanta\u00e7\u00e3o gerenciada do Kubernetes.<\/p>\n<h3 id=\"deployingcouchbaseservercluster\">Implanta\u00e7\u00e3o do cluster do Couchbase Server<\/h3>\n<p>Siga as instru\u00e7\u00f5es <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/prerequisite-and-setup.html?ref=blog\" rel=\"noopener\" target=\"_blank\">aqui<\/a> para implantar a vers\u00e3o mais recente do cluster do Couchbase Server usando o Couchbase Autonomous Operator.<\/p>\n<h3 id=\"deployingsyncgatewaycluster\">Implanta\u00e7\u00e3o do cluster do Sync Gateway<\/h3>\n<p>Siga as instru\u00e7\u00f5es <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/tutorial-sync-gateway.html\" rel=\"noopener\" target=\"_blank\">aqui<\/a> para implantar um cluster do Sync Gateway no Kubernetes<\/p>\n<h3 id=\"deployingprometheusandgrafana\">Implanta\u00e7\u00e3o do Prometheus e do Grafana<\/h3>\n<p>H\u00e1 v\u00e1rios <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/installation\/\" rel=\"noopener\" target=\"_blank\">op\u00e7\u00f5es<\/a> para implantar o Prometheus. De fato, a maioria dos servi\u00e7os gerenciados do Kubernetes pode ter op\u00e7\u00f5es<br \/>\nUma das op\u00e7\u00f5es mais simples \u00e9 implantar usando o <a href=\"https:\/\/github.com\/coreos\/prometheus-operator\" rel=\"noopener\" target=\"_blank\">Operador do Prometheus<\/a> usando <a href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/stable\/prometheus-operator\" rel=\"noopener\" target=\"_blank\">Leme<\/a>.<\/p>\n<p>O gr\u00e1fico do Prometheus implantar\u00e1 toda a pilha de monitoramento, incluindo o servidor Prometheus, o Grafana, o Alert Manager etc.<\/p>\n<h4 id=\"installinghelm\">Instalando o Helm<\/h4>\n<p>Se voc\u00ea j\u00e1 tiver o Helm em execu\u00e7\u00e3o em seu cluster, pule esta etapa<\/p>\n<pre><code class=\"bash\">kubectl create serviceaccount --namespace kube-system tiller\r\n\r\nkubectl create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:tiller\r\nhelm init --service-account tiller --upgrade<\/code><\/pre>\n<h4 id=\"installingprometheus\">Instalando o Prometheus<\/h4>\n<p>Instale o Prometheus Operator executando este comando na raiz do reposit\u00f3rio clonado.<\/p>\n<ul>\n<li>Crie um novo arquivo de configura\u00e7\u00e3o chamado <em>values.yaml<\/em> usando um editor de texto. O principal \u00e9 a senha padr\u00e3o de administrador usada para fazer login no painel do Grafana. Voc\u00ea pode alter\u00e1-la ap\u00f3s o login inicial.<\/li>\n<li>O <em>values.yaml<\/em> tamb\u00e9m est\u00e1 dispon\u00edvel no arquivo <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/kubernetes\/prometheus\/values.yaml\" rel=\"noopener\" target=\"_blank\">reposit\u00f3rio de origem<\/a>.<\/li>\n<\/ul>\n<pre><code class=\"yaml\">prometheus:\r\n  prometheusSpec:\r\n    replicas: 1\r\n    image:\r\n      tag: v2.10.0\r\n    serviceMonitorSelectorNilUsesHelmValues: false\r\n    serviceMonitorNamespaceSelector: {}\r\n    serviceMonitorSelector: {}\r\n    ruleSelectorNilUsesHelmValues: false\r\n    ruleNamespaceSelector: {}\r\n    ruleSelector: {}\r\n\r\nprometheusOperator:\r\n  image:\r\n    tag: v0.30.0\r\n\r\ngrafana:\r\n  adminPassword: admin<\/code><\/pre>\n<ul>\n<li>Implantar o Helm Chart<br \/>\nO gr\u00e1fico do Prometheus \u00e9 implantado no <em>prometeu<\/em> espa\u00e7o de nome<\/li>\n<\/ul>\n<pre class=\"\"><code class=\"bash\">helm install --namespace prometheus --name prom stable\/prometheus-operator -f values.yaml --version 5.10.4<\/code><\/pre>\n<ul>\n<li>Verificar a instala\u00e7\u00e3o<br \/>\nA sa\u00edda deve mostrar os pods correspondentes \u00e0 pilha do Prometheus<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl -n prometheus get pods\r\n\r\nNAME                                                   READY     STATUS    RESTARTS   AGE\r\nalertmanager-prom-prometheus-operator-alertmanager-0   2\/2       Running   0          27d\r\nprom-grafana-6459ffb669-6qzht                          2\/2       Running   9          27d\r\nprom-kube-state-metrics-55bc76f8c4-dppcz               1\/1       Running   0          27d\r\nprom-prometheus-node-exporter-6j9lz                    1\/1       Running   0          27d\r\nprom-prometheus-node-exporter-7wd68                    1\/1       Running   0          27d\r\nprom-prometheus-node-exporter-7wqgz                    1\/1       Running   0          27d\r\nprom-prometheus-operator-operator-6b48475c74-srwwl     1\/1       Running   0          27d\r\nprometheus-prom-prometheus-operator-prometheus-0       3\/3       Running   0          27d<\/code><\/pre>\n<h3 id=\"deployingsyncgatewayexporter\">Implementa\u00e7\u00e3o do Sync Gateway Exporter<\/h3>\n<p>Com a pilha de monitoramento do Prometheus configurada, \u00e9 hora de instalar o exportador para monitoramento.<\/p>\n<p>O cont\u00eainer do exportador ser\u00e1 implantado no mesmo pod que o Sync Gateway usando o padr\u00e3o de cont\u00eainer sidecar. Para fazer isso, atualizaremos o cluster do Sync Gateway <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/tutorial-sync-gateway.html\" rel=\"noopener\" target=\"_blank\">Implanta\u00e7\u00e3o <\/a> para incluir a implanta\u00e7\u00e3o do cont\u00eainer do Exporter com <code>couchbasesamples\/sync-gateway-prometheus-exporter:latest<\/code> dispon\u00edvel no Docker Hub.<\/p>\n<ul>\n<li>Abra o <a href=\"https:\/\/docs.couchbase.com\/operator\/current\/tutorial-sync-gateway.html\" rel=\"noopener\" target=\"_blank\">sgw-deployment.yaml<\/a> em um editor de texto e atualize-o para incluir o cont\u00eainer do Exportador, conforme mostrado abaixo.<\/li>\n<\/ul>\n<pre><code class=\"yaml\">apiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n  name: sync-gateway\r\nspec:\r\n  replicas: 1\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: sync-gateway\r\n    spec:\r\n     affinity:\r\n        podAntiAffinity:\r\n          requiredDuringSchedulingIgnoredDuringExecution:\r\n          - labelSelector:\r\n              matchExpressions:\r\n              - key: app\r\n                operator: In\r\n                values:\r\n                - sync-gateway\r\n             topologyKey: \"kubernetes.io\/hostname\"\r\n      containers:\r\n        - name: sync-gateway\r\n          image: couchbase\/sync-gateway:2.6.0-enterprise\r\n          args: [\"\/sync-gateway-config\/sgw-config.json\"]\r\n          volumeMounts:\r\n            - name: sgw-config-volume\r\n              mountPath: \/sync-gateway-config\r\n              readOnly: true\r\n          env:\r\n            - name: GOMAXPROCS\r\n              value: \"1\"\r\n          resources:\r\n            requests:\r\n              cpu: 250m\r\n            limits:\r\n              cpu: 250m\r\n        - name: exporter\r\n          image: couchbasesamples\/sync-gateway-prometheus-exporter:latest\r\n          args: [\"--log.level=info\"]\r\n          env:\r\n            - name: GOMAXPROCS\r\n              value: \"1\"\r\n          ports:\r\n          - name: http\r\n            containerPort: 9421\r\n          resources:\r\n            requests:\r\n              cpu: 100m\r\n            limits:\r\n              cpu: 100m\r\n      volumes:\r\n        - name: sgw-config-volume\r\n          secret:\r\n            secretName: sgw-config<\/code><\/pre>\n<p>Se voc\u00ea tiver um n\u00f3 de importa\u00e7\u00e3o do Sync Gateway, ser\u00e1 necess\u00e1rio atualizar <a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/_attachments\/kubernetes\/sgw-deployment-import.yaml?ref=blog\" rel=\"noopener\" target=\"_blank\">sgw-deployment-import.yaml<\/a> tamb\u00e9m.<\/p>\n<ul>\n<li>Depois de atualizar o arquivo yaml, aplique-o ao seu cluster<\/li>\n<\/ul>\n<pre><code class=\"bash\">   kubectl apply -f sgw-deployment.yaml<\/code><\/pre>\n<ul>\n<li>Verifique o status da implementa\u00e7\u00e3o. Esse cluster de amostra inclui dois n\u00f3s do Sync Gateway.<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl get pods\r\n\r\nNAME                                           READY     STATUS    RESTARTS   AGE\r\ncb-example-0000                                1\/1       Running   0          35d\r\ncb-example-0001                                1\/1       Running   0          35d\r\ncb-example-0002                                1\/1       Running   0          35d\r\ncouchbase-operator-84cd9f6598-6mm8r            1\/1       Running   4          56d\r\ncouchbase-operator-admission-6c974bf6f-77qmk   1\/1       Running   0          56d\r\nsync-gateway-54b46fdbc6-2c56l                  2\/2       Running   0          29d\r\nsync-gateway-import-b448f69dd-wjd8g            2\/2       Running   0          29d<\/code><\/pre>\n<ul>\n<li>Voc\u00ea pode visualizar os detalhes do pod Sync Gateway e verificar se ele cont\u00e9m o cont\u00eainer do exportador<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl top pod  sync-gateway-54b46fdbc6-2c56l --containers\r\n\r\nPOD                             NAME           CPU(cores)   MEMORY(bytes)   \r\nsync-gateway-54b46fdbc6-2c56l   sync-gateway   140m         20Mi            \r\nsync-gateway-54b46fdbc6-2c56l   exporter       0m           3Mi   \r\n<\/code><\/pre>\n<h3 id=\"deployingsyncgatewayexporterservice\">Implanta\u00e7\u00e3o do servi\u00e7o Sync Gateway Exporter<\/h3>\n<p>Em seguida, implantamos um servi\u00e7o Kubernetes que exp\u00f5e os n\u00f3s do Sync Gateway e os disponibiliza para outros n\u00f3s do cluster.<\/p>\n<ul>\n<li>Crie um novo arquivo de configura\u00e7\u00e3o chamado <em>svc.yaml<\/em> usando um editor de texto. O <em>svc.yaml<\/em> tamb\u00e9m est\u00e1 dispon\u00edvel no arquivo <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/kubernetes\/sgw\/svc.yaml\" rel=\"noopener\" target=\"_blank\">reposit\u00f3rio de origem<\/a>.<\/li>\n<\/ul>\n<pre><code class=\"yaml\">apiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: sync-gateway-exporter\r\n  namespace: couchbase\r\n  labels:\r\n    app: sync-gateway\r\nspec:\r\n  ports:\r\n    - port: 9421\r\n      protocol: TCP\r\n      targetPort: http\r\n      name: http\r\n  selector:\r\n    app: sync-gateway\r\n  type: ClusterIP<\/code><\/pre>\n<ul>\n<li>Implantar o servi\u00e7o<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl apply -f svc.yaml<\/code><\/pre>\n<ul>\n<li>Verifique a instala\u00e7\u00e3o. O ponto principal a ser observado no resultado \u00e9 que o servi\u00e7o aponta para os dois endpoints do Sync Gateway.<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl describe service sync-gateway-exporter\r\n\r\n\r\nName:              sync-gateway-exporter\r\nNamespace:         default\r\nLabels:            app=sync-gateway\r\nAnnotations:       kubectl.kubernetes.io\/last-applied-configuration={\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"sync-gateway\"},\"name\":\"sync-gateway-exporter\",\"namespace\":\"default\"},...\r\nSelector:          app=sync-gateway\r\nType:              ClusterIP\r\nIP:                10.15.254.14\r\nPort:              http  9421\/TCP\r\nTargetPort:        http\/TCP\r\nEndpoints:         10.12.0.41:9421,10.12.2.42:9421\r\nSession Affinity:  None\r\nEvents:            &lt;none&gt;\r\n<\/code><\/pre>\n<h3 id=\"settingupprometheusservicemonitor\">Configura\u00e7\u00e3o do Prometheus Service Monitor<\/h3>\n<p>Para que o Prometheus descubra o servi\u00e7o Sync Gateway Exporter, teremos que definir um <em>Monitor de servi\u00e7o<\/em>. Conforme discutido anteriormente, o Prometheus <a href=\"https:\/\/github.com\/coreos\/prometheus-operator#customresourcedefinitions\" rel=\"noopener\" target=\"_blank\"><em>Monitor de servi\u00e7o<\/em><\/a> especifica como os servi\u00e7os devem ser monitorados. O Prometheus Operator gera a configura\u00e7\u00e3o do Prometheus Scrape com base na defini\u00e7\u00e3o.<\/p>\n<ul>\n<li>Crie um novo arquivo de configura\u00e7\u00e3o chamado <em>servicemonitor.yaml<\/em> usando um editor de texto. O <em>servicemonitor.yaml<\/em> tamb\u00e9m est\u00e1 dispon\u00edvel no arquivo <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/kubernetes\/sgw\/servicemonitor.yaml\" rel=\"noopener\" target=\"_blank\">reposit\u00f3rio de origem<\/a>.<\/li>\n<\/ul>\n<pre><code class=\"yaml\">apiVersion: monitoring.coreos.com\/v1\r\nkind: ServiceMonitor\r\nmetadata:\r\n  name: sync-gateway\r\n  namespace: default\r\n  labels:\r\n    app: sync-gateway\r\nspec:\r\n  jobLabel: sync-gateway\r\n  selector:\r\n    matchLabels:\r\n      app: sync-gateway\r\n  namespaceSelector:\r\n    matchNames:\r\n      - default\r\n  endpoints:\r\n  - port: http\r\n    # comment following lines to use the pod IP instead of its name as instance:\r\n    relabelings:\r\n    - sourceLabels: [__meta_kubernetes_pod_name]\r\n      separator: ;\r\n      regex: (.*)\r\n      targetLabel: instance\r\n      replacement: $1\r\n      action: replace<\/code><\/pre>\n<ul>\n<li>Implantar o servi\u00e7o<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl apply -f servicemonitor.yaml<\/code><\/pre>\n<h3 id=\"configuringprometheusalerts\">Configura\u00e7\u00e3o de alertas do Prometheus<\/h3>\n<p>Esta etapa \u00e9 opcional e s\u00f3 \u00e9 necess\u00e1ria se voc\u00ea quiser que o Prometheus Alerting Manager envie alertas. Os alertas s\u00e3o baseados em um conjunto de regras de alerta configuradas:<\/p>\n<ul>\n<li>Uma amostra <em>rules.yaml<\/em> est\u00e1 dispon\u00edvel no arquivo <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/kubernetes\/sgw\/rules.yaml\" rel=\"noopener\" target=\"_blank\">reposit\u00f3rio de origem<\/a>. Ele inclui alguns exemplos de regras definidas por este <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/alerting_rules\/\" rel=\"noopener\" target=\"_blank\">especifica\u00e7\u00e3o<\/a>. Voc\u00ea pode edit\u00e1-lo para se adequar ao seu ambiente.<\/li>\n<li>Aplicar as regras<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl apply -f rules.yaml<\/code><\/pre>\n<h3 id=\"tyingitalltogether\">Amarrando tudo<\/h3>\n<h4 id=\"verifyingprometheusmonitoring\">Verifica\u00e7\u00e3o do monitoramento do Prometheus<\/h4>\n<p>Agora, verificaremos se o Prometheus ServiceMonitor \u00e9 capaz de acessar e monitorar o Sync Gateway Service.<\/p>\n<ul>\n<li>Habilite o encaminhamento de porta de seu computador local para o servidor Prometheus remoto na porta 9090. Isso s\u00f3 \u00e9 necess\u00e1rio para fins de teste. Voc\u00ea n\u00e3o precisa habilitar o encaminhamento de porta para opera\u00e7\u00f5es normais.<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl -n prometheus port-forward svc\/prom-prometheus-operator-prometheus 9090:9090<\/code><\/pre>\n<p>Acesse a webUI do Prometheus em seu navegador local<\/p>\n<pre><code class=\"bash\">open https:\/\/localhost:9090<\/code><\/pre>\n<p>Se tudo correr bem, voc\u00ea ver\u00e1 os n\u00f3s do Sync Gateway Exporter listados no <em>Metas<\/em> menu<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/07\/kubernetes_prometheus.gif\" alt=\"\" \/><\/p>\n<h4 id=\"verifyinggrafana\">Verifica\u00e7\u00e3o do Grafana<\/h4>\n<ul>\n<li>Habilite o encaminhamento de porta de seu computador local para o servidor Grafana remoto.<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl -n prometheus port-forward svc\/prom-grafana 3000:80<\/code><\/pre>\n<ul>\n<li>Acesse a webUI do painel do Grafana em seu navegador local.<\/li>\n<\/ul>\n<pre><code class=\"bash\">open https:\/\/localhost:3000<\/code><\/pre>\n<ul>\n<li>Fa\u00e7a login com as credenciais padr\u00e3o de \"admin\" e a senha de \"admin\". Voc\u00ea pode alter\u00e1-las ap\u00f3s o login inicial. A pr\u00f3xima etapa \u00e9 configur\u00e1-lo com o painel do Sync Gateway<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/06\/granafa_login-1.png\" alt=\"\" \/><\/li>\n<li>Um painel padr\u00e3o do \"Couchbase Sync Gateway\" chamado <code>dashboard.jsonnet<\/code> est\u00e1 dispon\u00edvel no <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/grafana\/dashboard.jsonnet\" rel=\"noopener\" target=\"_blank\">reposit\u00f3rio de origem<\/a> como um <a href=\"https:\/\/jsonnet.org\" rel=\"noopener\" target=\"_blank\">jsonnet<\/a> arquivo.<\/li>\n<li>A pr\u00f3xima etapa seria adicionar o \"Prometheus\" como a \"Fonte de dados\" e importar o arquivo JSON \"Sync Gateway dashboard\" que foi gerado anteriormente. Voc\u00ea poderia fazer isso <a href=\"https:\/\/grafana.com\/docs\/reference\/export_import\/\" rel=\"noopener\" target=\"_blank\">manualmente<\/a> seguindo as op\u00e7\u00f5es do menu. Simplificamos esse processo e fornecemos uma <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-sync-gateway-exporter\/blob\/master\/scripts\/setup-grafana\" rel=\"noopener\" target=\"_blank\">script<\/a> que far\u00e1 tudo isso por voc\u00ea!<br \/>\nPrimeiro, certifique-se de que o servi\u00e7o Grafana esteja sendo executado na porta 3000. Execute o script a partir da raiz do seu reposit\u00f3rio clonado usando o comando abaixo <code>fazer<\/code> no <code>grafana-dev<\/code> alvo. Isso faz o seguinte:<\/p>\n<ul>\n<li>Regenera o <code>dashboard.json<\/code> painel de controle do <code>dashboard.jsonnet<\/code> arquivo<\/li>\n<li>Usa a API do Grafana para adicionar o Prometheus como uma fonte de dados<\/li>\n<li>Usa a API do Grafana para carregar o <code>dashboard.json<\/code> gerado na etapa anterior<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">fazer grafana-dev<\/code><\/pre>\n<h4>Visualiza\u00e7\u00e3o de estat\u00edsticas do Grafana<\/h4>\n<ul>\n<li>Depois que o script for executado com \u00eaxito, voc\u00ea dever\u00e1 atualizar a interface do usu\u00e1rio da Web do Grafana em seu navegador da Web. Voc\u00ea ver\u00e1 o \"Couchbase Sync Gateway Dashboard\" na lista de pain\u00e9is dispon\u00edveis. O painel apresenta graficamente todas as estat\u00edsticas relatadas pelo Sync Gateway. Voc\u00ea pode personalizar o painel.<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/07\/kubernetes_grafana_dashboard-1-e1562797643593.png\" alt=\"\" \/><\/li>\n<li>Clique em \"Couchbase Sync Gateway Dashboard\" para ver as estat\u00edsticas. Voc\u00ea pode filtr\u00e1-las por Sync Gateway (se tiver mais de um) ou banco de dados<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/07\/kubernetes_grafana_stats-1-e1562797619887.png\" alt=\"\" \/><\/li>\n<\/ul>\n<p>\u00c9 isso a\u00ed! Voc\u00ea configurou com \u00eaxito o monitoramento do Couchbase Sync Gateway Kubernetes com o Prometheus. Agora voc\u00ea pode conduzir replica\u00e7\u00f5es com clientes do Couchbase Lite e monitor\u00e1-las.<\/p>\n<p>O painel padr\u00e3o do Sync Gateway \u00e9 um ponto de partida. Voc\u00ea pode personalizar o painel, editando o <code>dashboard.jsonnet<\/code> ou diretamente pela interface do usu\u00e1rio do Grafana.<\/p>\n<h2 id=\"whatsnext\">O que vem a seguir<\/h2>\n<p>O Prometheus \u00e9 adequado para monitorar implanta\u00e7\u00f5es do Kubernetes. Usando o Sync Gateway Exporter, voc\u00ea pode exportar as estat\u00edsticas do Sync Gateway para o Prometheus e visualiz\u00e1-las usando ferramentas de visualiza\u00e7\u00e3o como o Grafana. Isso simplifica muito o monitoramento dos seus clusters do Couchbase Mobile.<\/p>\n<p>Al\u00e9m do exportador, fornecemos um painel padr\u00e3o do Grafana que voc\u00ea pode personalizar. Al\u00e9m de personalizar o pr\u00f3prio painel, voc\u00ea tamb\u00e9m pode personalizar as regras para alertas.<\/p>\n<p>Em caso de d\u00favidas ou feedback, deixe um coment\u00e1rio abaixo. Ou sinta-se \u00e0 vontade para entrar em contato comigo pelo Twitter <a href=\"https:\/\/twitter.com\/rajagp\" rel=\"noopener\" target=\"_blank\">@rajagp<\/a> ou por e-mail <a href=\"mailto:priya.rajagopal@couchbase.com\" rel=\"noopener\" target=\"_blank\">priya.rajagopal@couchbase.com<\/a>.  O\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/?ref=blog\" rel=\"noopener\" target=\"_blank\">F\u00f3runs do Couchbase<\/a> s\u00e3o outro bom lugar para entrar em contato com perguntas.<\/p>\n<h2 id=\"acknowledgements\">Agradecimentos<\/h2>\n<p>Gostaria de agradecer a <a href=\"https:\/\/github.com\/caarlos0\/\" rel=\"noopener\" target=\"_blank\">Carlos Becker<\/a> por seu trabalho na cria\u00e7\u00e3o da primeira vers\u00e3o do Sync Gateway Exporter.<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>UPDATE: Starting in v2.8, Sync Gateway includes built-in Prometheus exporter support. Stats are exported in Prometheus-compatible format through the metrics endpoint. This implies that there is no longer the need to have a separate exporter. Read the Couchbase Documentation for [&hellip;]<\/p>","protected":false},"author":1423,"featured_media":7208,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,9284,1810,2322,2334,2366],"tags":[1245,1413,2384,1261,1545,2383],"ppma_author":[8948],"class_list":["post-7194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-autonomous-operator","category-couchbase-mobile","category-kubernetes","category-monitoring","category-sync-gateway","tag-cloud","tag-github","tag-grafana","tag-json","tag-kubernetes","tag-prometheus"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster<\/title>\n<meta name=\"description\" content=\"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster\" \/>\n<meta property=\"og:description\" content=\"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-11T17:00:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:33:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1041\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster\",\"datePublished\":\"2019-07-11T17:00:53+00:00\",\"dateModified\":\"2025-06-14T04:33:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\"},\"wordCount\":1922,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png\",\"keywords\":[\"cloud\",\"GitHub\",\"Grafana\",\"JSON\",\"kubernetes\",\"Prometheus\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Autonomous Operator\",\"Couchbase Mobile\",\"Kubernetes\",\"Monitoring\",\"Sync Gateway\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\",\"name\":\"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png\",\"datePublished\":\"2019-07-11T17:00:53+00:00\",\"dateModified\":\"2025-06-14T04:33:42+00:00\",\"description\":\"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png\",\"width\":2048,\"height\":1041,\"caption\":\"couchbase sync gateway grafana stats\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Monitoramento Prometheus do cluster Kubernetes do Couchbase Mobile","description":"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/","og_locale":"pt_BR","og_type":"article","og_title":"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster","og_description":"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-07-11T17:00:53+00:00","article_modified_time":"2025-06-14T04:33:42+00:00","og_image":[{"width":2048,"height":1041,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png","type":"image\/png"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster","datePublished":"2019-07-11T17:00:53+00:00","dateModified":"2025-06-14T04:33:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/"},"wordCount":1922,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png","keywords":["cloud","GitHub","Grafana","JSON","kubernetes","Prometheus"],"articleSection":["Best Practices and Tutorials","Couchbase Autonomous Operator","Couchbase Mobile","Kubernetes","Monitoring","Sync Gateway"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/","url":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/","name":"Monitoramento Prometheus do cluster Kubernetes do Couchbase Mobile","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png","datePublished":"2019-07-11T17:00:53+00:00","dateModified":"2025-06-14T04:33:42+00:00","description":"Follow this step-by-step guide to set up Prometheus for monitoring your Couchbase Sync Gateway \/ Mobile clusters when deployed on Kubernetes containers.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/07\/grafana_stats.png","width":2048,"height":1041,"caption":"couchbase sync gateway grafana stats"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/monitoring-couchbase-sync-gateway-kubernetes-cluster-prometheus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Prometheus Monitoring of Couchbase Mobile Kubernetes Cluster"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Diretora S\u00eanior, Gerenciamento de Produtos","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal \u00e9 diretora s\u00eanior de gerenciamento de produtos da Couchbase, respons\u00e1vel pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente h\u00e1 mais de 20 anos em v\u00e1rios cargos t\u00e9cnicos e de lideran\u00e7a de produtos, com mais de 10 anos de foco em tecnologias m\u00f3veis. Como delegada de padr\u00f5es de IPTV da TISPAN, ela foi uma das principais colaboradoras das especifica\u00e7\u00f5es de padr\u00f5es de IPTV. Ela tem 22 patentes nas \u00e1reas de rede e seguran\u00e7a de plataforma.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"Priya Rajagopal \u00e9 diretora s\u00eanior de gerenciamento de produtos da Couchbase, respons\u00e1vel pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente h\u00e1 mais de 20 anos em v\u00e1rios cargos t\u00e9cnicos e de lideran\u00e7a de produtos, com mais de 10 anos de foco em tecnologias m\u00f3veis. Como delegada de padr\u00f5es de IPTV da TISPAN, ela foi uma das principais colaboradoras das especifica\u00e7\u00f5es de padr\u00f5es de IPTV. Ela tem 22 patentes nas \u00e1reas de rede e seguran\u00e7a de plataforma."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=7194"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/7208"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=7194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=7194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=7194"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=7194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}