硬件管理可以依赖服务器的IPMI管理口,通过SSH远程执行命令,来获取相应的硬件信息。
业务或者系统的监控可以使用Zabbix,但这需要额外一台机器来搭建zabbix,并且搭建过程还算比较繁琐,配置也比较复杂。如果只想简单的监控一下系统的内存、CPU、磁盘的负载情况,可以使用Centos8自带的Cockpit,当然Centos7也可以安装。
介绍
Cockpit是一个免费且开源的基于web的管理工具,系统管理员可以执行诸如存储管理、网络配置、检查日志、管理容器等任务。通过Cockpit提供的友好的Web前端界面可以轻松地管理Linux服务器,非常轻量级,Web界面也非常简单易用,更重要的是通过Cockpit可以实现集中式管理。
功能和特点
- Cockpit使用systemd完成从运行守护进程到服务几乎所有的功能
- 集中式管理,通过一个会话窗口管理网络中的所有Linux服务器
- 创建和管理Docker容器
- 创建和管理KVM、oVirt虚拟机
- 包括LVM在内的存储配置
- 基本的网络配置管理
- 用户user account管理
- 基于web的终端
- 图形化的系统性能展示
- 使用sosreport收集系统配置和诊断信息
- 支持Debian, Redhat, CentOS, Fedora, Atomic, Arch Linux, and Ubuntu.
模块
Cockpit的一些软件模块,可以根据自己的需要选择性的安装
- cockpit-docker:管理Docker容器
- cockpit-kubernetes:可视化和配置Kubernetes群集
- cockpit-machines:管理KVM虚拟机
- cockpit-machines-ovirt:管理oVirt虚拟机
- cockpit-sosreport:使用sosreport工具创建诊断报告
- cockpit-selinux:解决SELinux问题
- cockpit-kdump:配置内核崩溃转储
- cockpit-subscriptions:管理系统订阅
- cockpit-pcp:读取PCP指标并加载PCP归档
系统环境介绍
管理节点mgmt-192.168.1.10
被管理节点node1-192.168.1.11
被管理节点node2-192.168.1.12
实施
- 首先实现无密码ssh
此步非必须,如果不执行此步,后续添加被管理节点时需要输入用户名和密码
# mgmt
ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa -q
ssh-copy-id -i root@192.168.1.11
ssh-copy-id -i root@192.168.1.12
- 安装并启动Cockpit
# 所有机器
yum -y install cockpit cockpit-dashboard cockpit-storaged cockpit-packagekit
systemctl enable cockpit.socket
systemctl start cockpit.socket
# 如果开启了防火墙,则需要执行以下命令
# firewall-cmd --permanent --add-service=cockpit
# firewall-cmd --reload
- 登陆
# 只需要登陆管理节点,然后用户名和密码为root用户的
https://192.168.1.10:9090
用户名root,密码123456
- 添加被管理节点node
点击dashboard左侧的仪表盘,点击右下角的加号,添加其他主机,因为前面已经实现了无密码ssh,所以再次只需要填写IP即可,结果如下:
功能介绍
Cockpit功能选项中的内容取决于都当装有哪些功能模块
- 系统
系统页面提供主机的硬件信息、各类负载和重启等功能,点击硬件名称可以查看系统硬件信息,主要是查看系统的PCI设备
- 日志
日志查看器Cockpit将日志信息分为错误、警告、注意等不同的分类,可以看出是按事件的级别来分类的 - 存储
Cockpit可以方便地查看硬盘的读写速度,可以查看存储的Journal日志以便进行故障排除和修复。
在页面中还有一个已用空间的可视化图,在存储页面可以卸载、格式化、删除一块硬盘的某个分区。
还有类似创建RAID设备、LVM卷组、开启NFS和VDO等功能
- 网络
此功能需要开启NetworkManager
在网络页面可以看到两个可视化发送和接收速度的图,还可以看到可用网卡的列表,可以对网卡进行绑定、桥接以及配置VLAN,点击网卡就可以进行编辑操作,最下面是网络的Journal日志信息
- 账户
在账号页面中可以添加或删除系统账户,也可以对账号进行编辑 - 服务
服务被分成了5个类别:目标、系统服务、套接字、计时器和路径,单击服务名称可以对其进行更多的管理操作,例如重启、关闭、禁用等 - 终端
Cockpit界面提供实时终端执行任务,这使我们可以根据需求在Web界面和终端之间自由切换,可以快速执行任务,操作非常方便 - Diagnostic Report
需要安装并启用sosreport utility
通过cockpit的诊断报告功能,可以快速的生成系统的sosreport,并且可以下载到本地 - SELinux
需要开启SELinux,但是一般此功能我们在业务机器上都会禁用
- 虚拟机
如果被监控的主机为KVM主机,那么其中运行的虚拟机也可以在cockpit中进行管理操作,在虚拟机页面中会列出当前主机中的所有KVM虚拟机,下面是使用cockpit创建虚拟机的一些注意事项:- Cockpit中只能对虚拟机做简单的配置编辑
- 虚拟机创建完成后,不能对内存容量进行修改
- 新建虚拟机时,无法对网卡进行配置,它会自动使用KVM中的默认设置;无法选择安装到哪个存储池,它会将VM自动安装到KVM中默认的存储池中
- 对于虚拟机的管理,使用中发现如果安装了 oVirt Virtual Machines的模块,Cockpit中就无法对KVM虚拟机进行管理
- 在Cockpit中,被管主机可以是物理主机,也可以是虚拟主机,测试中对物理主机、KVM虚拟机和VMware机都进行了测试,都可以正常管理