Getting Started with Prometheus
This guide walks you through setting up a tenant on Thalassa Prometheus Service and configuring your Prometheus instance to forward metrics via remote write.
Info
Thalassa Prometheus Service is currently in Private Beta. Access may be limited—contact support for early access. The documentation is already made available to iterate upon during the private beta phase.
Thalassa Prometheus Service will be made Available in GA in January 2026.
Prerequisites
Before you begin, ensure you have a Thalassa Cloud account with appropriate permissions to create and manage Prometheus tenants. You’ll also need a Prometheus instance or Prometheus Operator deployment to collect metrics from your infrastructure. Access to the Thalassa Cloud console or API is required to create the tenant and configure remote write.
Step 1: Create a Prometheus Tenant
Access Prometheus Service
- Log into the Thalassa Cloud Console
- Navigate to Observability → Prometheus
- Click Create Tenant
Configure Tenant
- When creating your Prometheus tenant, choose a descriptive name that reflects its purpose, such as
production-monitoringorinfrastructure-observability. - The tenant will serve as the target for your remote write data and querying. Select the region where you want your tenant to be hosted, which should typically match the region where your infrastructure is located.
- Configure the metrics retention period based on your compliance and analysis requirements; common retention periods range from 30 days for operational monitoring to 90 days or longer for compliance and capacity planning.
- Once you’ve configured these settings, click Create to create the tenant.
Step 2: Get Remote Write Configuration
Retrieve Remote Write Endpoint
- Navigate to your Prometheus tenant in the console
- Go to Configuration → Remote Write
- Copy the Remote Write URL (e.g.,
https://prometheus.nl-01.thalassa.cloud/api/v1/push)
Get Authentication Credentials
Thalassa Prometheus Service uses OIDC authentication integrated with Thalassa Cloud IAM. For production deployments and automation, we recommend using a service account. To create a service account, navigate to IAM → Service Accounts in the console, create a new service account, and grant it appropriate permissions for Prometheus remote write. Once created, generate access credentials for the service account, which you’ll use in your Prometheus configuration.
Alternatively, you can use a personal access token for authentication. Create a personal access token in your account settings and use it in your Prometheus configuration. Note that personal access tokens are less suitable for automated deployments and should be used primarily for testing or manual operations.
Configure IP ACLs (Optional)
Optionally, you can restrict remote write access by IP address. Navigate to Configuration → Remote Write → IP ACLs in your Prometheus tenant settings. Add the IP addresses or CIDR blocks that should be allowed to send metrics to the remote write endpoint. Once configured, only requests originating from these IP addresses will be accepted, providing an additional layer of security for your metrics ingestion.
Step 3: Configure Prometheus Remote Write
Update Prometheus Configuration
Edit your Prometheus configuration file (prometheus.yml):
global:
scrape_interval: 15s
external_labels:
cluster: production
region: nl-01
# Your scrape configs
scrape_configs:
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
# Remote write configuration
remote_write:
- url: https://prometheus.nl-01.thalassa.cloud/api/v1/push
headers:
x-org-id: "<your-tenant-id>"
oauth2:
client_id: <client-credenital-key>
client_secret: <service-account-secret>
token_url: https://api.thalassa.cloud/v1/oidc/token
queue_config:
max_samples_per_send: 1000
batch_send_deadline: 5s
max_retries: 3
write_relabel_configs:
# Optional: filter metrics before sending
- source_labels: [__name__]
regex: 'up|prometheus_.*'
action: dropUsing OIDC Token Exchange
For CI/CD or automated deployments, use OIDC token exchange:
# Exchange OIDC token for Thalassa Cloud access token
TOKEN=$(tcloud oidc token-exchange \
--subject-token "${OIDC_TOKEN}" \
--organisation-id "${THALASSA_ORGANISATION_ID}" \
--service-account-id "${THALASSA_SERVICE_ACCOUNT_ID}")
# Use token in Prometheus remote_write configReload Prometheus
Reload your Prometheus configuration:
# If using systemd
sudo systemctl reload prometheus
# Or send SIGHUP
kill -HUP $(pgrep prometheus)
# Or use Prometheus API
curl -X POST http://localhost:9090/-/reloadStep 4: Verify Remote Write
Check Remote Write Status
- Access your Prometheus UI (typically
http://localhost:9090) - Navigate to Status → Targets to verify scrape targets are working
- Go to Status → Runtime & Build Information → Remote Write
- Verify remote write endpoints show as “UP”
Query Metrics
Use the Thalassa Prometheus Query API to verify metrics are being stored:
# Query metrics using the Query API
curl -H "Authorization: Bearer $TOKEN" -H "x-org-id: $TENANT_ID" \
"https://prometheus.nl-01.thalassa.cloud/api/v1/query?query=up"Or use the console:
- Navigate to your Prometheus tenant
- Go to Query or access the Query API
- Run a simple query:
up - Verify you see metrics from your Prometheus instance
Step 5: Set Up Basic Alerting
Create Alert Rule
You can create alert rules using the console, Mimirtool, or Prometheus APIs. Here’s how to do it via the console:
- Navigate to your Prometheus tenant
- Go to Alerting → Alert Rules
- Click Create Alert Rule
- Configure a basic alert:
Example: High CPU Usage
groups:
- name: infrastructure
interval: 30s
rules:
- alert: HighCPUUsage
expr: 100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
summary: "High CPU usage detected"
description: "CPU usage is {{ $value }}% on {{ $labels.instance }}"Configure Notification Channels
Navigate to Alerting → Notification Channels to configure how alerts are delivered. The service supports multiple notification channel types: SMTP for email notifications using a remote SMTP server, webhooks for sending alerts to custom endpoints, Slack integration for posting alerts to Slack workspaces, and Microsoft Teams integration for Teams notifications. After adding your notification channels, configure routing rules to determine which alerts are sent to which channels based on alert labels and severity levels.
Next Steps
- Remote Write Configuration — Advanced remote write settings
- Query Metrics — Learn to query metrics using PromQL
- Set Up Alerting — Configure alert rules and Alertmanager using Mimirtool, console, or APIs
- Integrate with Grafana — Connect Grafana to visualize metrics
References
- Remote Write Configuration — Detailed remote write setup
- Querying Metrics — Query API guide
- Alerting — Alert rules, recording rules, and Alertmanager configuration
- Prometheus Remote Write — Official Prometheus remote write documentation