云网牛站
所在位置:首页 > Linux云服务器 > 在RHEL 8/CentOS 8上安装Zabbix Server的方法

在RHEL 8/CentOS 8上安装Zabbix Server的方法

2019-03-13 09:46:56作者:曾秀珠稿源:云网牛站

本文介绍在RHEL 8/CentOS 8操作系统上安装Zabbix Server的方法,完成安装过程需要:Apache Web服务器、PHP具有所需的扩展名和MySQL/MariaDB。数据库可以是远程服务器,但需要在Zabbix服务器上安装php和httpd,可以在反向代理模式下运行Apache Web服务器,同时建议将SELinux设置为Permissive模式:

sudo setenforce 0

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

cat /etc/selinux/config | grep SELINUX=

参考:在RHEL 8/CentOS 8系统中禁用SELinux的方法

 

一、安装和配置Apache Web服务器

从安装Apache Web服务器开始,参考在RHEL 8上安装配置Apache、mod_ssl、mod_http2的方法

如果需要快速命令在RHEL 8上安装Apache,请使用以下命令:

sudo dnf -y install @httpd

启动并启用httpd服务以在启动时启动:

sudo systemctl enable --now httpd

使用systemctl status httpd命令确认服务状态:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

 

二、安装和配置PHP

我们将安装PHP和Zabbix服务器所需的许多PHP扩展,RHEL 8支持PHP 7.2和PHP 7.1,安装的默认版本是7.2:

sudo yum -y install php php-pear php-cgi php-common php-mbstring php-snmp php-gd php-xml php-mysqlnd php-gettext php-bcmath php-json php-ldap

检查当前的PHP版本:

$ php -v

PHP 7.2.11 (cli) (built: Oct  9 2018 15:09:36) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

启动并启用php-fpm服务:

sudo systemctl enable --now php-fpm

确认服务状态,运行sudo systemctl status php-fpm命令:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

设置PHP时区:

sudo sed -i "s/^;date.timezone =$/date.timezone = \"Asia\/Shanghai\"/" /etc/php.ini

用你正确的时区替换Asia/Shanghai并在此更改后重新启动httpd:

sudo systemctl restart httpd php-fpm

参考:在RHEL 8系统上设置主机名和时区

 

三、安装MariaDB数据库

参考在RHEL 8系统上安装MariaDB数据库的步骤

安装数据库后,需要为Zabbix用户创建一个数据库:

# Export Zabbix DB Password

export zabbix_db_pass="StrongPassword"

mysql -uroot -p <<MYSQL_SCRIPT

CREATE DATABASE zabbix;

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY '${zabbix_db_pass}';

FLUSH PRIVILEGES;

MYSQL_SCRIPT

将“StrongPassword”替换为你所需的数据库密码。

 

四、在RHEL 8上安装Zabbix Server

我们安装了Zabbix Server所需的所有依赖项,下面安装和配置Zabbix服务器,到zabbix网站下载最新的Zabbix文件,当前是4.0.5版本。

下载文件后,将其解压缩:

tar xvf zabbix-*.gz

比如:tar xvf zabbix-4.0.5.tar.gz

创建zabbix组和用户帐户:

sudo groupadd --system zabbix

sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

1、导入Zabbix Server数据库架构

对于Zabbix服务器和Zabbix代理守护程序,需要一个数据库,运行Zabbix代理不需要它,如果Zabbix服务器和代理安装在同一主机上,则必须使用不同的名称创建其数据库。

使用MySQL导入服务器的初始模式和数据:

cd zabbix-*/

cd database/mysql/

mysql -u zabbix -p zabbix < schema.sql

mysql -u zabbix -p zabbix < images.sql

mysql -u zabbix -p zabbix < data.sql

2、编译并安装Zabbix Server

安装构建依赖项:

sudo dnf -y install gcc make mariadb-devel pcre* libevent-devel libxml2-devel net-snmp-devel libcurl-devel libssh2

然后切换到Zabbix源文件夹:

cd zabbix-*/

配置Zabbix服务器和代理的源:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

如果使用SQLite设置Zabbix Proxy,将运行:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

如果成功,应该在最后收到如下信息:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

