CentOS 7+Zabbix 5.0LTS+PHP7.2安装详解(保姆级)

目录

Zabbix简介

Zabbix是什么

Zabbix特征

架构

版本要求

单机部署

安装前

关闭防火墙

关闭SELinux

创建zabbix用户

安装MySQL 

Zabbix安装

源码包

下载

上传

解压

MySQL初始化

Zabbix Server和Zabbix Agent安装

编译安装

配置zabbix_server.conf

配置zabbix_agentd.conf

配置服务脚本

启动 Zabbix Server 和 Zabbix Agent

Zabbix Web 组件安装

安装php

安装apache

Web安装

分布式部署

Zabbix Agent安装

编译安装

配置zabbix_agentd.conf

Zabbix Web添加主机 


Zabbix简介

Zabbix是什么

Zabbix由Alexei Vladishev创建,目前由Zabbix SIA积极开发和支持。

Zabbix是一个企业级开源分布式监控解决方案。

Zabbix是一个监控网络众多参数、服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。

Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。

Zabbix基于存储的数据提供了出色的报告和数据可视化功能。

Zabbix是容量规划的理想选择。

Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发布的。这意味着它的源代码是免费分发的,并对公众开放。

Zabbix特征

Zabbix是一个高度集成的网络监控解决方案,在一个包中提供了多种功能。

Data gathering(数据聚集)

(1)可用性和性能检查

(2)支持SNMP(捕获和轮询),IPMI, JMX, VMware监控

(3)自定义检查

(4)收集所需的数据在自定义的时间间隔

(5)由服务器(server)/服务器代理(proxy)和代理服务器(agent)执行

Flexible threshold definitions(灵活的阈值定义)

可以定义非常灵活的问题阈值(称为触发器,trigger),从后端数据库引用值

Highly configurable alerting(高度可配置的提醒)

(1)可以为升级计划、收件人、媒体类型定制发送通知

(2)可以使用宏变量(macro variables)使通知变得有意义和有用

Real-time graphing(实时图形)

被监控的项可以使用内置的绘图功能立即绘图。

Web monitoring capabilities(网络监控能力)

Zabbix可以通过在网站上模拟鼠标点击的路径来检查功能和响应时间。

Historical data storage(历史数据存储)

(1)数据存储在数据库中

(2)可配置的历史

(3)内置管理程序

Network discovery(网络发现)

(1)自动发现网络设备

(2)代理人自对准

(3)文件系统、网络接口和SNMP oid的发现

Ready for complex environments(可以适应复杂环境)

通过使用Zabbix代理,远程监视变得很容易。

Binary daemons(二进制守护线程)

(1)用C编写,性能和内存占用小

(2)轻便的

Full featured and easily extensible agent(功能齐全,易于扩展的代理)

(1)部署在监控目标上

(2)可以同时部署在Linux和Windows上

Permissions system(权限系统)

(1)安全的用户身份验证

(2)某些用户可以被限制到某些视图

Zabbix API

Zabbix API为Zabbix提供可编程接口,用于大规模操作、第三方软件集成和其他目的。

Fast web interface(快速web界面)

(1)一个基于web的PHP前端

(2)审计日志

Use of templates(模板使用)

Easy configuration(简易配置)

(1)将监控设备添加为主机

(2)一旦进入数据库,主机就会被选中进行监视

(3)对监控设备应用模板

Extensive visualization options(可扩展的可视化选项)

(1)创建自定义图形的能力,可以将多个项目组合成一个视图

(2)网络图

(3)自定义屏幕和幻灯片显示的仪表板风格的概述

(4)报表

(5)被监视资源的高级(业务)视图

架构

