# Symon Configuration File # Lightweight system metrics exporter for OpenTelemetry # Collection interval in seconds # How often to collect system metrics collection_interval_secs = 5 # OTLP configuration [otlp] # OTLP endpoint (gRPC) endpoint = "http://localhost:4317" # Export interval in seconds # How often to export metrics to OTLP collector export_interval_secs = 10 # Service name that will appear in metrics service_name = "symon" # Service version service_version = "0.1.0" # Export timeout in seconds export_timeout_secs = 30 # Additional resource attributes (key-value pairs) [otlp.resource_attributes] environment = "production" # host = "server-01" # datacenter = "us-east-1" # Metrics configuration - enable/disable specific metric types [metrics] cpu = true # CPU usage per core memory = true # RAM and swap usage network = true # Network RX/TX bytes, packets, errors disk = true # Disk usage processes = true # Top N processes by CPU (disabled by default - can generate high cardinality) temperature = true # System temperatures (if available) load_avg = true # System load average (1m, 5m, 15m) disk_io = true # Disk I/O read/write bytes and operations (Linux only) # Process filtering configuration # Only used when processes = true [metrics.process_filter] # Option 1: Use an external file for server-specific process lists # include = "processes.toml" # Option 2: Configure inline # Filter mode: "whitelist" (only listed processes) or "blacklist" (exclude listed) filter_mode = "blacklist" # Maximum number of processes to report (sorted by CPU usage, default: 10) max_processes = 5 # List of process names to filter (case-insensitive substring match) names = [ # Exclude system processes that generate too much noise # "kworker", # "systemd", ] # List of regex patterns to match process names (case-sensitive) patterns = [ # Example: Match specific versions # "^nginx-[0-9.]+$", # "^node-v[0-9]+", ] # List of specific process PIDs to filter pids = []