Trilha (Linux Tools): Usando o Cockpit no Centos 7

Hoje trazendo uma ferramenta que pode ajudar você na administração do seu servidor usando o modo gráfico, sem a necessidade de instalar um ambiente gráfico no servidor (Gnome), por exemplo. É possível gerenciar redes, storages, contas de usuários, entre outros recursos do seu sistema, tudo pelo ambiente gráfico.

Vou deixar abaixo o site oficial da ferramenta, vale a pena praticar no seu ambiente de testes. 🚀

Para facilitar todo o processo, acabei subindo uma VM com Oracle VirtualBox (Centos 7). Achei a forma mais legal de testar a ferramenta, visto que você precisará apenas de uma iso do (Centos 7), VirtualBox no seu sistema e MUITA vontade de praticar! Bora!? 😉

  • Instalação do Cockpit no Centos 7

Indo até o site oficial da ferramenta, no link (Install), você vai ver os sistemas que estão disponíveis para a instalação e o passo a passo, veja abaixo a gama de sistemas que é suportado:

Eu vou instalar aqui no (Centos 7), como estou usando a imagem miníma oferecida no site, tenho que fazer a instalação do zero:

# yum install cockpit -y

Feito toda a instalação, vou checar se o serviço está em modo “running”:

# systemctl status cockpit

Agora vou subir o serviço:

# systemctl start cockpit

Como podemos ver abaixo, o Cockpit está sendo executado:

# !264
systemctl status cockpit
● cockpit.service - Cockpit Web Service
Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor preset: disabled)
Active: active (running) since Qui 2020-05-28 17:39:22 -03; 33s ago
Docs: man:cockpit-ws(8)
Process: 4203 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t (code=exited, status=0/SUCCESS)
Main PID: 4205 (cockpit-ws)
CGroup: /system.slice/cockpit.service
└─4205 /usr/libexec/cockpit-ws
Mai 28 17:39:22 centos1 systemd[1]: Starting Cockpit Web Service...
Mai 28 17:39:22 centos1 systemd[1]: Started Cockpit Web Service.
Mai 28 17:39:22 centos1 cockpit-ws[4205]: Using certificate: /etc/cockpit/ws-certs.d/0-self-signed.cert
  • Liberando regra no firewalld

Antes de partir para o browser para checar a interface gráfica da ferramenta, temos que verificar se o firewall está liberando o serviço.

Já que estamos falando sobre firewall, recentemente desenvolvi um script que faz o gerenciamento do firewalld no (Centos 7), eu então acabei compartilhando no site do Viva o Linux, e para nosso exemplo aqui, podemos usar ele para adicionar o serviço do Cockpit no firewalld.

Abaixo o link do script:

#!/usr/bin/env bash
# ------------------------------------------------------------------------ #
# Script Name: firewalld.sh
# Description: Firewalld service management
# Site: https://medium.com/@amaurybsouza
# Written by: Amaury Souza
# Maintenance: Amaury Souza
# ------------------------------------------------------------------------ #
# Usage:
# $ ./firewalld.sh
# ------------------------------------------------------------------------ #
# Tested on:
# Bash 4.2.46
# ------------------------------------------------------------------------ #
# History: v1.0 25/05/2020, Amaury:
# - Start the program
# - Add case feature
# v1.1 25/05/2020, Amaury:
# - Adding new variables
# v1.2 25/05/2020, Amaury:
# - Executing new tests in my system
# ------------------------------------------------------------------------ #
# Thankfulness:
#
# ------------------------------------------------------------------------ #
#VARIABLES --------------------------------------------------------------- #STATUS=`systemctl status firewalld | grep -i "running" | cut -d " " -f 4,5,6`
START=`systemctl start firewalld`
SHOW=`firewall-cmd --list-all | grep -i "services"`
RELOAD=`firewall-cmd --reload`
#CODE -------------------------------------------------------------------- #clear
while true;do
echo " "
echo "Welcome at $0"
echo " "
echo "Choose a option below to start!
1- ensure firewalld service is installed
2- show firewalld status
3- start firewalld service
4- show available rules
5- add new rules
6- reload firewalld service
0- Exit script"
echo " "
echo -n "selected option: "
read option
case $option in
1)
if [ -x `command -v firewalld` ]
then
echo " "
echo "Installed and latest version"
sleep 2
echo " "
else
echo "Not installed yet"
sleep 2
echo " "
fi
;;
2)
echo " "
echo "Firewalld status: $STATUS"
;;
3)
echo "Starting service..."
sleep 2
echo "$START"
;;
4)
echo -n "Rules available... $SHOW"
echo " "
;;
5)
echo -n "Type a rule: "
read rule
if [ -z $rule ]
then
echo "You don't type nothing"
else
echo -n "Your rule: $rule"
echo " "
firewall-cmd --add-service=$rule --permanent
fi
echo
;;
6)
echo "Reloading..."
sleep 2
echo "$RELOAD"
;;
*)
echo "invalid option, please, try again!"
;;
esac
done
#END ------------------------------------------------------------------ #

