mirror of
https://github.com/openfaas/faasd.git
synced 2025-06-08 08:05:03 +00:00
49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright OpenFaaS Ltd 2025
|
|
|
|
# This script is for use with Droplets created on DigitalOcean, it will
|
|
# ensure that systemd-journald is configured to log to disk and that
|
|
# rsyslog is configured to read from systemd-journald.
|
|
|
|
# Without this change, no logs will be available in the journal, and only
|
|
# /var/log/syslog will be populated.
|
|
|
|
set -e
|
|
|
|
echo "Checking systemd-journald logs..."
|
|
JOURNAL_STATUS=$(journalctl --no-pager -n 10 2>&1)
|
|
|
|
if echo "$JOURNAL_STATUS" | grep -q "No journal files were found"; then
|
|
echo "No journal files found. Fixing logging configuration..."
|
|
else
|
|
echo "Journald appears to be logging. No changes needed."
|
|
exit 0
|
|
fi
|
|
|
|
# Backup original config before making changes
|
|
sudo cp /etc/systemd/journald.conf /etc/systemd/journald.conf.bak
|
|
|
|
# Ensure Storage is persistent
|
|
sudo sed -i '/^#Storage=/c\Storage=persistent' /etc/systemd/journald.conf
|
|
|
|
# Ensure logs are not forwarded only to syslog
|
|
sudo sed -i '/^#ForwardToSyslog=/c\ForwardToSyslog=no' /etc/systemd/journald.conf
|
|
|
|
# Restart systemd-journald
|
|
echo "Restarting systemd-journald..."
|
|
sudo systemctl restart systemd-journald
|
|
|
|
# Check if rsyslog already loads imjournal
|
|
if ! grep -q 'module(load="imjournal")' /etc/rsyslog.conf; then
|
|
echo "Adding imjournal module to rsyslog..."
|
|
echo 'module(load="imjournal" StateFile="/var/lib/rsyslog/imjournal.state")' | sudo tee -a /etc/rsyslog.conf
|
|
fi
|
|
|
|
# Restart rsyslog to apply changes
|
|
echo "Restarting rsyslog..."
|
|
sudo systemctl restart rsyslog
|
|
|
|
echo "Done. Checking if logs appear in journald..."
|
|
journalctl --no-pager -n 10
|