Monitoring Linux Infrastructure with Performance Co-Pilot (PCP) and Web UI

Performance Co-Pilot (PCP) is an enterprise-grade system performance analysis and telemetry framework. Developed to monitor large distributed environments, PCP gathers live and historical metrics covering kernel internals, hardware subsystems, file systems, disk I/O, memory pressure, and networking. 1. Installation and Daemon Setup On Red Hat Enterprise Linux, CentOS, or Fedora, install the core PCP packages: sudo yum install -y pcp pcp-webjs Performance Metrics Collector Daemon (pmcd) pmcd acts as the primary coordinator, querying Performance Metric Domain Agents (PMDAs) for subsystem statistics: ...

July 23, 2016 · 2 min · 419 words · Ahmad Mahfouz

Automating Social Media Post Reactions and Page Invites with JavaScript

When marketing campaigns or organic posts achieve high engagement, many users interact with the content (likes, reactions) without following or liking the parent page. Facebook provides a manual interface to invite users who reacted to a post to like the page. However, manually clicking hundreds of individual invite buttons is tedious. Figure 1: Modal window listing users who reacted to the post. Browser Console Automation Script By executing a lightweight script in the browser’s Developer Tools Console, we can automate scrolling through pagination (See More) and dispatching invite clicks with controlled delays to respect client-side rate limits. ...

July 21, 2016 · 2 min · 356 words · Ahmad Mahfouz

Docker Persistent Storage for MySQL with SELinux Enforcement

Running stateful services like MySQL inside Docker containers requires mapping data volumes to host storage. On enterprise Linux distributions running SELinux in enforcing mode (such as Red Hat Enterprise Linux, CentOS, or Fedora), containerized processes are isolated using Type Enforcement and Multi-Category Security (MCS). If the host directory lacks the appropriate SELinux context and file permissions, the MySQL daemon will encounter Permission denied errors during database initialization. 1. Pull the Official MySQL Image Retrieve the official MySQL container image from Docker Hub: ...

July 16, 2016 · 3 min · 457 words · Ahmad Mahfouz