Skip to main content
TL;DRCollect and visualize systemd journal logs in ClickStack using the OpenTelemetry Collector’s journald receiver. Includes a demo dataset and pre-built dashboard.

Integration with existing systems

Monitor your existing Linux system’s journald logs by running the OpenTelemetry Collector with the journald receiver to collect system logs and send them to ClickStack via OTLP. If you want to test this integration first without modifying your existing setup, skip to the demo dataset section.
  • ClickStack instance running
  • Linux system with systemd (Ubuntu 16.04+, CentOS 7+, Debian 8+)
  • Docker or Docker Compose installed on the monitored system
1

Get ClickStack API key

The OpenTelemetry Collector sends data to ClickStack’s OTLP endpoint, which requires authentication.
  1. Open HyperDX at your ClickStack URL (e.g., http://localhost:8080)
  2. Create an account or log in if needed
  3. Navigate to Team Settings → API Keys
  4. Copy your Ingestion API Key
  1. Set it as an environment variable:
2

Verify systemd journal is running

Ensure your system is using systemd and has journal logs:
If journal storage is in memory only, enable persistent storage:
3

Create OpenTelemetry Collector configuration

Create a configuration file for the OpenTelemetry Collector:
4

Deploy with Docker Compose

The journald receiver requires the journalctl binary to read journal files. The official otel/opentelemetry-collector-contrib image doesn’t include journalctl by default.For containerized deployments, you can either install the collector directly on the host or build a custom image with systemd utilities. See the troubleshooting section for details.
This example shows deploying the OTel Collector alongside ClickStack:
Start the services:
5

Verify logs in HyperDX

Once configured, log into HyperDX and verify logs are flowing:
  1. Navigate to the Search view
  2. Set source to Logs
  3. Filter by service.name:systemd-logs
  4. You should see structured log entries with fields like unit, priority, MESSAGE, _HOSTNAME

Demo dataset

For users who want to test the systemd logs integration before configuring their production systems, we provide a sample dataset of pre-generated systemd logs with realistic patterns.
1

Download the sample dataset

Download the sample log file:
2

Create demo collector configuration

Create a configuration file for the demo:
3

Run ClickStack with demo data

Start ClickStack with the demo logs:
The demo uses the filelog receiver with text logs instead of journald to avoid requiring journalctl in the container.
4

Verify logs in HyperDX

Once ClickStack is running:
  1. Open HyperDX and log in to your account
  2. Navigate to the Search view and set the source to Logs
  3. Set the time range to 2025-11-14 00:00:00 - 2025-11-17 00:00:00
Timezone displayHyperDX displays timestamps in your browser’s local timezone. The demo data spans 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC). The wide time range ensures you’ll see the demo logs regardless of your location.

Dashboards and visualization

To help you get started monitoring systemd logs with ClickStack, we provide essential visualizations for systemd journal data.
1

the dashboard configuration

2

Import the pre-built dashboard

  1. Open HyperDX and navigate to the Dashboards section
  2. Click Import Dashboard in the upper right corner under the ellipses
  1. Upload the systemd-logs-dashboard.json file and click Finish Import
3

View the dashboard

The dashboard includes visualizations for:
  • Log volume over time
  • Top systemd units by log count
  • SSH authentication events
  • Service failures
  • Error rates
For the demo dataset, set the time range to 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) (adjust based on your local timezone).

Troubleshooting

No logs appearing in HyperDX

Check if logs are reaching ClickHouse:
If no results, check the collector logs:

journalctl not found error

If you see exec: "journalctl": executable file not found in $PATH: The otel/opentelemetry-collector-contrib image doesn’t include journalctl. You can either:
  1. Install the collector on the host:
  1. Use the text export approach (like the demo) with the filelog receiver reading journald exports

Next steps

  • Set up alerts for critical system events (service failures, authentication failures, OOM kills)
  • Create additional dashboards for specific use cases (SSH security monitoring, service health)
  • Filter by specific systemd units to reduce noise and focus on services that matter

Going to production

This guide uses a separate OpenTelemetry Collector to read systemd logs and send them to ClickStack’s OTLP endpoint, which is the recommended production pattern. For production environments with multiple hosts, consider:
  • Deploying the collector as a DaemonSet in Kubernetes
  • Running the collector as a systemd service on each host
  • Using the OpenTelemetry Operator for automated deployment
See Ingesting with OpenTelemetry for production deployment patterns.
Last modified on June 19, 2026