在Ubuntu 18.04上安装zabbix服务器

时间:2020-02-23 14:44:54  来源:igfitidea点击:

本教程旨在在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代理以监视主机。
"状态"转到"已启用",现在正在监视服务器。

几分钟后,监控数据将开始流入,检查主机图转到监视>屏幕>服务器名称