适当的Linux系统监控是有效管理整个IT基础架构的重要组成部分,强大的实时监控解决方案可提供网络和应用程序性能的详细可见性,它有助于识别发生错误和事件的实际时刻并发送警报。这样,运维团队可以及时采取干预措施,在最短的时间内确保业务稳定性。
Zabbix是一个免费的开源企业级监控工具,用于监控您的整个IT基础架构。它可以监控任何东西,包括网络设备、服务器(云和本地)应用程序、数据库,甚至是docker容器。此外,它还可以检测错误并发送警报,以便IT团队能够迅速采取行动来解决问题。
在本文中,小编将重点介绍在Rocky Linux / AlmaLinux系统上安装Zabbix监控工具。在编辑本文时,Zabbix的最新版本是Zabbix 6.0预发行版。
注意,在安装操作之前,请确保:
1、系统已经安装Rocky Linux或AlmaLinux系统,并且可以通过SSH访问。
2、可以行使执行特权任务的sudo用户或root用户。
第 1 步:在Rocky/Alma Linux中安装LAMP
Zabbix是一个监控应用程序,前端由PHP驱动,后端由Java和C语言驱动。它还需要一个关系数据库来收集和存储其数据。因此,需要安装一个托管堆栈环境,以便在其上面安装Zabbix。
LAMP是Linux、Apache、MariaDB/MySQL和PHP的缩写,在开发者圈子里是家喻户晓的名字。它包括Apache服务器、MariaDB或MySQL(关系数据库),以及作为服务器端脚本引擎的PHP 。
在Rocky/Alma Linux系统中安装Apache
这里将从安装Apache服务器开始。为此,请执行以下命令:
$ sudo dnf install @httpd
安装后,启动Apache并使其在系统启动时运行。
$ sudo systemctl start httpd $ sudo systemctl enable httpd
要验证Apache是否正在运行,请执行以下命令:
$ sudo systemctl status httpd
如上图所示,输出确认Apache已按预期安装并运行。
在Rocky/Alma Linux中安装MariaDB
如前所述,Zabbix需要一个关系数据库来存储其所有数据。鉴于MariaDB的可靠性以及它提供的众多安全性和性能增强,这里选择安装MariaDB 。
最新版本的Zabbix需要MariaDB 10.5版才能按预期运行。所以,首先需要启用MariaDB YUM存储库。
因此,创建一个存储库文件:
$ sudo vim /etc/yum.repos.d/mariadb.repo
粘贴以下内容:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/rhel8-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 module_hotfixes=1
保存更改并退出配置文件。
接下来,导入MariaDB GPG签名密钥:
$ sudo --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
最后,要安装MariaDB服务器和客户端,请运行以下命令:
$ sudo dnf install MariaDB-server MariaDB-client
安装完成后,启动MariaDB服务器并启用它,以便它在启动时自动启动。
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb
确认数据库服务器是否正在运行:
$ sudo systemctl status mariadb
要确认安装的MariaDB版本,请运行以下命令:
$ mysql -V
或者,可以按如下方式登录数据库服务器:
$ sudo mysql -u root -p
MariaDB的版本将打印在欢迎信息上。
通常,MariaDB的设置未配置为所需的安全建议。值得庆幸的是,MariaDB提供了mysql_secure_installation脚本来增强数据库服务器的安全性。因此,执行以下命令:
$ sudo mysql_secure_installation
这时需要执行任务列表。首先,需要切换到UNIX_socket身份验证插件,如下所示:
对于剩余的提示,直接键入'Y'
并按ENTER。主要包括允许删除匿名用户,禁止远程用户以 root 身份登录并删除可以被黑客利用的测试数据库。最后重新加载权限表以保存更改。
UNIX_socket身份验证插件允许root用户无需密码即可登录数据库服务器。要启用MariaDB密码验证,请登录MariaDB:
$ sudo mysql -u root -p
然后设置root密码如下。
set password = password("yourpassword");
要从UNIX_socket身份验证切换到mysql_native_password身份验证,请运行以下命令:
ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("yourpassword");
现在,每次重新登录时都需要提供密码了。
在Rocky/Alma Linux中安装PHP
要安装的LAMP堆栈的最后一个组件是PHP。这在默认AppStream存储库中提供,所以可以按如下方式验证这一点:
$ sudo dnf module list PHP
默认情况下,默认启用PHP 7.2。我们需要将其更改为PHP 7.4。
$ sudo dnf module reset php $ sudo dnf module install php:7.4
接下来,安装Zabbix安装所需的PHP模块。
$ sudo dnf install php php-curl php-fpm php-mysqlnd
要检查PHP的版本,请运行。
$ php -v
这样就已经安装了PHP-FPM(FastCGI 进程管理器)服务,它是PHP FastCGI的流行替代实现。
在启动时启动并启用它。
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm
然后验证其状态。
$ sudo systemctl status php-fpm
至此,已经成功安装了LAMP堆栈。在后续步骤中,将详细说说Zabbix的安装。
第 2 步:在Rocky/Alma Linux中安装Zabbix
有了LAMP堆栈,现在通过安装Zabbix存储库来安装Zabbix。
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm
安装存储库后,安装Zabbix服务器、Zabbix代理和关联的Zabbix包,命令如下:
$ sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
安装完成后,需要创建一个Zabbix数据库和一个Zabbix将用来访问数据库的数据库用户。
$ sudo mysql -u root -p CREATE USER zabbix_user@localhost IDENTIFIED BY ' P@ssword321 ';
然后授予数据库用户执行数据库上所有任务的权限。
GRANT ALL PRIVILEGES ON zabbix_db.* TO zabbix_user@localhost;
然后生效更改并退出数据库服务器
FLUSH PRIVILEGES; EXIT;
接下来,导入数据库模式:
$ sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix_user -p zabbix_db
当提示输入密码时,提供Zabbix用户的密码,注意不是root帐户的密码。
此外,编辑Zabbix配置文件,命令如下:
$ sudo vim /etc/zabbix/zabbix_server.conf
确保DBName、DBUser、DBPassword值为你数据库提供的值:
DBHost=localhost DBName=zabbix_db DBUser=zabbix_user DBPassword=P@ssword321
保存更改并退出配置文件。
第 3 步:在Rocky/Alma Linux中配置PHP-FPM
接下来, PHP-FPM服务需要一些额外的配置。编辑www.conf配置文件。
$ sudo vim /etc/php-fpm.d/www.conf
确保以下行按原样显示:
listen = /run/php-fpm/www.sock user = apache group = apache listen.allowed_clients = 0.0.0.0 listen.owner = apache listen.group = apache listen.mode = 0660 pm = dynamic
保存更改并退出文件。
此外,在Zabbix.conf配置文件中指定时区设置。
$ sudo vim /etc/php-fpm.d/zabbix.conf
添加显示的行,如下所示(可以根据实际需求自行选择时区),例如:
php_value[date.timezone] = Asia/Shanghai
保存并退出。
要应用所做的所有更改,请重新启动所有服务,命令如下:
$ sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm
此外,设置在系统启动时启用它们。
$ sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm
第 4 步:在Rocky/Alma Linux中配置SELinux和防火墙
需要将SELinux设置为permissive才能从浏览器访问前端。为此,请运行以下命令:
$ sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
接下来,前往防火墙并允许HTTP服务以及Zabbix服务器和代理侦听的端口10050和10051 。
$ sudo firewall-cmd --add-port=80/tcp --permanent $ sudo firewall-cmd --add-port={10050,10051}/tcp --permanent $ sudo firewall-cmd --reload
第 5 步:在Rocky/Alma Linux中完成Zabbix 安装
启动浏览器,然后转到显示的URL地址:
http://server-ip/zabbix #将server-ip换成你的服务器IP地址
首先看到的是Zabbix欢迎页面,它粗体显示您正在安装的版本。选择安装语言并单击“Next step”按钮。
在条件列表中,一直向下滚动并确保所有条件都在最后一列中获得“ OK ”字样。必须满足所有要求,否则无法安装。然后点击“Next step”按钮。
在“配置数据库连接”配置页面上,填写数据库详细信息。对于数据库端口,将其保留为0。按“Next step”按钮。
然后指定服务器名称,确认选择好时区并随意选择您喜欢的主题。然后按“Next step”按钮。
确认所有设置,如果一切正常的话,请按“Next step”按钮。以完成安装。
如果提供的所有设置都正确,将会收到一条祝贺消息,通知您成功设置 Zabbix 的前端。按“Finish”按钮。
这会将您定向到Zabbix登录页面,使用以下凭据登录:
Admin: Admin Password: zabbix
然后单击“Sign in”以访问Zabbix后台控制面板。当然,你可以稍后更改密码以增加安全性,尽量设置复杂一些。
最后,将可以访问Zabbix的后台控制面板,功能很强大吧:
总结
以上就是在Rocky Linux / AlmaLinux系统中安装了Zabbix全部过程,有了它,就可以进行全方位监控了。怎么样,是不是很给力?
如果大家想更好的监控Linux服务器,那么可以通过参考上述过程安装Zabbix,确实是一款比较不错的服务器监控软件,值得一用。