- Updated all OpenTelemetry packages to latest versions: - opentelemetry-api: 1.27.0 → 1.39.1 - opentelemetry-sdk: 1.27.0 → 1.39.1 - opentelemetry-exporter-otlp-proto-grpc: 1.27.0 → 1.39.1 - opentelemetry-exporter-otlp-proto-http: 1.27.0 → 1.39.1 - opentelemetry-instrumentation-fastapi: 0.48b0 → 0.60b1 - opentelemetry-instrumentation-httpx: 0.48b0 → 0.60b1 - opentelemetry-instrumentation-redis: 0.48b0 → 0.60b1 - opentelemetry-instrumentation-sqlalchemy: 0.48b0 → 0.60b1 - Removed prometheus-client==0.23.1 from all services - Unified all services to use the same monitoring package versions Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
319 lines
7.6 KiB
YAML
319 lines
7.6 KiB
YAML
# SigNoz Helm Chart Values - Development Environment
|
|
# Optimized for local development with minimal resource usage
|
|
#
|
|
# Official Chart: https://github.com/SigNoz/charts
|
|
# Install Command: helm install signoz signoz/signoz -n signoz --create-namespace -f signoz-values-dev.yaml
|
|
|
|
global:
|
|
storageClass: "standard"
|
|
domain: "monitoring.bakery-ia.local"
|
|
# Docker Hub credentials for pulling images
|
|
imagePullSecrets:
|
|
- name: dockerhub-creds
|
|
|
|
# Frontend Configuration
|
|
frontend:
|
|
replicaCount: 1
|
|
image:
|
|
repository: signoz/frontend
|
|
tag: 0.52.3
|
|
pullPolicy: IfNotPresent
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 3301
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: nginx
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$2
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
hosts:
|
|
- host: monitoring.bakery-ia.local
|
|
paths:
|
|
- path: /signoz(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
tls: []
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 25m # Reduced for local dev
|
|
memory: 64Mi # Reduced for local dev
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
env:
|
|
- name: FRONTEND_REFRESH_INTERVAL
|
|
value: "30000"
|
|
- name: BASE_URL
|
|
value: "https://monitoring.bakery-ia.local/signoz"
|
|
|
|
# Query Service Configuration
|
|
queryService:
|
|
replicaCount: 1
|
|
image:
|
|
repository: signoz/query-service
|
|
tag: 0.52.3
|
|
pullPolicy: IfNotPresent
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8080
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m # Reduced for local dev
|
|
memory: 128Mi # Reduced for local dev
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
env:
|
|
- name: DEPLOYMENT_TYPE
|
|
value: "kubernetes-helm"
|
|
- name: SIGNOZ_LOCAL_DB_PATH
|
|
value: "/var/lib/signoz"
|
|
|
|
persistence:
|
|
enabled: true
|
|
size: 5Gi
|
|
storageClass: "standard"
|
|
|
|
# AlertManager Configuration
|
|
alertmanager:
|
|
replicaCount: 1
|
|
image:
|
|
repository: signoz/alertmanager
|
|
tag: 0.23.5
|
|
pullPolicy: IfNotPresent
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 9093
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 25m # Reduced for local dev
|
|
memory: 64Mi # Reduced for local dev
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
persistence:
|
|
enabled: true
|
|
size: 2Gi
|
|
storageClass: "standard"
|
|
|
|
config:
|
|
global:
|
|
resolve_timeout: 5m
|
|
route:
|
|
group_by: ['alertname', 'cluster', 'service']
|
|
group_wait: 10s
|
|
group_interval: 10s
|
|
repeat_interval: 12h
|
|
receiver: 'default'
|
|
receivers:
|
|
- name: 'default'
|
|
# Add email, slack, webhook configs here
|
|
|
|
# ClickHouse Configuration - Time Series Database
|
|
# Minimal resources for local development on constrained Kind cluster
|
|
clickhouse:
|
|
enabled: true
|
|
installCustomStorageClass: false
|
|
|
|
# Reduce ClickHouse resource requests for local dev
|
|
clickhouse:
|
|
resources:
|
|
requests:
|
|
cpu: 200m # Reduced from default 500m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
|
|
# OpenTelemetry Collector - Data ingestion endpoint for all telemetry
|
|
otelCollector:
|
|
enabled: true
|
|
replicaCount: 1
|
|
|
|
# Service configuration - expose both gRPC and HTTP endpoints
|
|
service:
|
|
type: ClusterIP
|
|
ports:
|
|
# gRPC receivers
|
|
- name: otlp-grpc
|
|
port: 4317
|
|
targetPort: 4317
|
|
protocol: TCP
|
|
# HTTP receivers
|
|
- name: otlp-http
|
|
port: 4318
|
|
targetPort: 4318
|
|
protocol: TCP
|
|
# Prometheus remote write
|
|
- name: prometheus
|
|
port: 8889
|
|
targetPort: 8889
|
|
protocol: TCP
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m # Reduced from 100m
|
|
memory: 128Mi # Reduced from 256Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
# OpenTelemetry Collector configuration
|
|
config:
|
|
receivers:
|
|
# OTLP receivers for traces, metrics, and logs from applications
|
|
# All application telemetry is pushed via OTLP protocol
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: 0.0.0.0:4317
|
|
http:
|
|
endpoint: 0.0.0.0:4318
|
|
cors:
|
|
allowed_origins:
|
|
- "*"
|
|
|
|
# PostgreSQL receivers for database metrics
|
|
# Collects metrics directly from PostgreSQL databases
|
|
postgresql/auth:
|
|
endpoint: auth-db-service.bakery-ia:5432
|
|
username: ${POSTGRES_MONITOR_USER}
|
|
password: ${POSTGRES_MONITOR_PASSWORD}
|
|
databases:
|
|
- auth_db
|
|
collection_interval: 60s
|
|
tls:
|
|
insecure: false
|
|
|
|
postgresql/inventory:
|
|
endpoint: inventory-db-service.bakery-ia:5432
|
|
username: ${POSTGRES_MONITOR_USER}
|
|
password: ${POSTGRES_MONITOR_PASSWORD}
|
|
databases:
|
|
- inventory_db
|
|
collection_interval: 60s
|
|
tls:
|
|
insecure: false
|
|
|
|
postgresql/orders:
|
|
endpoint: orders-db-service.bakery-ia:5432
|
|
username: ${POSTGRES_MONITOR_USER}
|
|
password: ${POSTGRES_MONITOR_PASSWORD}
|
|
databases:
|
|
- orders_db
|
|
collection_interval: 60s
|
|
tls:
|
|
insecure: false
|
|
|
|
# Add more PostgreSQL databases as needed
|
|
# postgresql/SERVICE:
|
|
# endpoint: SERVICE-db-service.bakery-ia:5432
|
|
# ...
|
|
|
|
# Redis receiver for cache metrics
|
|
redis:
|
|
endpoint: redis-service.bakery-ia:6379
|
|
password: ${REDIS_PASSWORD}
|
|
collection_interval: 60s
|
|
tls:
|
|
insecure: false
|
|
cert_file: /etc/redis-tls/redis-cert.pem
|
|
key_file: /etc/redis-tls/redis-key.pem
|
|
ca_file: /etc/redis-tls/ca-cert.pem
|
|
|
|
# RabbitMQ receiver via management API
|
|
rabbitmq:
|
|
endpoint: http://rabbitmq-service.bakery-ia:15672
|
|
username: ${RABBITMQ_USER}
|
|
password: ${RABBITMQ_PASSWORD}
|
|
collection_interval: 60s
|
|
|
|
processors:
|
|
# Batch processor for better performance
|
|
batch:
|
|
timeout: 10s
|
|
send_batch_size: 1024
|
|
|
|
# Memory limiter to prevent OOM
|
|
memory_limiter:
|
|
check_interval: 1s
|
|
limit_mib: 400
|
|
spike_limit_mib: 100
|
|
|
|
# Resource detection
|
|
resourcedetection:
|
|
detectors: [env, system]
|
|
timeout: 5s
|
|
|
|
exporters:
|
|
# ClickHouse exporter for traces
|
|
clickhousetraces:
|
|
datasource: tcp://signoz-clickhouse:9000/?database=signoz_traces
|
|
timeout: 10s
|
|
|
|
# ClickHouse exporter for metrics
|
|
clickhousemetricswrite:
|
|
endpoint: tcp://signoz-clickhouse:9000/?database=signoz_metrics
|
|
timeout: 10s
|
|
|
|
# ClickHouse exporter for logs
|
|
clickhouselogsexporter:
|
|
dsn: tcp://signoz-clickhouse:9000/?database=signoz_logs
|
|
timeout: 10s
|
|
|
|
# Logging exporter for debugging (optional)
|
|
logging:
|
|
loglevel: info
|
|
|
|
service:
|
|
pipelines:
|
|
# Traces pipeline
|
|
traces:
|
|
receivers: [otlp]
|
|
processors: [memory_limiter, batch, resourcedetection]
|
|
exporters: [clickhousetraces]
|
|
|
|
# Metrics pipeline
|
|
metrics:
|
|
receivers: [otlp, postgresql/auth, postgresql/inventory, postgresql/orders, redis, rabbitmq]
|
|
processors: [memory_limiter, batch, resourcedetection]
|
|
exporters: [clickhousemetricswrite]
|
|
|
|
# Logs pipeline
|
|
logs:
|
|
receivers: [otlp]
|
|
processors: [memory_limiter, batch, resourcedetection]
|
|
exporters: [clickhouselogsexporter]
|
|
|
|
# Additional Configuration
|
|
serviceAccount:
|
|
create: true
|
|
annotations: {}
|
|
name: ""
|
|
|
|
# Security Context
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
|
|
# Network Policies (disabled for dev)
|
|
networkPolicy:
|
|
enabled: false
|
|
|
|
# Monitoring SigNoz itself
|
|
selfMonitoring:
|
|
enabled: true
|
|
serviceMonitor:
|
|
enabled: false
|