一键root2021


一、环境准备

物理环境配置要求:请确保您的操作系统是CentOS 8及以上版本,因为我提供的安装源是基于CentOS 8的。您的服务器必须连接互联网,因为脚本是基于yum安装的。

二、安装Zabbix

1. 准备脚本环境

我们准备一个用于自动安装Zabbix的bash脚本。脚本内容如下:

bash

!/bin/bash

该脚本用于自动安装Zabbix,本脚本需要root权限。确保服务器可以连接互联网。

创建时间:XXXX年XX月XX日

echo -e ""

echo -e "欢迎使用Zabbix一键安装脚本!"

echo -e "系统要求:CentOS 8.x,内存2G+,需连接外网。"

echo -e ""

read -p "请输入本机IP地址:" IP

安装前检查

install_data=/var/log/zabbix

[ $UID -ne 0 ] && echo "需要管理员权限" && exit 1

设置数据库密码

while true; do

read -p "请输入数据库密码:" password

[ -z $password ] && echo "密码不能为空" && continue

read -p "请再次输入数据库密码(确认):" password1

[ $password != $password1 ] && echo "两次密码不一致,请重新输入" && continue

echo "数据库密码设置成功" && break

done

关闭SELinux并配置防火墙

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

systemctl disable firewalld --now &>/dev/null

Zabbix安装过程

echo -e ""

echo -e "正在安装Zabbix,请稍候..."

echo -e ""

sleep 2

配置yum源并安装Zabbix server、Web前端和agent等组件

zabbix_install() {

cp -r /etc/yum.repos.d/ yum.repos.d.bak 备份原有yum源配置

cat /etc/yum.repos.d/zabbix.repo 添加Zabbix官方yum源配置

[baseos]

name=baseos

baseurl=repo./zabbix/5.0/rhel/8/x86_64/baseos/

gpgcheck=0

enabled=1

[zabbix-web]

name=zabbix-web

baseurl=repo./zabbix/5.0/rhel/8/x86_64/web-rh-nonrh7-compatible-agentless/stable/updates

gpgcheck=0

enabled=1

EOF 重启命令结束行去掉 &>/dev/null将输出重定向到空设备文件以隐藏输出内容以配置yum源等设置)文件,为脚本静默运行提供便利。对于复杂的命令或需要输出的命令,使用'&>/dev/null'将输出重定向到空设备文件以隐藏输出内容。以下是详细步骤:从创建数据库到配置Zabbix服务器并启动相关进程,这些步骤会在一系列预设的环境中完成,最终将返回一系列的信息以供确认操作已完成以及系统的可用性检查。同时提示用户关于数据库名称、密码、网站目录、登录地址以及日志文件的位置等信息。在此过程中使用颜色打印格式来增加信息呈现方式使得终端呈现更具亲和力并提升了阅读体验。 运行安装脚本测试部署成果最终可以通过输入预设的用户名和密码登录Zabbix系统以验证部署成功。 安装完成后进行必要的测试访问验证部署成果。 到此安装结束!如有任何问题请私信联系。 完成安装过程测试访问验证部署成果。" >> /etc/yum.repos.d/zabbix.repo 添加Zabbix仓库配置信息(这里使用了多行命令合并写法,避免了重复输出)测试运行脚本以完成部署成果验证。 运行脚本测试部署成果。 完成安装过程测试访问验证部署成果。" } &>/dev/null 将输出重定向到空设备文件以隐藏输出内容以保持输出的清晰(虽然对于纯系统输出的无特别信息指示的函数结果没有特别标注"systemctl enable zabbix-server zabbix-agent nginx php-fpm 启动并设置开机自启Zabbix server和agent进程及其相关服务"} zabbix_install;check_zabbix 调用函数并检查结果对于数据库的端口和网站访问进行验证。 数据库名提示网站目录登录地址日志文件位置提示 输出一系认信息来确认操作完成并给出数据库的网址名网站目录登录地址及日志文件的位置等相关提示信息。三、执行脚本