成功安装配置后,制作并安装所有内容:

sudo make install

默认情况下,此过程将安装:

守护进程二进制文件:/usr/local/sbin中的zabbix_server,zabbix_agent和zabbix_proxy,及/usr/local/bin中的客户端二进制文件(zabbix_get,zabbix_sender)。

 

五、配置并启动Zabbix服务器

为PID和日志文件创建目录:

sudo mkdir -p /var/log/zabbix /var/run/zabbix/

sudo chown -R zabbix.zabbix /var/log/zabbix /var/run/zabbix

编辑Zabbix配置文件/usr/local/etc/zabbix_server.conf并设置数据库名称,用户和密码:

DBName=zabbix

DBUser=zabbix

DBPassword=StrongPassword

设置PID和日志文件路径:

# Change from /tmp/zabbix_server.log

LogFile=/var/log/zabbix/zabbix_server.log

# Change from default /tmp/zabbix_server.pid

PidFile=/var/run/zabbix/zabbix_server.pid

对于大多数设置,默认参数应该足够,但你可以最大化Zabbix服务器(或代理)的性能。

同时创建Systemd服务文件,对于Zabbix Server:

# Zabbix Server

cat <<EOF | sudo tee /etc/systemd/system/zabbix-server.service

[Unit]

Description=Zabbix Server

After=syslog.target network.target mariadb.service

[Service]

Type=oneshot

User=zabbix

ExecStart=/usr/local/sbin/zabbix_server

ExecReload=/usr/local/sbin/zabbix_server -R config_cache_reload

RemainAfterExit=yes

PIDFile=/var/run/zabbix/zabbix_server.pid

[Install]

WantedBy=multi-user.target

EOF

对于Zabbix代理:

# Zabbix Agent

cat <<EOF | sudo tee /etc/systemd/system/zabbix-agent.service

[Unit]

Description=Zabbix Agent

After=syslog.target network.target

[Service]

Type=oneshot

User=zabbix

ExecStart=/usr/local/sbin/zabbix_agentd

RemainAfterExit=yes

PIDFile=/var/run/zabbix/zabbix_agent.pid

[Install]

WantedBy=multi-user.target

EOF

重新加载systemd配置:

systemctl daemon-reload

最后启动并设置Zabbix服务以在启动时启动:

sudo systemctl enable --now zabbix-server zabbix-agent

确认服务正在运行:

$ systemctl status zabbix-server zabbix-agent

 

六、配置Zabbix前端

更改为提取的Zabbix目录:

cd zabbix-*/

比如:cd zabbix-4.0.5/

在frontends/php/上同步文件到/var/www/html/zabbix:

rsync -avP  frontends/php/ /var/www/html/zabbix/

将目录所有权更改为apache用户和组:

sudo chown -R apache:apache /var/www/html/zabbix/

在/etc/php.ini中调整PHP参数:

memory_limit 128M

upload_max_filesize 8M

post_max_size 16M

max_execution_time 300

max_input_time 300

max_input_vars 10000

允许防火墙上的http和Zabbix服务端口:

sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --add-port={10051,10050}/tcp --permanent

sudo firewall-cmd --reload

在浏览器中打开Zabbix URL地址:http://<server_ip_or_name>/zabbix:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

确定满足了所有的运行条件:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

接下来配置数据库设置及提供Server相关的详细信息,非常简单,按自己的信息填写即可。然后确认所填写的信息以完成安装:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

如果收到如图信息:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

然后下载配置文件并将其放在Zabbix webserver服务器配置文件中:/var/www/html/zabbix/conf/zabbix.conf.php。

Zabbix的默认登录名及密码是:

用户名:admin

密码:zabbix

登陆后就可以进入到Zabbix管理中心了,如下图:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

如果需要更改管理员密码,可以导航到Administration > Users > Admin > Password > Change Password,到如下图页面修改:

在RHEL 8/CentOS 8上安装Zabbix Server的方法

建议出于安全方面的考虑,你需要在首次登录后更改admin用户的密码,这样使用Zabbix起来会更放心。

 

相关主题

在CentOS 7系统上安装Zabbix Server 4.0的方法

精选文章
热门文章