作者:田逸(formyz)
非常好用的开源监控系统Centreon从版本号21.40以后(包括Centreon 21.40这个版本),不在提供ISO一键式安装包,取而代之的是在线脚本安装和VMware虚拟机或者Oracle VirtualBox 虚拟机镜像。本着开源的精神,以及对现有资源的有效利用,打算把VMware 虚拟机形式的Centreon镜像,部署到Proxmox VE上。
运行环境
运行平台为Proxmox VE 8.1.3,软件包全部更新完毕。Centreon 使用最新发布版本23.10。从官网下载来的是一个压缩文件“centreon-vmware-vm-23_10-1.el8.zip”,解开此压缩包后,生成一个以“.ova”的单个大文件(最终解压后,是4个文件),而Centreon 23.04版本压缩文件解压后,生成的是4个大小不一的文件,如下图所示。
将解压后的文件“centreon-vmware-vm-23_10-1.el8.ova”上传到Proxmox VE 8.1的宿主系统Debian待用。
创建虚拟机并处理镜像文件
Ssh客户端或者Proxmox VE 8.1控制台登录宿主系统Debian 12(Bookworm),用命令“tar xvf centreon-vmware-vm-23_10-1.el8.ova“解包,生成数个文件,其中有用的文件是” centreon-central-23100-el8-disk1.vmdk“,其它几个文件是文本形式的,可以打开了解一下。
切换到Proxmox VE 8.1 Web管理后台,创建名称为“centreon23“的虚拟机,并给此虚拟机分配好足够的硬件资源,一个创建好的虚拟机配置如下图所示。
创建这个虚拟机的目的,是为了使用该虚拟机来转换和挂接VMware镜像,因为导入镜像操作需要虚拟机参数“vmid“。
再次切换的宿主系统Debian,按顺序执行如下操作:
1)文件格式转换
进入虚拟机镜像磁盘文件所在的目录,执行如下命令将vmdk格式转换成qcow2.
qm disk import 104 centreon-central-23100-el8-disk1.vmdk vmdata --format qcow2 |
qm disk import 104 centreon-central-23100-el8-disk1.vmdk vmdata --format qcow2
命令执行过程中,会显示转换进度,并且创建设备与vmid相关联的设备文件,如下图所示。
在Proxmox VE 8的Web管理后台,也可以直观的看到这个操作所产生的结果(虚拟机多了一个未使用的磁盘),如下图所示。
Proxmox VE 8 宿主系统qm指令只有参数“disk import”,而没有”importdisk“这个参数,这个与其它平台不一样,要注意区分。另外一个参数是”importovf”,应该也能将VMware虚拟机镜像文件进行转换,有兴趣的可以自行尝试。
2)虚拟机挂接磁盘
Proxmox VE 8宿主系统Debian 任意路径,执行如下命令,将上述步骤生成的镜像磁盘挂接到虚拟机。
qm set 104 --ide2 vmdata:vm-104-disk-0 |
qm set 104 --ide2 vmdata:vm-104-disk-0
执行完毕,虚拟机“104”的配置文件“104.conf”将被更新,如下图所示。
虽然服务器默认存储接口为SCSI,如果执行“qm set --sisci …”进行磁盘挂接,虽然也能成功,但启动恢复出来的虚拟机,可能会引导失败,因此还是用“--ide”比较保险。
启动虚拟机系统
Proxmox VE 8 Web管理后台,修改虚拟机启动顺序,勾选“ide”,如下图所示。
点击“ok”按钮保存生效,接着启动虚拟机系统,如果一切正常,将进入Centreon 宿主系统ALmaLinux 8.0控制台登录界面。
配置和运行Centreon
Centreon 23 宿主系统输入默认账号“root”,默认密码“centreon”进行控制台登录,屏幕显示了所有的后续操作(如下图所示),按提示完成所有后续操作。
用浏览器远程访问刚恢复出来的虚拟机IP地址,输入默认用户名“admin”及默认密码“Centreon!123”,如下图所示。
与Centreon 21版本想比较,Centreon 23版本界面风格变化还是很大的(如下图所示)。
以ISO方式安装的Centreon,需要手动创建数据库账号,才能进行Centreon 运行环境的下一步配置,以虚拟机方式恢复出来的Centreon, 简化了创建数据库账号和运行环境检查这个过程。
附:以命令行安装Centreon 23
准备好最新的Linux操作系统Rocky 9 ,执行下面的命令下载安装脚本“unattended.sh”,脚本被保存到目录“/tmp”.
curl -L https://raw.githubusercontent.com/centreon/centreon/23.10.x/centreon/unattended.sh --output /tmp/unattended.sh |
curl -L https://raw.githubusercontent.com/centreon/centreon/23.10.x/centreon/unattended.sh --output /tmp/unattended.sh
运行下载来的脚本文件“unattended.sh”,并加上一些必要的参数及选项,对Centreon所需的组件进行安装。
bash /tmp/unattended.sh install -t central -v 23.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log |
bash /tmp/unattended.sh install -t central -v 23.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log
命令行未加选项“-p”指定Centreon 23 Web管理后台超级管理员账号”admin”的密码,这将由安装过程自动生成,如下图所示。
以脚本方式安装Centreon Poller,使用的安装脚本还是这个“unattended.sh”,只不过所跟随参数和选项“install -t central”替换成“install -t poller”。