For the complete documentation index, see llms.txt. Markdown versions are available by appending .md to documentation URLs.

GCP One-Click Integration - Monitor Google Cloud Services

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Hosted Enterprise - This page applies to self-hosted SigNoz with an active license.

SigNoz One-Click GCP Integration monitors your Google Cloud services without manual Collector setup. You run one setup command that SigNoz generates for you. It deploys a small SigNoz agent and an OpenTelemetry Collector into your GCP project. After that, you choose which services to watch from the SigNoz UI, and the agent sets up metrics and logs collection for you.

New to the GCP integration? Read the Overview first to see how data flows and what it costs.

Supported services

Key capabilities

  • Quick setup: Copy one command from SigNoz and run it in Cloud Shell. No Collector config to write.
  • Metrics and logs: Collects Cloud Monitoring metrics and Cloud Logging logs for each service you turn on.
  • Toggle from SigNoz: Turn metrics or logs on or off per service. The agent updates your GCP project to match.
  • Pre-built dashboards: Each supported service comes with a ready-made dashboard.

Prerequisites

  • A SigNoz Cloud or SigNoz Enterprise (Self-Hosted) account, with the Admin role.
  • A GCP project with billing turned on. This is the project the agent runs in, and the project it monitors.
  • Google Cloud Shell, or a terminal with bash, curl, and the gcloud CLI signed in to the project.
  • Enough access in the project to turn on APIs, create secrets, create service accounts, and grant IAM roles. The project Owner role covers all of this. If you don't have Owner, you also need roles/config.admin to use Infrastructure Manager.

Required permissions

The setup command creates a helper service account named signoz-integration-bootstrap. Infrastructure Manager uses this account, not your own login, to build the integration resources. It gets these roles:

RoleWhy it's needed
roles/config.agentLets Infrastructure Manager run the deployment
roles/serviceusage.serviceUsageAdminTurns on the APIs the integration uses, such as Cloud Run and Pub/Sub
roles/resourcemanager.projectIamAdminGrants roles to the agent and Collector service accounts
roles/iam.serviceAccountAdminCreates the agent, Collector, and log delivery service accounts
roles/iam.serviceAccountUserLets the Cloud Run services run as those service accounts
roles/run.adminCreates the agent and Collector Cloud Run services
roles/pubsub.adminCreates the Pub/Sub topic and push subscription for logs
roles/logging.configWriterCreates the log sink that forwards logs
roles/secretmanager.adminLets the runtime service accounts read the two SigNoz secrets. Granted on those two secrets only.

The command also gives the account gcloud is signed in with the roles/iam.serviceAccountUser role on this one helper account, so it can start the deployment.

Installation

Step 1: Start the connection in SigNoz

  1. In SigNoz, go to Integrations and open Google Cloud Platform.
  2. Click Integrate Now. If you already have a GCP account connected, click Add New Account instead. The Connect Google Cloud Platform panel opens.
  3. Under Connection method, select Connect via Agent.
  4. Fill in the two fields:
    • Deployment Project ID: the project where SigNoz deploys the agent. The agent also monitors this project. Use the project ID (for example, my-project-123), not the display name.
    • Deployment Region: the GCP region where the agent and Collector run (for example, us-central1). Pick a region close to your services.
  5. Check the Deployment details & ingestion secrets section. On SigNoz Cloud, these values show Auto-filled by SigNoz and you don't need to change them. On SigNoz Enterprise (Self-Hosted), fill in any empty field. See Fields for self-hosted SigNoz below.
  6. Click Generate Commands.

Fields for self-hosted SigNoz

The agent and the Collector use two different endpoints. The agent talks to the SigNoz API to read your settings. The Collector sends telemetry to the ingestion endpoint.

FieldWhat to enterUsed by
SigNoz API URLThe base URL of your SigNoz instance, the same one you open in the browser. For example, https://signoz.example.com.Agent
SigNoz API KeyAn API key from a SigNoz service account.Agent
Ingestion URLThe OTLP/HTTP endpoint of your SigNoz OpenTelemetry Collector. For example, https://ingest.signoz.example.com. This is usually a different host or port from the API URL.Collector
Ingestion KeyThe key the Collector sends in the signoz-ingestion-key header. See Ingestion keys.Agent and Collector

Both URLs must:

  • Start with https://. The deployment rejects plain http:// URLs.
  • Be reachable from Google Cloud over the public internet. The agent and the Collector run on Cloud Run and connect out directly, without a VPC connector, so a URL that only resolves inside your private network won't work.
  • Use a TLS certificate that a standard client trusts.

SigNoz then shows the setup command in a Deploy the SigNoz agent section.

Step 2: Run the setup command

Open Cloud Shell, or a terminal where gcloud is signed in to your deployment project. Click the copy icon on the command in SigNoz, paste it into the shell, and wait for it to finish.

