Files
symon/symon.toml
2025-11-07 21:30:39 +01:00

72 lines
2.0 KiB
TOML

# 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 = []