Zabbix 主要有以下几个组件组成:

  • Zabbix Server:Zabbix 服务端,是 Zabbix 的核心组件。它负责接收Zabbix Agent发送的监控数据并触发告警,还负责将监控数据持久化到数据库中。

  • Zabbix Agent:Zabbix 客户端,部署在被监控设备上,负责采集监控数据,采集后的数据发送给 Zabbix Server 处理。

    Zabbix Agent 目前有两个版本:Zabbix agent 和 Zabbix agent 2。前者是 C 语言开发的,几乎支持所有的主流平台。而后者是 Go 开发的,优点包括:能有效降低 TCP 连接的数量;支持更高的并发;易于扩展。目标是替代 Zabbix agent ,目前只支持 Linux 和Windows 两个平台。

  • Zabbix Proxy:代替 Zabbix Server 接收Zabbix Agent发送的监控数据并进行预处理,预处理后的数据批量发送给 Zabbix Server,这样可减轻 Zabbix Server 的压力。

  • Web 页面:可通过 Web 页面来管理和维护被监控设备的配置信息、查看监控数据、配置告警等。

  • 数据库:负责存储被监控设备的配置信息和监控数据。支持的数据库有:MySQL(Percona,MariaDB),Oracle,PostgreSQL,TimescaleDB for PostgreSQL,SQLite。

版本要求

        Zabbix安装采用LAMP架构,LAMP具体如下:

Linux+Apache+MariaDB+PHP

各软件版本如下:

名称版本
Zabbix5.0 LTS
LinuxCentOS 7.4
MariaDB5.5.68
php7.2

Zabbix安装相关官方网址:

3 Installation from sourceshttps://www.zabbix.com/documentation/6.0/en/manual/installation/install

3 Installation from sourceshttps://www.zabbix.com/documentation/5.0/en/manual/installation/install 6 Web interface installationhttps://www.zabbix.com/documentation/5.0/en/manual/installation/frontend

Download and install ZabbixZabbix is being downloaded over 4 000 000 times every year for a reason. Download and install Zabbix for free and try it yourself!https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

Zabbix Official Repositoryhttps://repo.zabbix.com/

单机部署

将所有服务安装在同一个主机上,具体如下:

角色主机名IP系统

Zabbix Server

Zabbix Agent

MariaDB

Zabbix Web(Apache、PHP)

bigdata111192.168.128.111Linux

生产上:

(1)Zabbix Agent部署在需要被监控的主机上;

(2)Zabbix Server部署在单独的主机上,如果当前主机也需要被监控,同时部署Zabbix Agent即可

(3)MariaDB可以部署在单独的主机上。

(4)Zabbix Web和Zabbix Server通常部署在同一台主机上。

安装前

关闭防火墙

        执行如下两条Linux命令,永久关闭防护墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

注:

(1)查看防火墙状态

systemctl status firewalld.service

关闭SELinux

        执行如下两条命令,永久关闭SELinux:

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

注:如果未关闭selinux,zabbix安装后,zabbix的dashboard提示:zabbix server is not running the information displayed may not be current。

创建zabbix用户

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

安装MySQL 

        这里使用mariadb代替mysql。

yum install -y mariadb mariadb-server

 如图:

 启动mysql服务,并查看是否启动成功:

systemctl start mariadb.service
systemctl status mariadb.service

成功后如图:

开机自动启动:

systemctl enable mariadb

Zabbix安装

源码包

下载

       这里采用源码包方式安装,源码包官方下载地址:

Download and install ZabbixZabbix is being downloaded over 4 000 000 times every year for a reason. Download and install Zabbix for free and try it yourself!https://www.zabbix.com/download点击Zabbix Sources,选择需要的版本,如图:

 点击download,下载后包名zabbix-5.0.21.tar.gz。

上传

将源码压缩包上传到主机bigdata111上,如图:

解压

将压缩包解压到当前目录下(/root/tools),命令如下:

tar -zxvf zabbix-5.0.21.tar.gz -C /root/tools

 解压成功后,如图:

MySQL初始化

       登录mysql数据库,如图: 

创建名为zabbix的数据库,

create database zabbix character set utf8 collate utf8_bin;