The command runs a SigNoz setup script that does everything in order:

  1. Turns on the Google Cloud APIs the setup needs, then waits about a minute for them to be ready.
  2. Saves your SigNoz API key and ingestion key as two secrets in Secret Manager (GCP's safe store for passwords and keys).
  3. Creates the helper service account signoz-integration-bootstrap and gives it the roles listed in Required permissions. A service account is a robot identity that GCP tools use to do work on your behalf.
  4. Asks Infrastructure Manager (GCP's service for creating resources from a template) to build the agent, the Collector, and the log pipeline. See What gets deployed for the full list.
curl -fsSL https://signoz.io/foundry.sh | bash -s -- cloudintegration gcp terraform \
  --region <deployment-region> \
  --gcp-project <deployment-project-id> \
  --integration-account-id <integration-account-id> \
  --signoz-api-url <signoz-api-url> \
  --signoz-api-key <signoz-api-key> \
  --ingestion-url <ingestion-url> \
  --ingestion-key <ingestion-key> \
  --agent-version <agent-version>

Verify these values:

  • <deployment-project-id> and <deployment-region> match what you entered in Step 1.
  • <agent-version> is the SigNoz agent release that SigNoz picks for you, for example v0.0.16.
  • The other values come from SigNoz. You don't need to change them.

You should see: the script prints its progress for each step and ends with Deployed projects/<deployment-project-id>/locations/<deployment-region>/deployments/signoz-integration-bootstrap. The whole run takes a few minutes.

Step 3: Verify the connection

Go back to SigNoz. While it waits, the panel shows Waiting for GCP account connection, retrying in 10 secs.... Once the agent starts and checks in, SigNoz shows GCP account connected successfully, closes the panel, and lists your project ID next to Account:.

Check in the GCP Console (optional)

  1. Open Infrastructure Manager > Deployments and confirm signoz-integration-bootstrap is Active.
  2. Open Cloud Run and confirm signoz-integration-agent and signoz-integration-collector both show a green check.

Turn on services

Connecting the account doesn't collect any data yet. Turn on the services you want to monitor:

  1. On the Google Cloud Platform integration page, select a service from the list on the left, for example GCP Cloud Storage.
  2. Turn on Metric Collection, Log Collection, or both.
  3. Click Save.

Here's what happens next:

  • Within about 30 seconds, the agent picks up the change from SigNoz.
  • The agent updates the Collector with the metrics to read, and updates the log sink to forward that service's logs. The Collector restarts with the new settings, which can take a few minutes.
  • Metrics show up about 10 minutes later. Open the service's dashboard from the Dashboards section on its page.
  • Logs start flowing within a few minutes. Open Logs in SigNoz and filter on gcp.project to see logs from your project. Add gcp.resource_type to narrow them down to one service, for example gcp.project = '<deployment-project-id>' AND gcp.resource_type = 'cloudsql_database'. Each service page lists the resource type to use.

Managing the integration

View account settings

Click Edit Account to open Account Settings. It shows the deployment project ID and region. You can't change them for an agent connection. To use a different project or region, disconnect and connect again.

Monitor more projects

Each agent monitors one project. To monitor another project, click Add New Account and repeat the installation steps in that project.

Uninstall

  1. In SigNoz, click Edit Account, then Disconnect, and confirm with Remove Account. The agent turns off the log sink and stops the Collector from collecting data. All GCP resources stay in place.

  2. Wait a few minutes for logs already in the queue to clear.

  3. Delete the deployment. This removes the agent, the Collector, and the log pipeline:

    gcloud infra-manager deployments delete \
      'projects/<deployment-project-id>/locations/<deployment-region>/deployments/signoz-integration-bootstrap' \
      --project=<deployment-project-id> --delete-policy=delete
  4. After the delete finishes, remove the secrets and the helper service account:

    gcloud secrets delete signoz-integration-api-credentials --project=<deployment-project-id>
    gcloud secrets delete signoz-integration-ingestion-key-credential --project=<deployment-project-id>
    gcloud iam service-accounts delete \
      signoz-integration-bootstrap@<deployment-project-id>.iam.gserviceaccount.com \
      --project=<deployment-project-id>

The APIs that the setup command turned on stay on. Turn them off yourself if nothing else in the project uses them.

Limitations

  • One project per agent: the agent monitors only the project it runs in, plus the metrics of any projects in that project's metrics scope (see Monitor more projects). To monitor many projects from one Collector, use Manual Setup.
  • One connection per project: a project can be connected to only one SigNoz GCP integration at a time.
  • Project and region are fixed: you can't change them after connecting. Disconnect and connect again instead.
  • Logs come from Cloud Logging only: if GCP doesn't write a log to Cloud Logging, SigNoz can't collect it.

What gets deployed

When you run the setup command, your project ends up with an agent, a Collector, and a log pipeline:

  • The SigNoz agent runs on Cloud Run. Every 30 seconds it asks SigNoz which services are turned on. It then updates two things to match: the Collector's config and the log sink's filter. It doesn't create or delete any other resources.
  • The OpenTelemetry Collector runs on Cloud Run. It reads metrics from Cloud Monitoring, receives logs from Pub/Sub, and sends both to SigNoz.
  • The log pipeline moves logs from Cloud Logging to the Collector. A log sink picks the logs of the services you turned on and sends them to a Pub/Sub topic. A push subscription then delivers them to the Collector.

For a diagram of how these fit together, see How it works.

Resources created

All resources created by the deployment carry the label managed-by=signoz.

ResourceNamePurpose
Cloud Run servicesignoz-integration-agentRuns the SigNoz agent. 1 vCPU, 512 MiB, always on, internal traffic only.
Cloud Run servicesignoz-integration-collectorRuns the OpenTelemetry Collector. Starts at 2 vCPU and 4 GiB, always on, internal traffic only.
Pub/Sub topicsignoz-integration_logs_pushHolds logs on their way to the Collector. Messages are stored in the deployment region only.
Pub/Sub push subscriptionsignoz-integration_logs_push-signoz-integration-collectorDelivers logs to the Collector. Keeps undelivered logs for up to 6 hours.
Log sinksignoz-integration_logsForwards logs of the services you turned on. Starts turned off.
Service accountssignoz-integration-agent, signoz-integration-collector, signoz-integration-logs-pushIdentities for the agent, the Collector, and log delivery.

Created by the setup command before the deployment runs:

ResourceName
Secretsignoz-integration-api-credentials
Secretsignoz-integration-ingestion-key-credential
Service accountsignoz-integration-bootstrap

Runtime permissions

IdentityRoleScope
Agent service accountroles/logging.configWriterProject. GCP can't limit this role to a single sink, so the agent's code only ever edits signoz-integration_logs.
Agent service accountroles/run.developerThe Collector service only
Agent service accountroles/iam.serviceAccountUserThe Collector service account only
Agent service accountroles/secretmanager.secretAccessorThe two SigNoz secrets
Collector service accountroles/monitoring.viewerProject
Collector service accountroles/secretmanager.secretAccessorThe ingestion key secret only
Log delivery service accountroles/run.invokerThe Collector service only
Pub/Sub service agentroles/iam.serviceAccountOpenIdTokenCreatorThe log delivery service account only
Log sink writer identityroles/pubsub.publisherThe log topic only

Troubleshooting

SigNoz shows "We couldn't establish a connection to your GCP account". SigNoz waits up to 10 minutes for the agent to check in.

  • Confirm the setup command finished and the deployment is Active in Infrastructure Manager > Deployments.
  • In Cloud Run, open signoz-integration-agent and check its Logs tab for errors.
  • Once the agent is running, click Check Again in SigNoz.

SigNoz shows "Failed to generate GCP setup commands".

  • Check that Deployment Project ID is the project ID, not the display name, and has no extra spaces.
  • On SigNoz Enterprise (Self-Hosted), check that every field under Deployment details & ingestion secrets is filled in and the URLs start with https://.

The setup command fails. The script stops at the first step that fails and prints the error. Common causes:

  • "gcloud is not signed in" or "Cannot access project": run gcloud auth login, or check that the account gcloud uses can open the deployment project.
  • "Secret ... exists but is not labeled managed-by=signoz": a secret with the same name already exists and SigNoz didn't create it. The script won't overwrite it. Delete or rename that secret, then rerun the command.
  • A permission error during the deployment: new IAM roles can take a few minutes to apply across GCP. Wait a few minutes, then rerun the same command.

The script reuses everything it already created, so rerunning it is safe. Don't delete the deployment to retry.

The agent logs "already connected to cloud integration". Another SigNoz GCP integration already uses this project. Disconnect the other account in SigNoz, or use a different project.

The agent logs "signoz deployment region ... does not match agent region". The region in SigNoz is different from the region in the deployment. Disconnect the account, then connect again and run the new setup command SigNoz generates.

Deleting the deployment fails with "service account ... was not found". The signoz-integration-bootstrap service account was deleted before the deployment. Infrastructure Manager needs that account to remove the resources. Rerun the setup command from SigNoz to recreate the service account and its roles, wait a few minutes, then delete the deployment again. After the delete succeeds, remove the service account and the secrets.

Metrics or logs don't show up after turning on a service.

  • Wait at least 10 minutes. The first metrics take a while to arrive after you turn on a service.
  • Confirm Metric Collection or Log Collection is on for the service, and that you clicked Save.
  • In Cloud Run, check that signoz-integration-collector has a new revision with a green check.
  • For logs, confirm the service writes logs to Cloud Logging. Open Logs Explorer in the GCP Console and look for recent entries from the service.

Get Help

If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack. If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.

Is this page helpful

Last updated—October 19, 2026

Edit on GitHub