mirror of
https://github.com/rsyslog/rsyslog.git
synced 2026-06-15 18:42:39 +02:00
Add production-ready Docker Compose stack for centralized log collection and monitoring, migrated from rsyslog-do-infra/central-intern. ROSI (RSyslog Open System for Information) Collector provides: - rsyslog log receiver with omhttp output to Loki - Grafana Loki for log storage (30-day retention) - Grafana with 5 pre-built dashboards - Prometheus for metrics collection - Traefik reverse proxy with automatic Let's Encrypt TLS - TLS/mTLS syslog reception on port 6514 (RFC 5425) TLS support features: - Optional TLS profile activated via: docker compose --profile tls up -d - Environment variable configuration (ENABLE_TLS, TLS_CA_FILE, etc.) - Auth modes: anon, x509/certvalid, x509/name - generate-ca.sh: Create CA and server certificates - generate-client-cert.sh: Generate client certs with secure one-time download packages, migration handling, and syslog user ownership - Automatic UFW firewall configuration for port 6514 Management scripts installed to /usr/local/bin: - rosi-monitor: Stack health monitoring and debugging - rosi-generate-ca: Generate CA and server TLS certificates - rosi-generate-client-cert: Generate client TLS certificates - prometheus-target: Manage node exporter scrape targets Configuration persistence via XDG-compliant config files: - System: /etc/rsyslog/rosi-collector.conf - User: ~/.config/rsyslog/rosi-collector.conf Files added: - deploy/docker-compose/rosi-collector/ (31 files) - doc/source/deployments/rosi_collector/ (7 RST pages) - doc/source/deployments/index.rst - doc/source/_static/rosi-architecture.svg - doc/source/_static/*.png (dashboard screenshots) Updated doc/source/index.rst to include deployments in toctree. closes: https://github.com/rsyslog/rsyslog/issues/6323
63 lines
1.3 KiB
YAML
63 lines
1.3 KiB
YAML
auth_enabled: false
|
|
|
|
server:
|
|
http_listen_port: 3100
|
|
log_level: warn
|
|
|
|
common:
|
|
path_prefix: /loki
|
|
replication_factor: 1
|
|
ring:
|
|
kvstore:
|
|
store: inmemory
|
|
|
|
schema_config:
|
|
configs:
|
|
- from: 2024-01-01
|
|
store: boltdb-shipper
|
|
object_store: filesystem
|
|
schema: v13
|
|
index:
|
|
prefix: loki_index_
|
|
period: 24h
|
|
|
|
storage_config:
|
|
boltdb_shipper:
|
|
active_index_directory: /loki/index
|
|
cache_location: /loki/cache
|
|
shared_store: filesystem
|
|
filesystem:
|
|
directory: /loki/chunks
|
|
|
|
limits_config:
|
|
retention_period: 720h
|
|
# Accept timestamps up to 2 hours in the future (for clock skew)
|
|
reject_old_samples: true
|
|
reject_old_samples_max_age: 720h
|
|
creation_grace_period: 2h
|
|
# Increase concurrent query limits to handle more panels
|
|
max_concurrent_tail_requests: 250
|
|
max_query_parallelism: 64
|
|
max_query_series: 1000
|
|
max_query_length: 721h
|
|
max_query_lookback: 721h
|
|
max_streams_per_user: 10000
|
|
max_line_size: 256KB
|
|
# Split queries by interval to distribute load
|
|
split_queries_by_interval: 24h
|
|
# Increase query timeout
|
|
query_timeout: 300s
|
|
|
|
chunk_store_config:
|
|
max_look_back_period: 0s
|
|
|
|
table_manager:
|
|
retention_deletes_enabled: true
|
|
retention_period: 720h
|
|
|
|
compactor:
|
|
working_directory: /loki/compactor
|
|
shared_store: filesystem
|
|
retention_enabled: true
|
|
compaction_interval: 1h
|