创建成功后,如图:

再创建账号密码均为zabbix的用户,并分配权限。命令如下:

create user 'zabbix'@'%' identified by 'zabbix';
grant all privileges on zabbix.* to 'zabbix'@'%';

如图:

 进入bigdata111主机解压后的/root/tools/zabbix-5.0.21/database/mysql目录下,如图:

 将schema.sql,images.sql,data.sql三个文件依次被用来初始化zabbix数据库。

如下进入zabbix数据库: 

依次执行如下命令:

source /root/tools/zabbix-5.0.21/database/mysql/schema.sql;
source /root/tools/zabbix-5.0.21/database/mysql/images.sql;
source /root/tools/zabbix-5.0.21/database/mysql/data.sql;

Zabbix Server和Zabbix Agent安装

编译安装

首先安装依赖:

yum install gcc mysql-devel libevent-devel curl-devel libxml2-devel net-snmp-devel OpenIPMI-devel

进入zabbix源码目录:

cd /root/tools/zabbix-5.0.21

 配置server和agent:

./configure --prefix=/opt/zabbix-5.0.21 --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

--prefix=/opt/zabbix-5.0.21表示安装到/opt/zabbix-5.0.21目录下。 

如果只需要配置server,使用--enable-server,如果仅需要配置agent,使用 --enable-agent。

命令分别如下:

./configure --prefix=/opt/zabbix-5.0.21 --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
./configure --prefix=/opt/zabbix-5.0.21 --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

 配置成功后,如图:

 继续执行安装:

make install

没有error,就表示安装成功,日志如图: 

 安装成功后如图:

 

 目录结构如图:

 建立软链接(这一步不是必须的)

执行如下命令,为zabbix建立软链接

ln -s zabbix-5.0.21 zabbix

成功后,如图:

错误解决:

如果对应依赖包缺失,例如报错如下:

解决: yum install gcc mysql-devel

配置zabbix_server.conf

 关键参数的默认配置如下:

LogFile=/tmp/zabbix_server.log    # zabbix server的日志文件目录

# DBHost=localhost                      # 数据库所在主机的主机名

DBName=zabbix                          # 数据库名称

DBUser=zabbix                            # 数据库用户名

# DBPassword=                           # 数据库密码

# DBPort=                                     # 数据库端口

StatsAllowedIP=127.0.0.1             # 允许访问zabbix server的IP地址列表

也可以执行如下命令查看配置:

grep -Ev '^$|^#' /opt/zabbix/etc/zabbix_server.conf

如图:

 修改后如下:

LogFile=/opt/zabbix/log/zabbix_server.log    # zabbix server日志文件目录

DBHost=bigdata111                      # 数据库所在主机名

DBName=zabbix                          # 数据库名称

DBUser=zabbix                            # 数据库用户名

DBPassword=zabbix                          # 数据库密码

DBPort=3306                                     # 数据库端口

StatsAllowedIP=192.168.128.111             # 允许访问zabbix server的IP地址列表

配置好后,查看如图:

配置zabbix_agentd.conf

同样执行如下命令,可以查看配置:

grep -Ev '^$|^#' /opt/zabbix/etc/zabbix_agentd.conf

修改后如下:

LogFile=/opt/zabbix/log/zabbix_agentd.log    # Zabbix agent日志文件目录

Server=192.168.128.111                                # zabbix server主机IP地址

ServerActive=192.168.128.111                      # zabbix server主机地址,让server主动发现

Hostname=bigdata111                                   # zabbix agent 所在主机的主机名

配置服务脚本

这一步不是必须,主要为了方便启动zabbix。

进入源码包目录

如图:

 复制启动脚本到/etc/init.d目录下:

cp /root/tools/zabbix-5.0.21/misc/init.d/fedora/core5/zabbix_server /etc/init.d
cp /root/tools/zabbix-5.0.21/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d

 如图:

 /etc/init.d/zabbix_server脚本ZABBIX_BIN和CONFIG_FILE配置修改为:ZABBIX_BIN="/opt/zabbix/sbin/zabbix_server" CONFIG_FILE="/opt/zabbix/etc/zabbix_server.conf"
