安装环境及包名
服务器地址: 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 是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标。
[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
[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 ~]#
# 再次进入终端,主机名已修改
[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 ~]#
[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 命令可查看版本号,环境变量设置成功
[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 已启动
[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
# 端口已重新启动
[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 端口已开启
[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 端口已开启
[root@zabbix ~]# vi /usr/share/nginx/html/index.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@zabbix ~]# vi /usr/share/nginx/html/mysql.php
Success!!";
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 连通
[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
默认语言选择中文,可根据自己需求更改语言,点“下一步”
数据库端口填写: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 服务端安装完毕
[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
[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 页面展示。