Zabbix 5.4.12 源码编译安装

安装环境及包名

服务器地址:                        192.168.1.10

操作系统:                            CentOS-7-x86_64-Minimal-2207-02.iso

Zabbix 版本:                        zabbix-5.4.12.tar.gz

MySQL 版本:                       mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz

Nginx 版本:                          nginx-1.22.1-1.el7.ngx.x86_64.rpm

PHP 版本:                            php74-php-fpm.x86_64        7.4.33-1.el7.remi        @remi-safe

Nginx 附属配置文件:            fastcgi.conf 、log-format.conf 、nginx.conf 、proxy.conf 、default.conf

字体文件:                             Dengb.ttf

链接:https://pan.baidu.com/s/1nZSenOtTMIDsajHgcrmWzw 
提取码:luwt

一、Zabbix 是什么?

        Zabbix 是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标。

二、将安装包上传到服务器并设置 remi 源

1. 将安装包上传到 zabbix 服务器,例如 /root 家目录,如下图

[root@localhost ~]# rz -be 包名以及Nginx的附属配置文件
[root@localhost ~]# ll
总用量 686876
-rw-------. 1 root root      1595 8月  31 23:32 anaconda-ks.cfg
-rw-r--r--  1 root root       570 12月  2 14:51 default.conf
-rw-r--r--  1 root root      1151 7月  27 2021 fastcgi.conf
-rw-r--r--  1 root root       689 10月 17 16:11 log-format.conf
-rw-r--r--  1 root root 678001736 11月 18 14:45 mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
-rw-r--r--  1 root root    816272 11月  7 15:38 nginx-1.22.1-1.el7.ngx.x86_64.rpm
-rw-r--r--  1 root root      1845 10月 17 16:39 nginx.conf
-rw-r--r--  1 root root       521 2月  27 2019 proxy.conf
-rw-r--r--  1 root root  24513065 11月 27 13:51 zabbix-5.4.12.tar.gz

[root@localhost ~]# ll Dengb.ttf 
-rw-r--r-- 1 root root 16218920 12月  4 2017 Dengb.ttf

# Nginx 附属配置文件:fastcgi.conf 、log-format.conf 、nginx.conf 、proxy.conf 、default.conf
# MySQL 安装包:mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
# Nginx 安装包:nginx-1.22.1-1.el7.ngx.x86_64.rpm
# Zabbix 安装包:zabbix-5.4.12.tar.gz
# 字体文件:Dengb.ttf

2. 修改 zabbix 主机名,设置主机名和IP地址映射,完成退出终端重进

[root@localhost ~]# hostnamectl set-hostname zabbix
[root@localhost ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10    zabbix
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@localhost ~]# exit
# 退出终端
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# 
# 再次进入终端,主机名已修改

3. 安装 PHP 的 remi 源

[root@zabbix ~]# yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm

......

已安装:
  remi-release.noarch 0:7.9-4.el7.remi                                                                                                                                

作为依赖被安装:
  epel-release.noarch 0:7-11                                                                                                                                          

完毕!
[root@zabbix ~]# 

三、安装 MySQL

1. 安装 MySQL 并设置环境变量

[root@zabbix ~]# yum -y install numactl

......

  正在安装    : numactl-2.0.12-5.el7.x86_64                                                                                                                       
  验证中      : numactl-2.0.12-5.el7.x86_64                                                                                                      

已安装:
  numactl.x86_64 0:2.0.12-5.el7
# 安装 MySQL 的依赖包
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# groupadd mysql
[root@zabbix ~]# useradd -g mysql -s /sbin/nologin mysql
# 创建 MySQL 用户和组
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# tar xf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz -C /var/lib
# 解压 MySQL 二进制包到 /var/lib 目录
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mv /var/lib/mysql-5.7.40-linux-glibc2.12-x86_64 /var/lib/mysql
# 将解压出来的目录改名为 mysql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# chown -R mysql.mysql /var/lib/mysql/
# 将 /var/lib/mysql 的下的所有文件和目录的所有者和所属组设置为 mysql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# echo "export PATH=$PATH:/var/lib/mysql/bin" >> /etc/profile
[root@zabbix ~]# source /etc/profile
# 设置环境变量,可直接使用 mysql 命令进行登录或其他操作
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.40, for linux-glibc2.12 (x86_64) using  EditLine wrapper
# 直接输入 mysql 命令可查看版本号,环境变量设置成功