Você pode fazer o download do arquivo do script diretamente no site, e testar no seu ambiente de testes, é bem simples, basicamente um case faz todo o gerenciamento do firewalld.

Na opção 5 que adiciona os serviços, você pode adicionar o Cockpit, no meu caso, como já tinha feito antes, ele vai dar um alerta dizendo que o serviço já está ativado:

Welcome at ./firewalld.sh

Choose an option below to start!
1- ensure firewalld service is installed
2- show firewalld status
3- start firewalld service
4- show available rules
5- add new rules
6- reload firewalld service
0- Exit script

selected option: 5
Type a rule: cockpit
Your rule: cockpit
Warning: ALREADY_ENABLED: cockpit
success

Feito isso, podemos anotar o endereço de IP do nosso sistema para fazer o acesso via web. Ele usa a porta 9090:

https://192.168.10.25:9090/
Cockpit
  • Conhecendo os recursos do Cockpit
Cockpit screen

Como podemos ver, é possível reiniciar e encerrar o sistema tudo pela interface web. No menu ao lado esquerdo, você pode trabalhar com os recursos, como redes, serviços, logs, contas de usuários, etc.

Vou demonstrar a criação de uma nova conta, podemos notar que existem apenas duas contas no sistema:

Cockpit accounts

Para adicionar uma nova conta, clicamos em “Criar Nova Conta” no canto superior.

Criando nova conta

Vou preencher com os dados:

Dados da conta de usuário

Feito isso, podemos ver que a conta foi criada com sucesso:

Foo user (Cockpit tool)

É possível adicionar mais recursos ao Cockpit, por padrão ele vem com o básico de recursos.

Por exemplo o recurso de discos:

# yum install cockpit-storaged.noarch -y

Usando o comando yum abaixo, você pode ver como a lista de pacotes se estende:

# yum search cockpit
Plugins carregados: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.ufscar.br
* extras: mirror.ufscar.br
* updates: mirror.ufscar.br
============================================================ N/S matched: cockpit ============================================================
cockpit-bridge.x86_64 : Cockpit bridge server-side component
cockpit-composer.noarch : Composer GUI for use with Cockpit
cockpit-dashboard.x86_64 : Cockpit remote servers and dashboard
cockpit-doc.x86_64 : Cockpit deployment and developer guide
cockpit-docker.x86_64 : Cockpit user interface for Docker containers
cockpit-kubernetes.x86_64 : Cockpit user interface for Kubernetes cluster
cockpit-machines.x86_64 : Cockpit user interface for virtual machines
cockpit-machines.noarch : Cockpit user interface for virtual machines
cockpit-machines-ovirt.noarch : Cockpit user interface for oVirt virtual machines
cockpit-packagekit.x86_64 : Cockpit user interface for package updates
cockpit-packagekit.noarch : Cockpit user interface for packages
cockpit-pcp.x86_64 : Cockpit PCP integration
cockpit-storaged.noarch : Cockpit user interface for storage, using udisks
cockpit-subscriptions.noarch : Cockpit subscription user interface package
cockpit-system.noarch : Cockpit admin interface package for configuring and troubleshooting a system
cockpit-tests.x86_64 : Tests for Cockpit
cockpit-ws.x86_64 : Cockpit Web Service
cockpit-ws.i686 : Cockpit Web Service
subscription-manager-cockpit.noarch : Subscription Manager Cockpit UI
cockpit.x86_64 : Web Console for Linux servers

Feita a instalação dos pacotes que você deseja, para ativar no Cockpit, você pode executar um reload na página que os recursos serão adicionados automaticamente.

Isso é tudo pessoal! Eu adicionaria fácil esse software na minha lista de ferramentas Linux! E você?

Obrigado pela leitura, fiquem a vontade para sugerir melhorias, seja no artigo e/ou no script que foi postado. #VAIIII 🚀

Senior Linux Administrator at IBM

Senior Linux Administrator at IBM