Cockpit is a free and open source web-based system management tool where users can easily monitor and manage multiple remote Linux servers. It is very thin and light weight utility & directly interacts with the operating system from a real Linux session and doesn’t require any difficult configuration so just install it and it is ready for use.
Cockpit allows you to monitor system resources, containers management, storage administration, network configuration, inspecting logs and giving options to adjust limits to optimize and control the resources utilization.
It does not have a predefined template and resembling the data from Linux servers which dynamically updates itself to reflect the current state of the server, within a time frame of a few seconds.
Cockpit wont requires specific username, special permission and uses default system users and their system credentials.It doesn’t add a layer of other functionalities & configuration that are not present on your systems, instead it uses system generated configuration files to interact it.
Suggested Read : Check List of Available System Monitoring Tools in Linux
Moving between the terminal and web tool is not a big deal since its resembling the data, so if you stop the services in cockpit can be kick start from terminal. Likewise, if an error occurs in the terminal, it can be seen in the Cockpit journal interface.
We can easily add multiple remote hosts through cockpit dashboard with single click, which helps newbies to manage the multiple servers at the same time without headache.
Cockpit Features
- Adjust system resources, CPU shares & memory limits
- Systemd service management
- Containers management
- Storage administration
- Network configuration
- Log management
- User Management
- System Service Management
How to install Cockpit in Linux ?
Installing cockpit in Linux is not a big deal, Its pieces of cakes since its available in major Linux distribution official repository. It supports Fedora, RHEL, CentOS, Ubuntu, Debian & Arch Linux.
For Fedora users, use DNF Package Manager to install cockpit.
$ sudo dnf install cockpit $ sudo systemctl enable --now cockpit.socket $ sudo firewall-cmd --add-service=cockpit $ sudo firewall-cmd --add-service=cockpit --permanent
For CentOS users, use YUM Package Manager to install cockpit.
$ sudo dnf install cockpit $ sudo systemctl enable --now cockpit.socket $ sudo firewall-cmd --permanent --zone=public --add-service=cockpit $ sudo firewall-cmd --reload
For RHEL users, use YUM Package Manager to install cockpit.
$ sudo subscription-manager repos --enable rhel-7-server-extras-rpms $ sudo yum install cockpit $ sudo systemctl enable --now cockpit.socket $ sudo firewall-cmd --add-service=cockpit $ sudo firewall-cmd --add-service=cockpit --permanent
For Debian 8 users, use APT Package Manager or APT-GET Package Manager to install cockpit.
$ sudo sh -c "echo 'deb http://repo-cockpitproject.rhcloud.com/debian/ jessie main' >> /etc/apt/sources.list.d/cockpit.list" $ sudo apt-key adv --keyserver sks-keyservers.net --recv-keys 0D2A45C3F1BAA57C $ sudo apt-key finger F1BAA57C $ sudo apt-get update $ sudo apt-get install cockpit
For Ubuntu 16.04 users, use APT Package Manager or APT-GET Package Manager to install cockpit.
$ sudo add-apt-repository ppa:cockpit-project/cockpit $ sudo apt-get update $ sudo apt-get install cockpit
For Arch Linux users, use Yaourt Package Manager or Packer Package Manager to install cockpit.
$ yaourt -S cockpit or $ packer -S cockpit
How to access & use Cockpit in Linux ?
After successful installation of cockpit, navigate to 'http://localhost:9090'
or 'http://YourIP:9090'
and use the same root
login details to access it.
System Information : After logging in, you will be getting system information page where you can see host name, operating system, domain, system date & time, hardware information. Also we can get graphs about CPU, Memory, Disk I/O & Network Traffic utilization.
Logs : Navigate to Logs menu which will display all kind of system logs such as Errors
, Warnings
& Notices
.
Storage : Navigate to Storage menu which will display Storage details, Disk reading & Writing and related log information.
Networking : Navigate to Networking menu which will display network related information such as Interface Name
, IP Address
, Data Sending (Kbps)
, Data Receiving (Kbps)
, & Networking Logs
.
Containers : Navigate to Containers menu to check the running containers details.
Accounts : Navigate to Accounts menu which will display current users list in system. We can add & modify existing users accounts.
Services : Navigate to Services menu to Manage the system services. Here you can get Targets
, System Services
, Sockets
, Timers
& Paths
.
To Manage particular services, just hit on the services. We are going to view the Apache web servers.
Terminal : Navigate to Terminal menu to use the terminal.
How to add Remote Hosts ?
We have to install Cockpit on all remote Linux servers in order to monitor. Goto >> Dashboard >> Enter the Remote Server IP >> Hit Add, which will automatically add the remote servers in cockpit by using system default login details.
This doesn’t work on Debian 8.0, I get the following messages when installing from apt:
apt -s install cockpit
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
cockpit : Depends: cockpit-bridge (>= 138.x) but it is not installable
Depends: cockpit-dashboard (>= 139-0~jessie) but it is not installable
Depends: cockpit-dashboard (= 139-0~jessie) but it is not installable
Depends: cockpit-ws (< 139-0~jessie.1~) but it is not installable
Depends: cockpit-system (= 139-0~jessie) but it is not going to be installed
Recommends: cockpit-storaged (= 139-0~jessie) but it is not going to be installed
Recommends: cockpit-networkmanager (= 139-0~jessie) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Trying to install the dependencies first give this:
apt -s install cockpit-bridge cockpit-dashboard cockpit-ws cockpit-system
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package cockpit-bridge is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package cockpit-dashboard is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package cockpit-ws is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'cockpit-bridge' has no installation candidate
E: Package 'cockpit-dashboard' has no installation candidate
E: Package 'cockpit-ws' has no installation candidate
This is a list of the cockpit packages available:
apt search cockpit
Sorting… Done
Full Text Search… Done
cockpit/unknown 139-0~jessie all
User interface for Linux servers
cockpit-doc/unknown 139-0~jessie all
Cockpit deployment and developer guide
cockpit-docker/unknown 139-0~jessie all
Cockpit user interface for Docker containers
cockpit-machines/unknown 139-0~jessie all
Cockpit user interface for virtual machines
cockpit-networkmanager/unknown 139-0~jessie all
Cockpit user interface for networking
cockpit-storaged/unknown 139-0~jessie all
Cockpit user interface for storage
cockpit-system/unknown 139-0~jessie all
Cockpit admin interface for a system
jets3t/stable 0.8.1+dfsg-1 all
graphical and command-line tools for Amazon S3 and CloudFront
kraptor/stable 0.0.20040403-8 i386
Classic shoot 'em up scroller game
As you can see some of the package dependencies are not available. Do I need to add another repository? I'm using the stable version of Debian 8.0