.. _rosi-collector-index: ROSI Collector ============== .. meta:: :description: ROSI Collector is the current container-based ROSI deployment profile for centralized logging, dashboards, metrics, and alerting. :keywords: rsyslog, ROSI Collector, centralized logging, Grafana, Loki, Prometheus, Windows Agent .. summary-start ROSI Collector is the current container-based ROSI deployment profile, combining rsyslog, Loki, Grafana, Prometheus, and Traefik for centralized logging and monitoring. .. summary-end .. index:: single: ROSI single: ROSI Collector single: centralized logging single: Loki single: Grafana **Rsyslog Operations Stack Initiative** (ROSI) Collector is a production-ready centralized log collection and monitoring stack. It combines rsyslog's powerful log processing with modern observability tools to provide a complete logging solution. .. figure:: rosi-architecture.svg :alt: ROSI Collector Architecture Overview :align: center :width: 100% ROSI Collector architecture - centralized logging with rsyslog, Loki, and Grafana What is ROSI Collector? ----------------------- ROSI Collector is a Docker Compose stack that deploys: - **rsyslog** - High-performance log receiver and processor - **Grafana Loki** - Log aggregation and querying - **Grafana** - Visualization with pre-built dashboards - **Prometheus** - Metrics collection and alerting - **Traefik** - Reverse proxy with automatic TLS Together, these components provide centralized log management for any number of client hosts, with powerful search, visualization, and alerting capabilities. ROSI Collector is the current container-based ROSI deployment profile described in this guide. The broader ROSI stack also supports Windows clients via official components such as `rsyslog Windows Agent `__. Other components such as `WinSyslog `_, `EventReporter `_, and `MonitorWare Agent `_ can also be integrated to meet specific operational requirements. ROSI Collector is the primary packaged artifact today, while the broader ROSI idea extends beyond this single deployment profile. That broader model has long been possible through rsyslog-based integrations and parallel destinations; ROSI adds clearer guidance and progressively more turnkey artifacts around those practices. .. note:: The installation scripts have been tested on **Ubuntu 24.04 LTS**. Other Debian-based distributions should work with minor adjustments. Use Cases --------- ROSI Collector is ideal for: - **Centralized log aggregation** from multiple servers and applications - **Security monitoring** with searchable audit logs - **Compliance requirements** needing log retention and search - **DevOps teams** wanting quick visibility into system logs - **Small to medium deployments** with up to hundreds of hosts Key Features ------------ **Pre-built Dashboards** Five Grafana dashboards: Syslog Explorer, Syslog Analysis, Syslog Health (impstats), Host Metrics Overview, and Alerting Overview. **Automatic TLS** Traefik obtains Let's Encrypt certificates automatically. No manual certificate management required. **Syslog TLS Support** Optional TLS-encrypted syslog on port 6514 with three authentication modes: server-only (anon), mutual TLS (x509/certvalid), and name-based mutual TLS (x509/name). **Easy Client Setup** Automated installation scripts for rsyslog forwarding and node_exporter. Scripts are served via the built-in downloads container. **CLI Management Tools** ``rosi-monitor`` for health monitoring (including Docker internal IPs and network info) and ``prometheus-target`` for managing Prometheus scrape targets (add/remove by IP or hostname). **Prometheus Metrics** Collect system metrics from all clients via node_exporter. **Alerting Ready** Email alerting configured and ready to enable. Quick Start ----------- If you want a guided end-to-end walkthrough before diving into the full deployment reference, start with :doc:`../../tutorials/deploy_rsyslog_rosi_stack`. 1. **Clone the repository** and navigate to the deployment:: cd rsyslog/deploy/docker-compose/rosi-collector 2. **Initialize environment** using the provided script:: sudo TRAEFIK_DOMAIN=logs.example.com \ TRAEFIK_EMAIL=admin@example.com \ ./scripts/init.sh The script will: - Prompt for installation directory (default: ``/opt/rosi-collector``) - Generate ``.env`` with secure passwords - Copy config files, create Docker network, and systemd service - Install node_exporter on the server and add to Prometheus - Optionally configure server syslog forwarding and impstats sidecar - Configure firewall rules for Docker container access 3. **Start the stack**:: cd /opt/rosi-collector docker compose up -d 4. **Access Grafana** at ``https://your-domain.com`` 5. **Configure clients** - see :doc:`client_setup` For detailed installation instructions, see :doc:`installation`. Architecture Overview --------------------- .. code-block:: text Client Hosts ROSI Collector Server ┌────────────┐ ┌─────────────────────────────────┐ │ rsyslog │──TCP:10514────▶ │ rsyslog ──────────────▶ Loki │ │ │ │ │ │node_exporter│◀─────────────── │ Prometheus │ └────────────┘ scrape:9100 │ │ │ │ ▼ │ │ Grafana ◀── Traefik (TLS) │ └─────────────────────────────────┘ Data flows: 1. **Logs**: Client rsyslog → Collector rsyslog → Loki → Grafana 2. **Metrics**: Prometheus scrapes node_exporter on clients → Grafana For Windows senders, use `rsyslog Windows Agent `__ as an official ROSI Windows-side component. The collector-side flow stays the same once events reach the ROSI Collector. Windows integration here is focused on log ingestion; the ``node_exporter`` and ``impstats`` metrics flow described above remains Linux-oriented. All external access goes through Traefik, which handles TLS termination. Documentation Contents ---------------------- .. toctree:: :maxdepth: 1 :caption: ROSI Collector Guide architecture installation client_setup grafana_dashboards troubleshooting See Also -------- - :doc:`../../tutorials/deploy_rsyslog_rosi_stack` - Guided ROSI stack walkthrough - :doc:`../../containers/collector` - The base collector container image - :doc:`../../tutorials/reliable_forwarding` - Reliable log forwarding concepts - :doc:`../../configuration/index` - rsyslog configuration reference