Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 in Easy Steps

Posted on

Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 in Easy Steps

This tutorial is designed to guide you through the process of installing bmon Real-Time Bandwidth Monitor on AlmaLinux 9. bmon is a valuable, open-source command-line utility for monitoring and debugging network bandwidth usage on your system. Its real-time display of network statistics makes it an indispensable tool for system administrators and network engineers.

You can leverage this guide on the Orcacore website to seamlessly install the latest version of bmon on your AlmaLinux 9 server and begin monitoring your network bandwidth effectively.

Before you begin to Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9, ensure you have access to your server as a non-root user with sudo privileges. If you haven’t already configured this, you can follow the instructions in the Orcacore guide on Initial Server Setup with AlmaLinux 9.

Now, let’s dive into the steps required to Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9.

Step 1 – Build and Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 From Source

First, update your system’s package lists to ensure you have the latest versions of all installed software. Execute the following command:

sudo dnf update -y

Next, install the EPEL (Extra Packages for Enterprise Linux) repository. This repository contains many additional packages that are not available in the default AlmaLinux repositories:

sudo dnf install epel-release -y

Now, install the necessary packages required to build bmon from source on your AlmaLinux server:

sudo dnf install make libconfuse-devel libnl3-devel ncurses-devel git autoconf automake gcc -y

Clone the bmon source code from its GitHub repository:

sudo git clone https://github.com/tgraf/bmon.git
**Output**
Cloning into 'bmon'...
remote: Enumerating objects: 706, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 706 (delta 0), reused 1 (delta 0), pack-reused 703
Receiving objects: 100% (706/706), 860.74 KiB | 3.77 MiB/s, done.
Resolving deltas: 100% (395/395), done.

Once the download is complete, navigate to the newly created bmon directory:

cd bmon

Finally, build and install the bmon Real-Time Bandwidth Monitor using the following commands:

# sudo ./autogen.sh
# sudo ./configure
# sudo make
# sudo make install

Step 2 – Run bmon to Check Real-Time Bandwidth Usage on AlmaLinux 9

With the installation complete, you can now run bmon to monitor your server’s live bandwidth usage:

bmon

You should see a display similar to the following:

Run bmon to check real-time bandwidth usage
Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9

Step 3 – How To Use bmon Bandwidth Monitoring Tool?

To access a quick reference guide within bmon, press Shift + ? in your terminal. This will display the available commands and options:

Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 – Quick Reference

By default, bmon displays basic interface information. To enable graphical visualizations, press g, i, or d for more detailed graphical representations of the data.

Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 – Detailed Graphical Info

You can also monitor a specific network interface by using the -p option followed by the interface name. For example, to monitor eth0:

bmon -p eth0

To display the results in bits per second, use the -b flag:

bmon -bp eth0

To adjust the update interval (in seconds), use the -r option:

bmon -r 2 -p eth0

Step 3.1 – Use bmon Input Modules

Netlink is used to transfer information between the kernel and user-space processes. By default, Netlink is the input module. To use bmon Netlink input modules, you can use the following command on AlmaLinux 9:

bmon -i netlink
Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 – Input Modules

You can also use proc as an input module:

bmon -i proc

dummy is a programmable input module for debugging and testing purposes:

bmon -i dummy

To disable data collection, use Null:

bmon -i null

Step 3.2 – Use bmon Output Modules

curses is used as a display library for text-based terminals. By default, curses are the output modules. To get output in curses, run the following bmon command:

bmon -o curses
Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 – Output Modules

When curses is not available, you can use ascii instead:

bmon -o ascii
**Output**
Interfaces                               RX bps         pps      %    TX bps         pps      %
  lo                                          0           0                0           0
   qdisc none (noqueue)                       0           0                0           0
  eth0                                        0           0                0           0
   qdisc none (fq_codel)                      0           0                0           0
Interfaces                               RX bps         pps      %    TX bps         pps      %
  lo                                          0           0                0           0
   qdisc none (noqueue)                       0           0                0           0
  eth0                                     3.49KiB       54             1.41KiB        3
   qdisc none (fq_codel)                      0           0             1.41KiB        3
Interfaces                               RX bps         pps      %    TX bps         pps      %
  lo                                          0           0                0           0
   qdisc none (noqueue)                       0           0                0           0
  eth0                                     3.23KiB       51              930B          2
   qdisc none (fq_codel)                      0           0              930B          2
Interfaces                               RX bps         pps      %    TX bps         pps      %
  lo                                          0           0                0           0
...

You can also use format mode to get the output:

bmon -o format
**Output**
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772373799 7184990 718996 63774
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772376874 7186270 719042 63776
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772379971 7186548 719091 63777
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
qdisc none (noqueue) unknown unknown unknown unknown
eth0 772383396 7186946 719145 63780
qdisc none (fq_codel) unknown unknown unknown unknown
lo 864 864 6 6
...

For more help and information, use the following commands:

# bmon --help
# man bmon

Conclusion

You have now successfully learned how to Build and Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9, run the service, and utilize its input and output modules for effective bandwidth monitoring. Hopefully, you find this tool useful.

Here are a few more interesting articles:

Install Nagios Monitoring Tool on AlmaLinux 9

Set up Gnome Desktop on Rocky Linux 9

Install Mattermost on Rocky Linux 8 and RHEL 8

Alternative Solutions for Bandwidth Monitoring on AlmaLinux 9

While bmon is a powerful and versatile tool, other options are available for monitoring bandwidth on AlmaLinux 9. Here are two alternative solutions:

1. Using vnStat

vnStat is a console-based network traffic monitor that keeps a log of network traffic for selected interfaces. Instead of real-time monitoring like bmon, vnStat operates as a background service and accumulates data over time, allowing you to analyze bandwidth usage patterns and trends.

Installation:

sudo dnf install vnstat -y

Configuration:

Edit the configuration file /etc/vnstat.conf to set the interface(s) you want to monitor:

Interface "eth0"

Replace eth0 with the actual network interface name.

Initialization:

Initialize the database for the specified interface:

sudo vnstat -u -i eth0

Starting the Service:

Start and enable the vnstat service:

sudo systemctl enable --now vnstat

Usage:

To view the current bandwidth statistics, use the command:

vnstat

This will display a summary of the network traffic for the configured interface(s).

Advantages of vnStat:

  • Lightweight and low resource consumption.
  • Long-term data collection and analysis.
  • Simple to configure and use.

Disadvantages of vnStat:

  • Not real-time monitoring.
  • Limited visualization options.

2. Using nload

nload is another console application that provides real-time monitoring of network traffic. It displays incoming and outgoing traffic as two simple graphs, making it easy to visualize network usage.

Installation:

sudo dnf install nload -y

Usage:

To run nload and monitor all network interfaces, simply execute:

nload

To monitor a specific interface, use the interface name as an argument:

nload eth0

Advantages of nload:

  • Simple and intuitive interface.
  • Real-time monitoring.
  • Easy to install and use.

Disadvantages of nload:

  • Limited features compared to bmon.
  • No historical data collection.
  • Basic graphical representation.

By exploring these alternative solutions, you can choose the bandwidth monitoring tool that best suits your specific needs and requirements on AlmaLinux 9. Whether you prefer real-time monitoring, long-term data analysis, or a simple and intuitive interface, there’s a tool available to help you effectively manage your network bandwidth. Install bmon Real-Time Bandwidth Monitor on AlmaLinux 9 or use one of these options!