daemon $ZABBIX_BIN -c $CONFIG_FILE

如图:

  同样的,/etc/init.d/zabbix_agentd脚本ZABBIX_BIN和CONFIG_FILE配置修改为:

ZABBIX_BIN="/opt/zabbix/sbin/zabbix_agentd" CONFIG_FILE="/opt/zabbix/etc/zabbix_agentd.conf"

daemon $ZABBIX_BIN -c $CONFIG_FILE

如图:

启动 Zabbix Server 和 Zabbix Agent

service zabbix_server start
service zabbix_agentd start

 如图:

查看是否启动成功:

 如果需要开机启动,执行如下命令:

chkconfig zabbix_server on
chkconfig zabbix_agentd on

注:

如果启动报错:

[root@bigdata111 init.d]# service zabbix_server start
Reloading systemd:                                         [  OK  ]
Starting zabbix_server (via systemctl):  Job for zabbix_server.service failed because a configured resource limit was exceeded. See "systemctl status zabbix_server.service" and "journalctl -x
e" for details.                                                           [FAILED]
 

如图:

可能原因:

(1)SELinx未关闭

(2)日志目录没有权限

可以执行

journalctl -xe

具体查看日志。如图:

Mar 25 19:17:53 bigdata111 zabbix_server[1574]: zabbix_server [1583]: cannot open "/opt/zabbix/log/zabbix_server.log": [13] Permission denied
Mar 25 19:17:53 bigdata111 systemd[1]: zabbix_server.service never wrote its PID file. Failing.
Mar 25 19:17:53 bigdata111 systemd[1]: Failed to start SYSV: Zabbix Monitoring Server.
 

zabbix_service无法访问LogFile=/opt/zabbix/log/zabbix_agentd.log,执行如下命令:

chown -R zabbix:zabbix /opt/zabbix/log/

Zabbix Web 组件安装

安装php

        Zabbix 从 5.0 开始,要求 PHP 的版本不低于 7.2。但在 CentOS 7 中,yum 源中默认的是 版本较低。所以,这里需要安装额外的 epel 和 webtatic 源。

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php72w-cli php72w-common php72w-gd php72w-ldap php72w-mbstring php72w-mysqlnd php72w-xml php72w-bcmath mod_php72w -y

如果之前已经安装了较低版本php,可能会出现包冲突,例如报错如下:

Error: php72w-common conflicts with php-common-5.4.16-48.el7.x86_64
Error: php-mysql conflicts with php72w-mysqlnd-7.2.34-1.w7.x86_64

删除低版本的包即可:

yum remove php-mysql

yum remove php-common-5.4.16-48.el7.x86_64

修改php配置:

vi /etc/php.ini
配置改为:
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai

各参数最小配置参见:

6 Web interface installationhttps://www.zabbix.com/documentation/5.0/en/manual/installation/frontend

这里需要配置,否则web页面检查不通过。

安装apache

        在bigdata111主机上安装apache,命令如下:

yum install -y httpd

成功后,如图:

 启动:

systemctl start httpd

如图:

 查看是否启动成功,

systemctl status httpd.service

如图:

 如果需要开机自动启动,执行如下命令:

systemctl enable httpd

浏览器输入如下地址:

http://192.168.128.111/

如图:

 表示安装成功。

Web安装

创建zabbix目录,存放Web ui的php代码,如下:

mkdir -p /var/www/html/zabbix

将ui下的所有文件复制到zabbix目录下:

