This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Monitoring and Logging with AlmaLinux 9

Monitoring and Logging with AlmaLinux 9

This Document is actively being developed as a part of ongoing AlmaLinux learning efforts. Chapters will be added periodically.

AlmaLinux 9: Monitoring and Logging with AlmaLinux 9

1 - How to Install Netdata on AlmaLinux: A Step-by-Step Guide

Learn how to install and configure Netdata on AlmaLinux with this comprehensive guide. Follow our step-by-step instructions to set up real-time monitoring for your systems.

Introduction

Netdata is a powerful, open-source monitoring tool designed to provide real-time performance insights for systems, applications, and networks. Its lightweight design and user-friendly dashboard make it a favorite among administrators who want granular, live data visualization. AlmaLinux, a community-driven RHEL fork, is increasingly popular for enterprise-level workloads, making it an ideal operating system to pair with Netdata for monitoring.

In this guide, we will walk you through the process of installing Netdata on AlmaLinux. Whether you’re managing a single server or multiple nodes, this tutorial will help you get started efficiently.


Prerequisites for Installing Netdata

Before you begin, ensure you meet the following requirements:

  • A running AlmaLinux system: This guide is based on AlmaLinux 8 but should work for similar versions.
  • Sudo privileges: Administrative rights are necessary to install packages and make system-level changes.
  • Basic knowledge of the command line: Familiarity with terminal commands will help you navigate the installation process.
  • Internet connection: Netdata requires online repositories to download its components.

Optional: If your system has strict firewall rules, ensure that necessary ports (default: 19999) are open.


Step 1: Update AlmaLinux System

Updating your system ensures you have the latest security patches and repository information. Use the following commands to update your AlmaLinux server:

sudo dnf update -y
sudo dnf upgrade -y

Once the update is complete, reboot the system if necessary:

sudo reboot

Step 2: Install Necessary Dependencies

Netdata relies on certain libraries and tools to function correctly. Install these dependencies using the following command:

sudo dnf install -y epel-release curl wget git tar gcc make

The epel-release package enables access to additional repositories, which is essential for fetching dependencies not included in the default AlmaLinux repos.


Step 3: Install Netdata Using the Official Installation Script

