POSIX-Compliant Hardware Telemetry, Permission Isolation & OPC UA Edge Monitoring on CentOS Stream 9
Modern industrial controllers—such as Bosch Rexroth ctrlX OS and embedded factory gateways—run on hardened Linux kernels. Reliable automation cells require lightweight edge services capable of inspecting system health, device nodes, and network interfaces at the operating-system level without introducing heavy runtime overhead.
This project builds an industrial edge telemetry and diagnostics daemon from the ground up inside a bridged CentOS Stream 9 virtual machine environment. It applies core Linux system administration principles—standard filesystem hierarchy (/opt, /etc, /var/log, /proc, /tmp), granular user/group access control (chmod), and inode/symbolic link management (ln -s)—to collect real-time machine telemetry and expose it to supervisory engineering clients.
Rather than storing scripts and logs in a single user directory, the project follows standard Linux Filesystem Hierarchy Standard (FHS) conventions across dedicated system directories:
/opt/edge-telemetry/ — Houses the executable collector scripts and watchdog binaries./etc/edge-telemetry/thresholds.conf — Stores alarm thresholds and polling intervals, locked down against unauthorized writes./var/log/edge-telemetry/ — Stores timestamped telemetry logs and hard-linked baseline snapshots./tmp/edge-latest.log — Symbolic link (ln -s) dynamically pointing to the active telemetry log for instant operator inspection.To prevent accidental modification of edge configuration files or unauthorized execution of diagnostic routines by non-privileged accounts, strict permission masks are enforced:
# Lock down configuration files in /etc (User read/write, Group read-only, Others none) chmod g-w,o-rwx /etc/edge-telemetry/thresholds.conf # Restrict execution of the telemetry collector to owner and service group chmod u+rwx,g+rx,o-rwx /opt/edge-telemetry/collect_metrics.sh # Create soft link in /tmp pointing to the active session log ln -s /var/log/edge-telemetry/session_active.log /tmp/edge-latest.log
The collector reads live in-memory kernel structures directly from /proc/meminfo, /proc/loadavg, and /proc/uptime, while verifying block and character device availability in /dev and tracing system library calls via strace during fault diagnostics.
VM deployment with bridged networking, SSH key/password configuration, directory tree provisioning, chmod permission hardening, and ln -s/hard-link log architecture.
Automated Bash script parsing memory, CPU load, disk inode usage (ls -ltri), and network interface health into structured log output.
Background service scheduling and automated log pruning using find filters to maintain edge disk health.
Exposing parsed Linux telemetry nodes over an IEC 62541 OPC UA server for unified industrial monitoring alongside PLC assets.
Interested in my Linux infrastructure lab or hybrid mechanical/software engineering work?
Get in Touch