在Ubuntu 18.04上安装zabbix服务器
本教程旨在在Ubuntu 18.04上安装Zabbix Server。
Zabbix是一种企业级开源监控工具,旨在监控和跟踪应用程序,系统和网络设备状态。
Zabbix服务器的核心是用Java和C编写的,前端接口编写在PHP中。
Zabbix架构使用服务器/客户端模型。
服务器通信到适用于Linux,NIX和Windows等各种操作系统的本机软件代理。
对于没有代理的系统,可以使用诸如简单的网络管理协议(SNMP)或者智能平台管理接口(IPMI)之类的通用监控协议。
在Ubuntu 18.04上安装zabbix服务器
Zabbix的安装有许多步骤和准备工作,我们需要先实现。
所需的依赖项是:Apache httpd web servicephpmysql/mariadb数据库服务器
MySQL或者MariaDB可以是远程服务器,但需要在Zabbix服务器上安装PHP和HTTPD。
按照以下步骤安装Zabbix服务器并在Ubuntu 18.04系统上工作。
第1步:安装Apache Httpd Server
使用APT-GET命令更新系统然后安装Apache2包:
sudo apt update sudo apt upgrade sudo apt install apache2
安装Apache后,仅允许Prod ServerTokens配置基本安全性。
sudo vim /etc/apache2/conf-enabled/security.conf
改变第26行
ServerTokens Prod
此指令配置我们作为服务器HTTP响应所返回的内容。
有效选项已满| os |最小|次要|主要|刺激。
设置servername:
# grep ServerName /etc/apache2/apache2.conf ServerName zabbix.example.com
在问题上设置服务器管理员以接收电子邮件。
# grep ServerAdmin /etc/apache2/apache2.conf ServerAdmin Hyman@theitroad
进行以下更改后,我们需要重新启动Apache Web服务:
sudo systemctl restart apache2
启用防火墙服务并添加http | https
$sudo ufw enable $sudo ufw allow http Rule added Rule added (v6 $sudo ufw allow https Rule added Rule added (v6)
第2步:安装PHP for Apache
配置Apache2以通过安装以下软件包来使用PHP脚本:
sudo apt-get -y install php php-pear php-cgi php-common libapache2-mod-php php-mbstring php-net-socket php-gd php-xml-util php-mysql php-gettext php-bcmath
这将在Ubuntu 18.04上安装PHP v7.2,我们可以使用命令PHP -V确认
$php -v PHP 7.2.5-0ubuntu0.18.04.1 (cli) (built: Jan 9 2016 17:21:02) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2016, by Zend Technologies
配置Apache:
$sudo a2enconf php7.2-cgi Enabling conf php7.2-cgi. To activate the new configuration, you need to run: systemctl reload apache2
确保设置正确的时区:
# grep date.timezone /etc/php/7.2/apache2/php.ini ; http://php.net/date.timezone date.timezone = "Africa/Nairobi"
在此更改后重新启动Apache2:
sudo systemctl restart apache2
第3步:安装MariaDB服务器
在Ubuntu上安装MariaDB,请使用
如何在Ubuntu 18.04和Centos 7上安装MariaDB 10.3
完成数据库服务器后,需要为Zabbix用户创建数据库:
$mysql -u root -p Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 56 Server version: 10.3.7-MariaDB-1:10.3.7+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database zabbix; Query OK, 1 row affected (0.000 sec) MariaDB [(none)]> grant all privileges on zabbix.* to Hyman@theitroad'localhost' identified by 'password'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> exit Bye
第4步:安装zabbix服务器
截至本文,最新版本的Zabbix服务器是3.4,但Ubuntu存储库上可用的版本为3.0。
要安装版本3.4,我们需要为此版本添加Zabbix存储库:
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb $sudo dpkg -i zabbix-release_3.4-1+bionic_all.deb Selecting previously unselected package zabbix-release. (Reading database ... 108829 files and directories currently installed.) Preparing to unpack zabbix-release_3.4-1+bionic_all.deb ... Unpacking zabbix-release (3.4-1+bionic) ... Setting up zabbix-release (3.4-1+bionic) ...
执行系统更新并安装Zabbix Server软件包
sudo apt update sudo apt install zabbix-agent zabbix-server-mysql php-mysql zabbix-frontend-php
这也可用于升级Zabbix服务器。
要检查已安装的版本,请使用:
$apt-cache policy zabbix-server-mysql zabbix-server-mysql: Installed: 1:3.4.10-1+bionic Candidate: 1:3.4.10-1+bionic Version table: *** 1:3.4.10-1+bionic 500 500 http://repo.zabbix.com/zabbix/3.4/ubuntu bionic/main amd64 Packages 100 /var/lib/dpkg/status 1:3.0.12+dfsg-1 500 500 http://mirrors.digitalocean.com/ubuntu bionic/universe amd64 Packages
使用命令导入数据库数据:
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix Enter password:
步骤5:配置和启动Zabbix服务器
zabbix配置文件位于/etc/zabbix/zabbix_server.conf下。
确保正确配置以下行。
DBName=zabbix DBUser=zabbix DBPassword=password
修改此文件后重新启动zabbix服务器:
sudo systemctl restart zabbix-server
将php always_populate_raw_post_data设置为关闭
# vim /usr/share/zabbix/include/classes/setup/CFrontendSetup.php
寻找线条:
public function checkPhpAlwaysPopulateRawPostData() { $current = ini_get('always_populate_raw_post_data');
然后在$current = ini_get之后添加"$current = -1"('always_populate_raw_post_data');最终设置应如下所示:
public function checkPhpAlwaysPopulateRawPostData() { $current = ini_get('always_populate_raw_post_data'); $current = -1;
编辑/etc/php/7.2/apache2/php.ini设置zabbix服务器的PHP要求。
# vim /etc/php/7.2/apache2/php.ini max_execution_time = 300 max_input_time = 300 post_max_size = 16M
配置Zabbix代理以监视Zabbix Server本身。
# vim /etc/zabbix/zabbix_agentd.conf Hostname=zabbix-server.theitroad.com
启动并启用Zabbix服务器:
# systemctl start zabbix-server # systemctl enable zabbix-server Synchronizing state of zabbix-server.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable zabbix-server
配置防火墙
如果系统上安装了UFW防火墙并运行,请确保允许端口5000和端口5001
sudo ufw allow proto tcp from any to any port 10050,10051
步骤5:执行zabbix初始设置
访问"http://(zabbix server的主机名或者IP地址)/zabbix /"开始zabbix初始设置。
步骤1是"欢迎"页面,单击"下一步"继续。
确认所有准备工作都满足。
将DB设置配置为之前添加:
确认Zabbix服务器的主机名和端口号。
可以使用localhost代替名称。
验证所有设置,然后单击下一步以完成初始设置。
如果一切顺利,你应该得到祝贺页面。
单击"完成"按钮以结束安装。
然后,我们将获取登录页面。
默认登录是:
Username: "admin" Password: "zabbix"
默认仪表板页面如下所示:
第6步:更改管理员密码
使用管理员用户和密码zabbix登录zabbix admin仪表板。
出于安全原因,我们需要在第一次登录后更改管理员用户的密码。
导航到管理>用户> admin>密码>更改密码
进入两次新密码,然后单击"更新"按钮更改。
配置监视目标主机
现在我们有我们的Zabbix服务器准备监控,让我们配置第一个监视目标主机 - 这是Zabbix服务器监控本身。
使用username admin登录zabbix admin仪表板,然后单击配置>主机。
我们应该已经看到主机LocalHost状态设置为"已禁用"。
单击已禁用的按钮以在此服务器上启用Zabbix代理以监视主机。
"状态"转到"已启用",现在正在监视服务器。
几分钟后,监控数据将开始流入,检查主机图转到监视>屏幕>服务器名称