2. 设置 MySQL 配置文件,启动 MySQL

[root@zabbix ~]# mkdir -p /mysql/{data,log,var,tmp}
[root@zabbix ~]# chown -R mysql.mysql /mysql
# 创建 MySQL 的数据目录和日志目录等,可自行根据需求配置 MySQL 的数据目录及其他目录
# 设置 /mysql 目录及子目录的所有者和所属组为 mysql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# vi /etc/my.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8mb4

[mysqld]
user = mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
pid_file = /mysql/var/mysql.pid
basedir = /var/lib/mysql
datadir = /mysql/data
tmpdir = /mysql/tmp
log-error = /mysql/log/mysql_error.log
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
max_connections = 2048
open_files_limit = 65535

[mysql]
default-character-set = utf8mb4
auto-rehash
# my.cnf 可自行根据需求配置,以上是基础 my.cnf 配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mysqld --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/mysql/data
# 初始化 MySQL ,执行完会在 /mysql/data 生成数据文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# cat /mysql/log/mysql_error.log
......
2022-12-02T07:55:32.637301Z 1 [Note] A temporary password is generated for root@localhost: N#mZvOBfd0fg
# 查看 mysql_error.log 文件,查询 MySQL 的初始密码,初始密码为:N#mZvOBfd0fg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mysqld_safe &
[1] 12445
[root@zabbix ~]# 2022-12-02T08:03:40.784749Z mysqld_safe Logging to '/mysql/log/mysql_error.log'.
2022-12-02T08:03:40.806466Z mysqld_safe Starting mysqld daemon with databases from /mysql/data
# 启动 MySQL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# netstat -tlunp | grep 3306 
tcp6       0      0 :::3306                 :::*                    LISTEN      12658/mysqld
# 查看 3306 端口,MySQL 已启动

3. 登录 MySQL,创建 zabbix 数据库,将 MySQL 启动添加到 systemd 管理

[root@zabbix ~]# mysql -uroot -p
Enter password: 
# 登录 MySQL ,输入日志里的初始密码:N#mZvOBfd0fg

mysql> ALTER USER 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
# 修改 MySQL 的 root 密码为:123456 ,正式环境请设置复杂密码

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 授权 root 用户以密码 123456 远程连接,正式环境请设置复杂密码

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
# 创建 zabbix 数据库,默认字符集为 UTF8,排序方式为 UTF8

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)
# 创建用户 zabbix,密码 zabbix,对 zabbix 数据库有完整的权限,正式环境请设置复杂密码

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 刷新权限

mysql> quit
Bye
# 退出 MySQL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mysqladmin -uroot -p shutdown
Enter password: 
# 关闭 MySQL 服务,输入修改后的密码:123456
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# vi /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/var/lib/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=infinity
# 添加 systemd 管理,新增 mysqld.service 配置文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# systemctl daemon-reload
[root@zabbix ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@zabbix ~]# systemctl start mysqld
# 重新加载配置文件,设置 MySQL 开机自启并启动 MySQL ,可用 start|stop|restart 操作 MySQL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# netstat -tlunp | grep 3306 
tcp6       0      0 :::3306                 :::*                    LISTEN      12754/mysqld
# 端口已重新启动

四、安装 Nginx 和 PHP,并测试连通性

1. 安装 Nginx ,将 Nginx 附属配置文件覆盖安装后的源文件,Nginx 端口为 9200,可自行修改 Nginx 的端口。

[root@zabbix ~]# yum -y install nginx-1.22.1-1.el7.ngx.x86_64.rpm
......
已安装:
  nginx.x86_64 1:1.22.1-1.el7.ngx
作为依赖被安装:
  pcre2.x86_64 0:10.23-2.el7

# 安装 nginx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
配置文件目录:/etc/nginx/
PID目录:/var/run/nginx.pid
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
默认站点目录:/usr/share/nginx/html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# mv fastcgi.conf /etc/nginx/
[root@zabbix ~]# mv proxy.conf /etc/nginx/
[root@zabbix ~]# mv log-format.conf /etc/nginx/
[root@zabbix ~]# mv nginx.conf /etc/nginx/
mv:是否覆盖"/etc/nginx/nginx.conf"? y
[root@zabbix ~]# mv default.conf /etc/nginx/conf.d/
mv:是否覆盖"/etc/nginx/conf.d/default.conf"? y

