# 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