我用 LinuxLinux 相关文章Linux学习之路

Ubuntu 19.04 配置 Zabbix 监控系统

2019-07-06  本文已影响3人  rollingstarky

Zabbix 是一个用于监控 IT 设施的企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。
Zabbix 完全开源免费。

一、特性与架构

特性

Zabbix 监控系统的主要特性如下:

系统架构

一个简单的 Zabbix 监控系统的示例架构如下图:


Zabbix 架构

Zabbix 由以下几个主要的功能组件组成:

二、安装

获取 Zabbix 主要有以下三种方式:

这里选择第一种安装方式。Zabbix 官方的软件仓库有提供 RPM 和 DEB 格式的二进制包,本文并没有使用。使用的是 Ubuntu 19.04 默认软件仓库中提供的安装包,具体操作大同小异,详情可参考 Zabbix 4.0 产品手册

使用 apt-get 命令安装 Zabbix 系列软件:

$ sudo apt-get update
$ sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent

其中 zabbix-server-mysql 是以 MySQL 数据库为后端的 Zabbix Server 软件。zabbix-frontend-php 则是由 PHP 语言编写的 Web 控制台界面。

导入初始数据

首先确保已经安装了 MySQL 数据库,使用 root 用户登录进 MySQL 的命令行界面,输入以下命令创建数据库并授权:

mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected, 1 warning (0.11 sec)

以上命令创建了一个名为 zabbix 的数据库,并授予用户 zabbix (密码为 password)对它的访问权限。
zabbix 数据库用于存储 Zabbix Server 的配置信息和采集到的数据,在正式启用前还需要创建数据表并导入初始数据。

Zabbix 软件包中已经包含了用于创建这些数据表的 SQL 语句,一般保存在 /usr/share/doc/zabbix-server-mysql/ 或者 /usr/share/zabbix-server-mysql/ 目录下的一个或多个数据库备份文件中,直接导入即可。

我这里使用如下命令进行导入:
$ zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz | mysql -u zabbix -p zabbix
按照提示输入密码后即可完成导入。

配置数据库连接信息

修改 Zabbix Server 的配置文件 /etc/zabbix/zabbix_server.conf,将其中对应的项目改为如下内容:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

重启 zabbix-server 服务:
$ sudo systemctl restart zabbix-server

Web 前端配置

首先确保已经安装了 Apache2 Web 服务器和 PHP 语言支持。并且还需要安装以下几个 PHP 模块:

前面安装完 zabbix-frontend-php 软件后,会自动在 /etc/apache2/conf-available/ 目录下创建 zabbix-frontend-php.conf 文件,作为 Zabbix Server 网页后台的配置文件。

该文件的默认配置可直接使用,只需要启用该配置即可,命令如下:
$ sudo a2enconf zabbix-frontend-php
或者 $sudo ln -s /etc/apache2/conf-available/zabbix-frontend-php.conf /etc/apache2/conf-enabled/

此外,在正式访问 Web 页面安装之前,需要先修改时区配置。编辑 /etc/apache2/conf-enabled/zabbix-frontend-php.conf 文件,将时区配置改为如下内容:
php_value date.timezone Asia/Shanghai

Web 安装程序

以上步骤完成后,重启 Apache2 服务。进入浏览器访问 http://localhost/zabbix ,根据提示进行操作,部分截图如下:

Check Requirements DB Connection

操作完成后,会自动生成 zabbix.conf.php 文件,内容大致如下:

<?php
// Zabbix GUI configuration file.
global $DB;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'localhost';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'admin';
$DB['PASSWORD'] = 'password';

// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';

$ZBX_SERVER      = 'your_ip_address';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'server1';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

如该文件未自动在 /etc/zabbix/ 目录下生成,可将该文件下载后移动到对应位置。

此时访问 http://localhost/zabbix ,即可进入安装配置完成的 Zabbix 监控系统控制台。默认登录用户名为 Admin,密码为 zabbix。截图如下:

Zabbix Web GUI
三、主机与监控项

本文主要介绍 Zabbix 监控系统的安装配置流程,对于主机及其关联的监控项的配置,限于篇幅不作过多介绍。建议参考官方文档

实际上完成安装之后,Zabbix 已经默认关联了一个名为 Zabbix server 的主机(即安装 Zabbix Server 的 Linux 服务器本身),其中默认配置了众多监控项、触发器图形自动发现规则等。可以查看它们的具体配置信息作为参考。
部分截图如下:

监控项 监控项-CPU/触发器 图形

参考资料

Zabbix 产品手册
Zabbix Network Monitoring, Second Edition

上一篇 下一篇

猜你喜欢

热点阅读