BizFirst Observe
AWS CloudWatch
AWS CloudWatch provides managed log storage (CloudWatch Logs), metrics (CloudWatch Metrics + Amazon Managed Prometheus), and tracing (AWS X-Ray). If BizFirstGO runs on EKS or EC2, CloudWatch integrates natively with IAM, Cost Explorer, and AWS security tools.
AWS Components for BizFirstGO
| AWS Service | Replaces | Notes |
|---|---|---|
| CloudWatch Logs | Loki | CloudWatch Insights for log queries; no LogQL support |
| Amazon Managed Prometheus (AMP) | Prometheus | Full PromQL support — easiest AWS metric migration |
| AWS X-Ray | Tempo | X-Ray format; OTel Collector X-Ray exporter available |
| Amazon Managed Grafana (AMG) | Grafana OSS | Pre-authenticated to AMP + CloudWatch + X-Ray |
OTel Collector for AWS
# otel-collector-config.yaml — export to AWS services
# Uses the AWS Distro for OpenTelemetry (ADOT) collector image for best AWS support
exporters:
# Logs → CloudWatch Logs
awscloudwatchlogs:
log_group_name: "/bizfirstgo/processengine"
log_stream_name: "${env:HOSTNAME}"
region: us-east-1
# Metrics → Amazon Managed Prometheus
prometheusremotewrite/amp:
endpoint: "${AMP_REMOTE_WRITE_ENDPOINT}"
auth:
authenticator: sigv4auth
# Traces → AWS X-Ray
awsxray:
region: us-east-1
local_mode: false
extensions:
sigv4auth:
region: us-east-1
service: aps # Amazon Managed Prometheus service name
service:
extensions: [sigv4auth]
pipelines:
logs:
receivers: [otlp]
processors: [batch, redaction]
exporters: [awscloudwatchlogs]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [prometheusremotewrite/amp]
traces:
receivers: [otlp]
processors: [batch, tail_sampling]
exporters: [awsxray]
Amazon Managed Prometheus — Best AWS Migration Path for Metrics
# AMP accepts Prometheus Remote Write — minimal migration effort for metrics.
# BizFirstGO PromQL queries work unchanged. Pre-built metric dashboards work unchanged.
# Create an AMP workspace:
aws amp create-workspace --alias bizfirstgo-observe
# Get the Remote Write URL:
aws amp describe-workspace --workspace-id ws-abc123 \
| jq '.workspace.prometheusEndpoint'
# Output: https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-abc123/
# Set REMOTE_WRITE_URL = above URL + "api/v1/remote_write"
# In grafana-provisioning/datasources/amp.yaml:
datasources:
- name: Amazon Managed Prometheus
type: prometheus
url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-abc123/"
jsonData:
sigV4Auth: true
sigV4Region: us-east-1