Netdata provides an official installation script that simplifies the setup process. Follow these steps to install Netdata:

  1. Download and run the installation script:

    bash <(curl -Ss https://my-netdata.io/kickstart.sh)
    
  2. During the installation, the script will:

    • Install required packages.
    • Set up the Netdata daemon.
    • Create configuration files and directories.
  3. Confirm successful installation by checking the output for a message like: Netdata is successfully installed.


Step 4: Start and Enable Netdata

After installation, the Netdata service should start automatically. To verify its status:

sudo systemctl status netdata

To ensure it starts automatically after a system reboot, enable the service:

sudo systemctl enable netdata

Step 5: Access the Netdata Dashboard

The default port for Netdata is 19999. To access the dashboard:

  1. Open your web browser and navigate to:

    http://<your-server-ip>:19999
    
  2. Replace <your-server-ip> with your AlmaLinux server’s IP address. If you’re accessing it locally, use http://127.0.0.1:19999.

  3. The dashboard should display real-time monitoring metrics, including CPU, memory, disk usage, and network statistics.


Step 6: Configure Firewall Rules (if applicable)

If your server uses a firewall, ensure port 19999 is open to allow access to the Netdata dashboard:

  1. Check the current firewall status:

    sudo firewall-cmd --state
    
  2. Add a rule to allow traffic on port 19999:

    sudo firewall-cmd --permanent --add-port=19999/tcp
    
  3. Reload the firewall to apply the changes:

    sudo firewall-cmd --reload
    

Now, retry accessing the dashboard using your browser.


Step 7: Secure the Netdata Installation

Netdata’s default setup allows unrestricted access to its dashboard, which might not be ideal in a production environment. Consider these security measures:

  1. Restrict IP Access: Use firewall rules or web server proxies (like NGINX or Apache) to restrict access to specific IP ranges.

  2. Set Up Authentication:

    • Edit the Netdata configuration file:

      sudo nano /etc/netdata/netdata.conf
      
    • Add or modify the [global] section to include basic authentication or limit access by IP.

  3. Enable HTTPS: Use a reverse proxy to serve the dashboard over HTTPS for encrypted communication.


Step 8: Customize Netdata Configuration (Optional)

For advanced users, Netdata offers extensive customization options:

  1. Edit the Main Configuration File:

    sudo nano /etc/netdata/netdata.conf
    
  2. Configure Alarms and Notifications:

    • Navigate to /etc/netdata/health.d/ to customize alarm settings.
    • Integrate Netdata with third-party notification systems like Slack, email, or PagerDuty.
  3. Monitor Remote Nodes: Install Netdata on additional systems and configure them to report to a centralized master node for unified monitoring.


Step 9: Regular Maintenance and Updates

Netdata is actively developed, with frequent updates to improve functionality and security. Keep your installation updated using the same script or by pulling the latest changes from the Netdata GitHub repository.

To update Netdata:

bash <(curl -Ss https://my-netdata.io/kickstart.sh) --update

Troubleshooting Common Issues

  1. Dashboard Not Loading:

    • Check if the service is running:

      sudo systemctl restart netdata
      
    • Verify firewall settings.

  2. Installation Errors:

    • Ensure all dependencies are installed and try running the installation script again.
  3. Metrics Missing:

    • Check the configuration file for typos or misconfigured plugins.

Conclusion

Netdata is a feature-rich, intuitive monitoring solution that pairs seamlessly with AlmaLinux. By following the steps outlined in this guide, you can quickly set up and start using Netdata to gain valuable insights into your system’s performance.

Whether you’re managing a single server or monitoring a network of machines, Netdata’s flexibility and ease of use make it an indispensable tool for administrators. Explore its advanced features and customize it to suit your environment for optimal performance monitoring.

Good luck with your installation! Let me know if you need help with further configurations or enhancements.

2 - How to Install SysStat on AlmaLinux: Step-by-Step Guide

Learn how to install SysStat on AlmaLinux with this detailed guide. Discover its features and learn to configure performance monitoring tools effectively.

Introduction

In the world of Linux system administration, monitoring system performance is crucial. SysStat, a popular collection of performance monitoring tools, provides valuable insights into CPU usage, disk activity, memory consumption, and more. It is a lightweight and robust utility that helps diagnose issues and optimize system performance.

AlmaLinux, a community-driven RHEL-compatible Linux distribution, is an ideal platform for leveraging SysStat’s capabilities. In this detailed guide, we’ll walk you through the process of installing and configuring SysStat on AlmaLinux. Whether you’re a beginner or an experienced administrator, this tutorial will ensure you’re equipped to monitor your system efficiently.


What is SysStat?

SysStat is a suite of performance monitoring tools for Linux systems. It includes several commands, such as:

  • sar: Collects and reports system activity.
  • iostat: Provides CPU and I/O statistics.
  • mpstat: Monitors CPU usage.
  • pidstat: Reports statistics of system processes.
  • nfsiostat: Tracks NFS usage statistics.

These tools work together to provide a holistic view of system performance, making SysStat indispensable for troubleshooting and maintaining system health.


Prerequisites

Before we begin, ensure the following:

  1. An AlmaLinux system: This guide is tested on AlmaLinux 8 but works on similar RHEL-based distributions.
  2. Sudo privileges: Root or administrative access is required.
  3. Basic terminal knowledge: Familiarity with Linux commands is helpful.
  4. Internet access: To download packages and updates.

Step 1: Update Your AlmaLinux System

Start by updating the system packages to ensure you have the latest updates and security patches. Run the following commands:

sudo dnf update -y
sudo dnf upgrade -y

After completing the update, reboot the system if necessary:

sudo reboot

Step 2: Install SysStat Package

SysStat is included in AlmaLinux’s default repository, making installation straightforward. Use the following command to install SysStat:

sudo dnf install -y sysstat

Once installed, verify the version to confirm the installation:

sar -V

The output should display the installed version of SysStat.


Step 3: Enable SysStat Service

By default, the SysStat service is not enabled. To begin collecting performance data, activate and start the sysstat service:

  1. Enable the service to start at boot:

    sudo systemctl enable sysstat
    
  2. Start the service:

    sudo systemctl start sysstat
    
  3. Verify the service status:

    sudo systemctl status sysstat
    

The output should indicate that the service is running successfully.


Step 4: Configure SysStat

The SysStat configuration file is located at /etc/sysconfig/sysstat. You can adjust its settings to suit your requirements.

  1. Open the configuration file:

    sudo nano /etc/sysconfig/sysstat
    
  2. Modify the following parameters as needed:

    • HISTORY: The number of days to retain performance data (default: 7 days).
    • ENABLED: Set this to true to enable data collection.
  3. Save and exit the file. Restart the SysStat service to apply the changes:

    sudo systemctl restart sysstat
    

Step 5: Schedule Data Collection with Cron

SysStat collects data at regular intervals using cron jobs. These are defined in the /etc/cron.d/sysstat file. By default, it collects data every 10 minutes.

To adjust the frequency:

  1. Open the cron file:

    sudo nano /etc/cron.d/sysstat
    
  2. Modify the interval as needed. For example, to collect data every 5 minutes, change:

    */10 * * * * root /usr/lib64/sa/sa1 1 1
    

    to:

    */5 * * * * root /usr/lib64/sa/sa1 1 1
    
  3. Save and exit the file.

SysStat will now collect performance data at the specified interval.


Step 6: Using SysStat Tools

SysStat provides several tools to monitor various aspects of system performance. Here’s a breakdown of commonly used commands:

1. sar: System Activity Report

The sar command provides a detailed report of system activity. For example:

  • CPU usage:

    sar -u
    
  • Memory usage:

    sar -r
    

2. iostat: Input/Output Statistics

Monitor CPU usage and I/O statistics:

iostat

3. mpstat: CPU Usage

View CPU usage for each processor:

mpstat

4. pidstat: Process Statistics

Monitor resource usage by individual processes:

pidstat

5. nfsiostat: NFS Usage

Track NFS activity:

nfsiostat

Step 7: Analyzing Collected Data

SysStat stores collected data in the /var/log/sa/ directory. Each day’s data is saved as a file (e.g., sa01, sa02).

To view historical data, use the sar command with the -f option:

sar -f /var/log/sa/sa01

This displays system activity for the specified day.


Step 8: Automating Reports (Optional)

For automated performance reports:

  1. Create a script that runs SysStat commands and formats the output.
  2. Use cron jobs to schedule the script, ensuring reports are generated and saved or emailed regularly.

Step 9: Secure and Optimize SysStat

  1. Restrict Access: Limit access to SysStat logs to prevent unauthorized users from viewing system data.

    sudo chmod 600 /var/log/sa/*
    
  2. Optimize Log Retention: Retain only necessary logs by adjusting the HISTORY parameter in the configuration file.

  3. Monitor Disk Space: Regularly check disk space usage in /var/log/sa/ to ensure logs do not consume excessive storage.


Troubleshooting Common Issues

  1. SysStat Service Not Starting:

    • Check for errors in the log file:

      sudo journalctl -u sysstat
      
    • Ensure ENABLED=true in the configuration file.

  2. No Data Collected:

    • Verify cron jobs are running:

      sudo systemctl status cron
      
    • Check /etc/cron.d/sysstat for correct scheduling.

  3. Incomplete Logs:

    • Ensure sufficient disk space is available for storing logs.

Conclusion

SysStat is a vital tool for Linux administrators, offering powerful insights into system performance on AlmaLinux. By following this guide, you’ve installed, configured, and learned to use SysStat’s suite of tools to monitor CPU usage, I/O statistics, and more.

With proper configuration and usage, SysStat can help you optimize your AlmaLinux system, troubleshoot performance bottlenecks, and maintain overall system health. Explore its advanced features and integrate it into your monitoring strategy for better system management.

Good luck with your installation! Let me know if you need further assistance.

3 - How to Use SysStat on AlmaLinux: Comprehensive Guide

Learn how to use SysStat on AlmaLinux to monitor CPU, memory, and disk performance. Discover advanced tools and troubleshooting tips for effective system management.

Introduction

Performance monitoring is essential for managing Linux systems, especially in environments where optimal resource usage and uptime are critical. SysStat, a robust suite of performance monitoring tools, is a popular choice for tracking CPU usage, memory consumption, disk activity, and more.

AlmaLinux, a community-supported, RHEL-compatible Linux distribution, serves as an ideal platform for utilizing SysStat’s capabilities. This guide explores how to effectively use SysStat on AlmaLinux, providing step-by-step instructions for analyzing system performance and troubleshooting issues.


What is SysStat?

SysStat is a collection of powerful monitoring tools for Linux. It includes commands like:

  • sar (System Activity Report): Provides historical data on CPU, memory, and disk usage.
  • iostat (Input/Output Statistics): Monitors CPU and I/O performance.
  • mpstat (Multiprocessor Statistics): Tracks CPU usage by individual processors.
  • pidstat (Process Statistics): Reports resource usage of processes.
  • nfsiostat (NFS I/O Statistics): Monitors NFS activity.

With SysStat, you can capture detailed performance metrics and analyze trends to optimize system behavior and resolve bottlenecks.


Step 1: Verify SysStat Installation

Before using SysStat, ensure it is installed and running on your AlmaLinux system. If not installed, follow these steps:

  1. Install SysStat:

    sudo dnf install -y sysstat
    
  2. Start and enable the SysStat service:

    sudo systemctl enable sysstat
    sudo systemctl start sysstat
    
  3. Check the status of the service:

    sudo systemctl status sysstat
    

Once confirmed, you’re ready to use SysStat tools.


Step 2: Configuring SysStat

SysStat collects data periodically using cron jobs. You can configure its behavior through the /etc/sysconfig/sysstat file.

To adjust configuration:

  1. Open the file:

    sudo nano /etc/sysconfig/sysstat
    
  2. Key parameters to configure:

    • HISTORY: Number of days to retain data (default: 7).
    • ENABLED: Set to true to ensure data collection.
  3. Save changes and restart the service:

    sudo systemctl restart sysstat
    

Step 3: Collecting System Performance Data

SysStat records performance metrics periodically, storing them in the /var/log/sa/ directory. These logs can be analyzed to monitor system health.

Scheduling Data Collection

SysStat uses a cron job located in /etc/cron.d/sysstat to collect data. By default, it collects data every 10 minutes. Adjust the interval by editing this file:

sudo nano /etc/cron.d/sysstat

For example, to collect data every 5 minutes, change:

*/10 * * * * root /usr/lib64/sa/sa1 1 1

to:

*/5 * * * * root /usr/lib64/sa/sa1 1 1

Step 4: Using SysStat Tools

SysStat’s commands allow you to analyze different aspects of system performance. Here’s how to use them effectively:

1. sar (System Activity Report)

The sar command provides historical and real-time performance data. Examples:

  • CPU Usage:

    sar -u
    

    Output includes user, system, and idle CPU percentages.

  • Memory Usage:

    sar -r
    

    Displays memory metrics, including used and free memory.

  • Disk Usage:

    sar -d
    

    Reports disk activity for all devices.

  • Network Usage:

    sar -n DEV
    

    Shows statistics for network devices.

  • Load Average:

    sar -q
    

    Displays system load averages and running tasks.

2. iostat (Input/Output Statistics)

The iostat command monitors CPU and I/O usage:

  • Display basic CPU and I/O metrics:

    iostat
    
  • Include device-specific statistics:

    iostat -x
    

3. mpstat (Multiprocessor Statistics)

The mpstat command provides CPU usage for each processor:

  • View overall CPU usage:

    mpstat
    
  • For detailed per-processor statistics:

    mpstat -P ALL
    

4. pidstat (Process Statistics)

The pidstat command tracks individual process resource usage:

  • Monitor CPU usage by processes:

    pidstat
    
  • Check I/O statistics for processes:

    pidstat -d
    

5. nfsiostat (NFS I/O Statistics)

For systems using NFS, monitor activity with:

nfsiostat

Step 5: Analyzing Collected Data

SysStat saves performance logs in /var/log/sa/. Each file corresponds to a specific day (e.g., sa01, sa02).

To analyze past data:

sar -f /var/log/sa/sa01

You can use options like -u (CPU usage) or -r (memory usage) to focus on specific metrics.


Step 6: Customizing Reports

SysStat allows you to customize and automate reports:

  1. Export Data: Save SysStat output to a file:

    sar -u > cpu_usage_report.txt
    
  2. Automate Reports: Create a script that generates and emails reports daily:

    #!/bin/bash
    sar -u > /path/to/reports/cpu_usage_$(date +%F).txt
    mail -s "CPU Usage Report" user@example.com < /path/to/reports/cpu_usage_$(date +%F).txt
    

    Schedule this script with cron.


Step 7: Advanced Usage

Use sar to identify trends in performance data:

sar -u -s 09:00:00 -e 18:00:00

This command filters CPU usage between 9 AM and 6 PM.

Visualizing Data

Export SysStat data to CSV and use tools like Excel or Grafana for visualization:

sar -u -o cpu_usage_data > cpu_data.csv

Step 8: Troubleshooting Common Issues

  1. No Data Collected:

    • Ensure the SysStat service is running:

      sudo systemctl status sysstat
      
    • Verify cron jobs are active:

      sudo systemctl status crond
      
  2. Incomplete Logs:

    • Check disk space in /var/log/sa/:

      df -h
      
  3. Outdated Data:

    • Adjust the HISTORY setting in /etc/sysconfig/sysstat to retain data for longer periods.

Step 9: Best Practices for SysStat Usage

  • Regular Monitoring: Schedule daily reports to monitor trends.
  • Integrate with Alert Systems: Use scripts to send alerts based on thresholds.
  • Optimize Log Retention: Retain only necessary data to conserve disk space.

Conclusion

SysStat is a versatile and lightweight tool that provides deep insights into system performance on AlmaLinux. By mastering its commands, you can monitor key metrics, identify bottlenecks, and maintain optimal system health. Whether troubleshooting an issue or planning capacity upgrades, SysStat equips you with the data needed to make informed decisions.

Explore advanced features, integrate it into your monitoring stack, and unlock its full potential to streamline system management.

Feel free to reach out for more guidance or configuration tips!