本文介绍在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命令确认服务状态:
二、安装和配置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命令:
设置PHP时区: sudo sed -i "s/^;date.timezone =$/date.timezone = \"Asia\/Shanghai\"/" /etc/php.ini 用你正确的时区替换Asia/Shanghai并在此更改后重新启动httpd: sudo systemctl restart httpd php-fpm
三、安装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 如果成功,应该在最后收到如下信息:
成功安装配置后,制作并安装所有内容: 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:
确定满足了所有的运行条件:
接下来配置数据库设置及提供Server相关的详细信息,非常简单,按自己的信息填写即可。然后确认所填写的信息以完成安装:
如果收到如图信息:
然后下载配置文件并将其放在Zabbix webserver服务器配置文件中:/var/www/html/zabbix/conf/zabbix.conf.php。 Zabbix的默认登录名及密码是: 用户名:admin 密码:zabbix 登陆后就可以进入到Zabbix管理中心了,如下图:
如果需要更改管理员密码,可以导航到Administration > Users > Admin > Password > Change Password,到如下图页面修改:
建议出于安全方面的考虑,你需要在首次登录后更改admin用户的密码,这样使用Zabbix起来会更放心。
相关主题 |