# 将 nginx 的附属配置文件覆盖安装后的源文件,default.conf 设置 9200 端口,可自行修改端口
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@zabbix ~]# systemctl start nginx
# 设置 Nginx 开机自启并启动 Nginx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# netstat -tlunp | grep nginx
tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN      12938/nginx: master
# 查看 Nginx 端口,9200 端口已开启

2. 安装 PHP

[root@zabbix ~]# yum -y install php74.x86_64 php74-php-gd.x86_64 php74-php-mysqlnd.x86_64 php74-php-bcmath.x86_64 php74-php-mbstring.x86_64 php74-php-xml.x86_64 php74-php-ldap.x86_64 php74-php-fpm.x86_64

# 安装 PHP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# vi /etc/opt/remi/php74/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
date.timezone = Asia/Shanghai

# 修改 php.ini 配置文件,设置时区等信息,设置为上面的配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# systemctl enable php74-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php74-php-fpm.service to /usr/lib/systemd/system/php74-php-fpm.service.
[root@zabbix ~]# systemctl start php74-php-fpm

# 设置 php74-php-fpm 开机自启并启动 php74-php-fpm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# netstat -tlunp | grep php
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      13140/php-fpm: mast

# 查看端口,PHP 9000 端口已开启

3. 测试 Nginx 、PHP 、MySQL 连通性

[root@zabbix ~]# vi /usr/share/nginx/html/index.php
<?php
phpinfo()
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# vi /usr/share/nginx/html/mysql.php
<?php
$link=mysqli_connect('zabbix','root','123456');
if($link) echo "<h1>Success!!</h1>";
 else echo "Fail!!";
mysql_close();

# 添加 index.php 和 mysql.php 配置文件,测试 Nginx 、MySQL 与 PHP 连通性

浏览器输入:

http://192.168.1.10:9200/index.php        出现下面的截图,说明 Nginx 和 PHP 已连通

浏览器输入:

http://192.168.1.10:9200/mysql.php        出现下面的截图,说明 MySQL 和 PHP 连通

五、安装配置 Zabbix 服务端和客户端

1. 安装配置 zabbix 服务端、安装 zabbix 客户端

[root@zabbix ~]# yum install -y gcc gcc-c++ libxml2-devel net-snmp-devel libevent-devel libcurl-devel mysql-devel
# 安装依赖包
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# tar xf zabbix-5.4.12.tar.gz 
[root@zabbix ~]# cd zabbix-5.4.12
[root@zabbix zabbix-5.4.12]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
[root@zabbix zabbix-5.4.12]# make install

# 解压 zabbix-5.4.12.tar.gz 并编译安装,编译安装过程中若有报错,需安装对应的依赖包
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix zabbix-5.4.12]# useradd zabbix -s /sbin/nologin -M
# 创建 zabbix 账户,zabbix 账户不用登录,因此设置 nologin

[root@zabbix zabbix-5.4.12]# cp -af ui /usr/local/zabbix/
[root@zabbix zabbix-5.4.12]# mkdir /usr/local/zabbix/log
[root@zabbix zabbix-5.4.12]# mkdir /usr/local/zabbix/pid
# 将 zabbix 页面拷贝到 /usr/local/zabbix/ 目录
# 新建 log 和 pid 目录,存放日志和 pid 文件

[root@zabbix zabbix-5.4.12]# chown zabbix.zabbix -R /usr/local/zabbix
# 将 /usr/local/zabbix 目录及下属目录及文件的所有者和所属组设置为 zabbix

[root@zabbix zabbix-5.4.12]# ll /usr/local/zabbix
总用量 4
drwxr-xr-x  2 zabbix zabbix   62 12月  2 17:33 bin
drwxr-xr-x  4 zabbix zabbix  114 12月  2 17:33 etc
drwxr-xr-x  3 zabbix zabbix   21 12月  2 17:33 lib
drwxr-xr-x  2 zabbix zabbix    6 12月  2 17:38 log
drwxr-xr-x  2 zabbix zabbix    6 12月  2 17:38 pid
drwxr-xr-x  2 zabbix zabbix   48 12月  2 17:33 sbin
drwxr-xr-x  4 zabbix zabbix   31 12月  2 17:33 share
drwxr-xr-x 12 zabbix zabbix 4096 4月   4 2022 ui
# 需要保证 /usr/local/zabbix 目录里的 ui、pid、log、share 四个目录的权限为 755
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix zabbix-5.4.12]# cd database/mysql/
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.

