# Example Symon configuration file for OpenTelemetry export # Copy this file and customize it for your needs # Collection interval in seconds collection_interval_secs = 5 # OTLP configuration [otlp] # OTLP endpoint (gRPC) # For local docker-compose setup: http://localhost:4317 # For remote collector: http://your-collector-host:4317 endpoint = "http://localhost:4317" # Export interval in seconds 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" # Metrics configuration - enable/disable specific metric types [metrics] cpu = true # CPU usage per core and average memory = true # RAM, swap usage network = true # Network RX/TX disk = true # Disk usage temperature = true # CPU/GPU temperatures processes = true # Top 10 processes by CPU/Memory # Process filtering configuration [metrics.process_filter] # Option 1: Use an external file for server-specific process lists # This allows different servers to monitor different processes # Path can be relative to this config file or absolute #include = "processes.toml" # Option 2: Configure inline # Filter mode: "whitelist" (only listed processes) or "blacklist" (exclude listed) filter_mode = "whitelist" # List of process names to filter (case-insensitive substring match) # Examples: ["nginx", "postgres", "redis", "myapp"] names = ["nginx", "postgres", "redis"] # List of regex patterns to match process names (case-sensitive) # More powerful than substring matching # Examples: ["^nginx-[0-9.]+$", "java.*MyApp", "^gunicorn: worker"] patterns = [] # List of specific process PIDs to filter pids = []