Cockpit – A Powerful Tool to Monitor and Administer Multiple Linux Servers Using a Web Browser

Cockpit is an easy-to-use, lightweight and simple yet powerful remote manager for GNU/Linux servers, it’s an interactive server administration user interface that offers a live Linux session via a web browser.

It can run on several Linux distributions including Debian, Ubuntu, Fedora, CentOS, RHEL, Arch Linux among others.

Cockpit makes Linux discoverable thereby enabling system administrators to easily and reliably carry out tasks such as starting containers, managing storage, network configurations, log inspections coupled with several others.

Suggested Read: 20 Command Line Tools to Monitor Linux Performance

While using it, users can easily switch between the Linux terminal and web browser without any hustles. Importantly, when a user starts a service via Cockpit, it can be stopped via the terminal, and just in case of an error that occurs in the terminal, it is shown in the Cockpit journal interface.

Features of Cockpit:

  1. Enables managing of multiple servers in one Cockpit session.
  2. Offers a web-based shell in a terminal window.
  3. Containers can be managed via Docker.
  4. Supports efficient management of system user accounts.
  5. Collects system performance information using Performance Co-Pilot framework and displays it in a graph.
  6. Supports gathering of system configuration and diagnostic information using sos-report.
  7. Also supports Kubernetes cluster or an Openshift v3 cluster.
  8. Allows modification of network settings and many more.

How to Install Cockpit in Linux Systems

You can install Cockpit in all Linux distributions from their default official repositories as shown:

Install Cockpit on Fedora and CentOS

To install and enable Cockpit on Fedora distributions, use the following commands.

# yum install cockpit
# systemctl enable --now cockpit.socket
# firewall-cmd --add-service=cockpit
# firewall-cmd --add-service=cockpit --permanent

Install Cockpit on RHEL

Cockpit is added to the Red Hat Enterprise Linux Extras repository from versions 7.1 and later:

# subscription-manager repos --enable rhel-7-server-extras-rpms
# systemctl enable --now cockpit.socket
# firewall-cmd --add-service=cockpit
# firewall-cmd --add-service=cockpit --permanent

Install Cockpit on Debian

Cockpit is not included in Debian official repositories, but you install it using following repository that contains weekly builds specially for Debian unstable:

First add the following repository to /etc/apt/sources.list file.

deb https://fedorapeople.org/groups/cockpit/debian unstable main

Next, import Cockpit’s signing key and then run the following series of commands to install it.

$ sudo apt-key adv --keyserver sks-keyservers.net --recv-keys F1BAA57C
$ sudo apt-get update
$ sudo apt-get install cockpit
$ sudo systemctl enable --now cockpit.socket

Install Cockpit on Ubuntu and Linux Mint

In Ubuntu and Linux Mint distributions, Cockpit is not included, but you can install it from official Cockpit PPA by executing the following commands:

$ sudo add-apt-repository ppa:cockpit-project/cockpit
$ sudo apt-get update
$ sudo apt-get install cockpit
$ sudo systemctl enable --now cockpit.socket

Install Cockpit on Arch Linux

Arch Linux users can install Cockpit from the Arch User Repository using following command.

# yaourt cockpit
# systemctl start cockpit
# systemctl enable cockpit.socket

How to Use Cockpit in Linux

After Cockpit installed successfully, you can access it using a web browser at the following locations.

https://ip-address:9090
OR
https://server.domain.com:9090

Enter system username and password to login in the interface below:

Cockpit Web Interface
Cockpit Web Interface

After logging in, you will be presented with a summary of your system information and performance graphs for CPU, Memory, Disk I/O, and Network traffic as seen in the next image:

Linux System Performance Summary
Linux System Performance Summary

Next on the dashboard menu, is Services. Here you can view Targets, System Services, Sockets, Timers and Paths pages.

The interface below shows running services on your system.

Showing Current Running Services on Linux
Showing Current Running Services on Linux

You can click on a single service to manage it. Simply click on the drop down menus to get the functionality you want.

View Linux Service Summary
View Linux Service Summary

The Logs menu item displays the logs page which allows for logs inspection. The logs are categorized into Errors, Warnings, Notices and All as in the image below.

Additionally you can as well view logs based on time such as logs for the last 24HRs or 7 days.

Suggested Read: 4 Best Log Monitoring and Management Tools for Linux

To inspect a single log entry, simply click on it.

Linux Logs Monitoring
Linux Logs Monitoring

Cockpit also enables you to manage user accounts on the system, go to Tools and click on Accounts. Clicking on a user account allows you to view the users account details.

Manage Linux User Accounts
Manage Linux User Accounts

To add a system user, click on “Create New Account” button and enter the necessary user information in the interface below.

Create User Account in Linux
Create User Account in Linux

To get a terminal window, go to Tools Terminal.

Cockpit - Linux Web Terminal
Cockpit – Linux Web Terminal

How to Add Linux Server to Cockpit

Important: Be aware that you must install Cockpit on all remote Linux servers in order to monitor them on Cockpit dashboard. So, please install it before adding any new server to Cockpit..

To add another server, click on dashboard, you will see the screen below. Click on the (+) sign and enter the server IP address. Remember that information for each server you add is displayed in Cockpit using a distinct color.

Add Linux Server to Cockpit
Add Linux Server to Cockpit
Cockpit - Remote Linux Server Monitoring
Cockpit – Remote Linux Server Monitoring

Same way, you can add many Linux servers under Cockpit and manage it efficiently without any trouble..

That is it for now, however, you can explore more in case you have installed this simple and wonderful server remote manager.

Cockpit Official Documentation: http://cockpit-project.org/guide/latest/

For any questions or suggestions as well as feedback on the topic, do not hesitate to use the comment section below to get back to us.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

39 thoughts on “Cockpit – A Powerful Tool to Monitor and Administer Multiple Linux Servers Using a Web Browser”

  1. I have installed on centos successfully it shows the details as Project website.

    Version 195.1.
    Licensed under: GNU LGPL version 2.1,

    But unfortunately, I am not able to see storage selection on my webpage. Can anybody give the solution?

    Reply
  2. I have installed on my Fedora 31, looks good but a few minor problems. I could not change the idle timeout (could not find the /etc/cockpit/cockpit.conf). Also, there are no graphs showing on pages http://localhost:9090/system/graphs#/cpu.

    Reply
    • It’s a WebUI, it has the same security implications as SSH or console.

      I’m guessing GUI is bad from your standpoint in respect to resource overhead (read: X-Window System, Desktop).

      That’s not the case with the WebUI.

      I just installed it on a head server and looking at the resources being logged in and managing a dozen other servers, it’s nominal.

      Just putting it out there so you have a second point of reference.

      Cheers, and good luck with your endeavour!!
      Nick

      Reply
  3. Did not work for me.

    $ sudo apt-key adv --keyserver sks-keyservers.net --recv-keys F1BAA57C 
    

    I had to use :

    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys F1BAA57C
    
    Reply

Leave a Reply to MGi Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.