# 进入 database/mysql/ 目录,使用 zabbix 账户导入数据
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix mysql]# vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/log/zabbix_server.log
PidFile=/usr/local/zabbix/pid/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock

# 设置 zabbix 服务端的日志、pid 存放路径,以及设置连接数据库的相关信息
# DBHost 如果 zabbix 数据库不在本机填写远程 MySQL 服务器的 IP 地址,本例设置 localhost
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix mysql]# vi /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/pid/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

# 将 zabbix 服务端添加 systemd 管理,可使用 start|stop|restart 启动停止 zabbix 服务端
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix mysql]# echo "/var/lib/mysql/lib/" >> /etc/ld.so.conf
[root@zabbix mysql]# ldconfig
[root@zabbix mysql]# systemctl daemon-reload
[root@zabbix mysql]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@zabbix mysql]# systemctl start zabbix-server

# 将 MySQL 的 lib 目录添加到 /etc/ld.so.conf 并执行 ldconfig ,否则启动时可能找不到 libmysqlclient.so.20
# 重新加载配置,添加 zabbix 服务端开机自启并启动 zabbix 服务端
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix mysql]# netstat -tlunp | grep zabbix_server
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      1814/zabbix_server  
tcp6       0      0 :::10051                :::*                    LISTEN      1814/zabbix_server
# 查看端口,zabbix 服务端的 10051 端口已开启
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix mysql]# vi /etc/nginx/conf.d/default.conf
root  /usr/local/zabbix/ui;

[root@zabbix mysql]# systemctl restart nginx
# 修改 Nginx 配置文件,将 zabbix 主页路径替换 Nginx 的默认路径,并重启 Nginx

2. 打开浏览器,输入 http://192.168.1.10:9200/zabbix 进入设置页面

 默认语言选择中文,可根据自己需求更改语言,点“下一步”

 必要条件检测,全部 OK ,继续点“下一步”

数据库端口填写:3306

密码填写 zabbix 数据库的密码:zabbix

继续“下一步”

 Name 填写描述,例如填写:xx系统或平台监控,继续点“下一步”

这一步保持默认即可,继续点“下一步” 

信息汇总,继续点“下一步”

 点“1.下载配置文件”,将配置文件 zabbix.conf.php 下载到自己的 Windows 电脑上

[root@zabbix mysql]# cd /usr/local/zabbix/ui/conf/
[root@zabbix conf]# rz -be

# 进入 /usr/local/zabbix/ui/conf/ 目录,将下载下来的 zabbix.conf.php 文件上传到这个目录下
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix conf]# ll
总用量 12
drwxr-xr-x 2 zabbix zabbix    6 4月   4 2022 certs
-rw-r--r-- 1 zabbix zabbix 1036 4月   4 2022 maintenance.inc.php
-rw-r--r-- 1 root   root   1670 12月  2 21:53 zabbix.conf.php
-rw-r--r-- 1 zabbix zabbix 1638 4月   4 2022 zabbix.conf.php.example
[root@zabbix conf]# chown zabbix.zabbix zabbix.conf.php
[root@zabbix conf]# ll zabbix.conf.php
-rw-r--r-- 1 zabbix zabbix 1670 12月  2 21:53 zabbix.conf.php
# 上传到 /usr/local/zabbix/ui/conf/ 目录后,将这个文件的所有者和所属组修改为 zabbix

继续点击“完成”,出现下图:

最后再次点击“完成”,进入输入用户名和密码的界面,如下图:

用户名称:Admin

密码:zabbix

第一次进去,默认密码就是:zabbix,进入后再修改为复杂密码

 点击“登录”进入 zabbix 主页面,zabbix 服务端安装完毕

 3. 配置 zabbix 客户端

[root@zabbix conf]# vi /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/usr/local/zabbix/pid/zabbix_agentd.pid
LogFile=/usr/local/zabbix/log/zabbix_agentd.log
EnableRemoteCommands=1
Server=192.168.1.10
ServerActive=192.168.1.10
Hostname=192.168.1.10

# 设置 zabbix 客户端的日志、pid 文件存放路径,打开允许执行远程命令功能(根据自身需求是否开启)
# Server 设置为 zabbix 服务器 IP 地址:192.168.1.10
# ServerActive(主动提交方式)设置为 zabbix 服务器 IP 地址:192.168.1.10
# Hostname 设置 zabbix 客户端 IP 地址,本机是:192.168.1.10,其他服务器设置为:192.168.1.xx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix conf]# vi /usr/lib/systemd/system/zabbix-agentd.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
User=zabbix
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/pid/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

