RDKCOM-5604: RDKBDEV-3456, RDKBACCL-1777 Set systemd 'SyslogIdentifier' parameter#65
Conversation
There was a problem hiding this comment.
Pull request overview
This PR upstreams an existing patch to set SyslogIdentifier in multiple systemd unit files so that logs emitted by services started via /bin/sh -c ... show a meaningful identifier instead of sh in journalctl.
Changes:
- Add
SyslogIdentifier=...to key CCSP/RDK service unit files to improve journal/syslog attribution. - Standardize log identifiers per service to reduce ambiguity when multiple components log concurrently.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| systemd_units/RdkWanManager.service | Adds SyslogIdentifier for clearer journald identification of RdkWanManager logs. |
| systemd_units/PsmSsp.service | Adds SyslogIdentifier so PsmSsp logs don’t appear under sh. |
| systemd_units/notifyComp.service | Adds SyslogIdentifier for notifyComp to improve log attribution. |
| systemd_units/CcspXdnsSsp.service | Adds SyslogIdentifier for correct identification of CcspXdnsSsp output. |
| systemd_units/CcspTr069PaSsp.service | Adds SyslogIdentifier to improve readability of TR-069 PA logs. |
| systemd_units/CcspTandDSsp.service | Adds SyslogIdentifier for correct T&D log attribution. |
| systemd_units/CcspPandMSsp.service | Adds SyslogIdentifier for PAM logs to avoid sh attribution. |
| systemd_units/CcspLMLite.service | Adds SyslogIdentifier for LM Lite logs. |
| systemd_units/CcspEthAgent.service | Adds SyslogIdentifier for EthAgent logs. |
| systemd_units/CcspCrSsp.service | Adds SyslogIdentifier for CcspCrSsp logs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ExecStart=/bin/sh -c '/usr/bin/CcspPandMSsp -subsys $Subsys' | ||
| ExecStopPost=/bin/sh -c 'echo "`date`: Stopping/Restarting CcspPandMSsp" >> ${PROCESS_RESTART_LOG}' | ||
| ExecStartPost=/bin/sh -c '(/usr/ccsp/ccspPAMCPCheck.sh)' | ||
| SyslogIdentifier=CcspPandMSsp | ||
| Restart=always |
|
Rebased and added There are 58 |
A previous changeset made all services invoked via the "/bin/sh -c '(...)'" pattern, which causes all syslog/journalctl entries to have the "sh" process name. This can cause a lot of confusion when viewing the system log via journalctl: rdkb-arm sh[5613]: Fetching values to form parodus command line arguments rdkb-arm sh[5151]: result = rdkb-arm sh[5151]: result = rdkb-generic-broadband-image_rdkb-2025q1-kirkstone_20250606001224 rdkb-arm sh[5613]: Framing command for parodus rdkb-arm sh[5613]: Starting parodus with the following arguments rdkb-arm sh[5613]: ModelName=RPI SerialNumber= Manufacturer=Traverse HW_MAC=00:0a:fa:24:29:5d ... rdkb-arm sh[5808]: rdk_dyn_log_initg_dl_socket = 3 __progname = parodus rdkb-arm sh[5551]: Conf file /etc/debug.ini open success rdkb-arm sh[5551]: rdk_dyn_log_initg_dl_socket = 3 __progname = CcspTandDSsp rdkb-arm sh[5551]: rdk_logger_init /etc/debug.ini Already Stack Level Logging processed... not processing again. rdkb-arm sh[5551]: ****LOADING DM LIBRARY*************** rdkb-arm sh[5573]: CosaEthInferface initialization done! rdkb-arm sh[5573]: CcspHalExtSw_getAssociatedDevice not implemented on generic arm platforms yet In the above output there is a mix of CcspPandMSsp, Parodus and CcspEthAgent, which is very confusing. Setting the SyslogIdentifier in each systemd unit file allows the correct ident to be applied to the log entries: PsmSsp[1820]: rdk_dyn_log_initg_dl_socket = 3 __progname = PsmSsp CcspEthAgent[3754]: CcspHalExtSw_getAssociatedDevice not implemented on generic arm platforms yet
RDKBACCL-1777 : Set systemd 'SyslogIdentifier' parameter
Reason for change: syslog / journal entries in systemd log can no longer be differentiated between services
Test Procedure: Build RDK image and verify output with
journalctl -f(see details below), the process name should match the originating service (like CcspPandM, CcspEthAgent) and NOTshRisks: Low
Priority: P2
This patch has been part of meta-rdk-bsp-arm for a while and I believe it would be beneficial to upstream it.
A previous changeset made all services invoked via the "/bin/sh -c '(...)'" pattern, which causes all syslog/journalctl entries to have the
shprocess name.This can cause a lot of confusion when viewing the system log via journalctl:
In the above output there is a mix of CcspPandMSsp, Parodus and CcspEthAgent, which is very confusing.
Setting the SyslogIdentifier in each systemd unit file allows the correct ident to be applied to the log entries:
edited to add (2026-07-16): while there are many other service files in the
systemd_unitsfolder, we have only modified the ones we are sure we are using