cp -r /root/tools/zabbix-5.0.21/ui/* /var/www/html/zabbix

目录属组修改(不配置web配置时会报错):

chown -R apache.apache /var/www/html/

然后在浏览器中输入访问地址:http://192.168.128.111/zabbix

成功后,如图:

 如果出现如下错误(500):

执行如下命令查看httpd日志:

tail -f /var/log/httpd/error_log

(1)可能是复制ui的时候,命令中丢失了-r,导致子目录未复制成功,报错如下:

[Fri Mar 25 20:04:50.008259 2022] [:error] [pid 891] [client 192.168.128.1:53456] PHP Fatal error:  require_once(): Failed opening required '/var/www/html/zabbix/include/classes/user/CWebUser
.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/zabbix/index.php on line 22

添加-r重新复制:

cp -r /root/tools/zabbix-5.0.21/ui/* /var/www/html/zabbix

(2)可能是php版本过低导致

报错如下:

PHP Parse error:  syntax error, unexpected ':', expecting ';' or '{' in /var/www/html/zabbix/include/classes
/user/CWebUser.php on line 267

升级版本到php7.2,执行php -v查看版本:

(3)可能是php升级版本后,httpd未重启

执行如下命令,重新启动httpd:

service httpd restart

如果页面已经正常打开,按如下步骤配置:

 预安装检查均OK,点击Next step,如图:

 正确配置数据库连接,如图:

 如果出现MySQL server gone away,如图:

 可以去掉将该页面的TLS加密勾选,如图:

 如果出现用户无法连接数据库,如图:

 

登录mysql,创建用户允许bigdata111访问:

 create user 'zabbix'@'bigdata111' identified by 'zabbix';

数据库配置完成后,点击Next step,如图:

 配置如下:

 点击Next step,如图:

 点击Next step,如果配置成功,如图:

点击Finish。 登录的默认登录用户名:Admin,密码:zabbix。

如果忘记密码:

 Incorrect user name or password or account is temporarily blocked.

在users表中重置:

 登录界面如下:

如果出现Zabbix server is running的value值是No,如图:

(1)检查details的IP地址是否填错。

(2)查看zabbix server是否正常启动:

 查看日志:

  1658:20220325:231108.039 [Z3001] connection to database 'zabbix' failed: [1129] Host 'bigdata111' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
  1658:20220325:231108.039 Cannot connect to the database. Exiting...

分布式部署

        具体如下:

角色主机名IP系统

Zabbix Server

Zabbix Agent

MariaDB

Zabbix Web(Apache、PHP)

bigdata111192.168.128.111Linux
Zabbix Agentbigdata112192.168.128.112Linux

关于bigdata111的安装参照单机部署模式。配置修改为:

bigdata111上zabbix_server.conf配置如下:

LogFile=/opt/zabbix/log/zabbix_server.log
DBHost=bigdata111
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=192.168.128.111,192.168.128.112

bigdata111上zabbix_agentd.conf配置如下:

LogFile=/opt/zabbix/log/zabbix_agentd.log
Server=192.168.128.111
ServerActive=192.168.128.111:10051
Hostname=bigdata111

Zabbix Agent安装

        将源码包上传到主机bigdata112上,并解压。

编译安装

首先安装依赖:

yum install gcc mysql-devel libevent-devel curl-devel libxml2-devel net-snmp-devel OpenIPMI-devel

进入zabbix源码目录:

cd /root/tools/zabbix-5.0.21

 执行如下命令,配置agent:

./configure --prefix=/opt/zabbix-5.0.21 --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

--prefix=/opt/zabbix-5.0.21表示安装到/opt/zabbix-5.0.21目录下。 

 继续执行安装:

make install

没有error,就表示安装成功。 

执行如下命令,为zabbix建立软链接(这一步不是必须的)

ln -s zabbix-5.0.21 zabbix

配置zabbix_agentd.conf

bigdata112上zabbix_agentd.conf配置如下:

LogFile=/opt/zabbix/log/zabbix_agentd.log
Server=192.168.128.111
ServerActive=192.168.128.111:10051
Hostname=bigdata112

Zabbix Web添加主机 

 

 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leboop-L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值