IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> CentOS 7+Zabbix 5.0LTS+PHP7.2安装详解(保姆级) -> 正文阅读

[PHP知识库]CentOS 7+Zabbix 5.0LTS+PHP7.2安装详解(保姆级)

目录

Zabbix简介

版本要求

?部署

安装前

关闭防火墙

关闭SELinux

创建zabbix用户

安装MySQL?

Zabbix安装

源码包

下载

上传

解压

MySQL初始化

Zabbix Server和Zabbix Agent安装

编译安装

配置zabbix_server.conf

配置zabbix_agentd.conf

配置服务脚本

启动 Zabbix Server 和 Zabbix Agent

安装 Web 组件

安装php

安装apache

Web安装


Zabbix简介

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

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

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

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

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

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

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

版本要求

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

LAMP:Linux+Apache+MariaDB+PHP

各软件版本如下:

Zabbix5.0 LTS
LinuxCentOS 7.4
MariaDB5.5.68
php7.2

相关官方网址:

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/apache/phpbigdata111192.168.128.111Linux

安装前

关闭防火墙

? ? ? ? 执行如下两条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目录下。?

配置成功后,如图:

?继续执行安装:

make install

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

?安装成功后如图:

?

?目录结构如图:

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

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

ln -s zabbix-5.0.21 zabbix

成功后,如图:

错误解决:

报错如下:

解决:
yum install gcc mysql-devel

报错如下:

?解决:

yum install gcc libxml2-devel

报错如下:

解决:

yum install gcc net-snmp-devel

?报错:

?解决:

yum install gcc OpenIPMI-devel

?报错如下:

?解决:

yum install gcc libevent-devel

报错如下:

?解决:

yum install gcc?curl-devel

配置zabbix_server.conf

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

LogFile=/tmp/zabbix_server.log? ? # 日志文件目录

# 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? ? # 日志文件目录

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? ? # 日志文件目录

Server=192.168.128.111? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # zabbix server所在IP地址

ServerActive=192.168.128.111? ? ? ? ? ? ? ? ? ? ? # zabbix?

Hostname=bigdata111

配置服务脚本

这一步不是必须,主要为了方便启动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/

安装 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...

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:02:46  更:2022-03-30 18:05:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 7:32:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码