# 将 zabbix 客户端添加 systemd 管理,可使用 start|stop|restart 启动停止 zabbix 客户端
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix conf]# systemctl daemon-reload
[root@zabbix conf]# systemctl enable zabbix-agentd
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agentd.service to /usr/lib/systemd/system/zabbix-agentd.service.
[root@zabbix conf]# systemctl start zabbix-agentd

# 重新加载配置文件,将 zabbix 客户端设置开机自启并启动 zabbix 客户端
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix conf]# netstat -tlunp | grep zabbix_agentd  
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2015/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      2015/zabbix_agentd

# 查看端口,zabbix 客户端 10050 端口已开启
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix conf]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9200            0.0.0.0:*               LISTEN      1905/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      898/sshd            
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2015/zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      1814/zabbix_server  
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      894/php-fpm: master 
tcp6       0      0 :::22                   :::*                    LISTEN      898/sshd            
tcp6       0      0 :::10050                :::*                    LISTEN      2015/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      1814/zabbix_server  
tcp6       0      0 :::3306                 :::*                    LISTEN      893/mysqld

# 查看最终所有服务端口
# MySQL:3306    Nginx:9200    PHP:9000    zabbix 服务端:10051    zabbix 客户端:10050

 4. 解决图形中文字符乱码问题

[root@zabbix ~]# mv Dengb.ttf /usr/local/zabbix/ui/assets/fonts/
[root@zabbix ~]# vi /usr/local/zabbix/ui/include/defines.inc.php

define('ZBX_GRAPH_FONT_NAME',           'Dengb'); // font file name

# 将字体文件移动到 /usr/local/zabbix/ui/assets/fonts/ 目录
# 修改 defines.inc.php 配置文件
# 第 78 行,将 DejaVuSans 修改为 Dengb ,修改完成后保存退出即可

图形已正常显示中文

总结

以上就是今天要讲的内容,本文介绍了zabbix 最新 5.4.12 版本的编译安装,以及使用 Nginx 作为 web 页面展示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 CentOS 7 上安装 MySQL 和编译安装 Zabbix 的步骤: 1. 安装 MySQL 首先,安装 MySQL 数据库,在终端中执行以下命令: ``` sudo yum install mysql-server -y ``` 2. 启动 MySQL 安装完成后,启动 MySQL 服务: ``` sudo systemctl start mysqld ``` 3. 设置 MySQL root 密码 设置 MySQL 的 root 用户的密码: ``` sudo mysql_secure_installation ``` 4. 创建 zabbix 数据库 使用 MySQL 的 root 用户登录到 mysql: ``` sudo mysql -u root -p ``` 输入密码后,进入 mysql 命令行模式,创建 zabbix 数据库: ``` CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; ``` 5. 创建 zabbix 用户和授权 创建 zabbix 用户并设置密码: ``` CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password'; ``` 将 zabbix 用户授权给 zabbix 数据库: ``` GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; ``` 刷新权限: ``` FLUSH PRIVILEGES; ``` 6. 安装编译 Zabbix 下载 Zabbix 源代码: ``` wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.0.tar.gz ``` 解压缩: ``` tar zxvf zabbix-5.0.0.tar.gz ``` 进入目录: ``` cd zabbix-5.0.0 ``` 安装依赖: ``` sudo yum install -y gcc make cmake automake autoconf libtool libevent-devel openssl-devel ``` 编译安装: ``` ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 make install ``` 7. 配置 Zabbix 创建 Zabbix 配置文件: ``` sudo cp /usr/local/etc/zabbix_server.conf.example /usr/local/etc/zabbix_server.conf ``` 编辑 zabbix_server.conf 文件,更改以下几行: ``` DBName=zabbix DBUser=zabbix DBPassword=password ``` 8. 启动 Zabbix Server 启动 Zabbix Server: ``` sudo /usr/local/sbin/zabbix_server -c /usr/local/etc/zabbix_server.conf ``` 9. 启动 Zabbix Agent 启动 Zabbix Agent: ``` sudo /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf ``` 10. 访问 Zabbix 使用浏览器访问 Zabbix Web 界面,输入 IP 地址或域名: ``` http://your-ip-address/zabbix ``` 按照界面指引完成安装。 以上是在 CentOS 7 上安装 MySQL 和编译安装 Zabbix 的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值