72 lines
2.0 KiB
TOML
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 = []
|