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#mZvOBfd0fgmysql> 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,排序方式为 UTF8mysql> 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.confPidFile=/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.phpdefine('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 页面展示。
Zabbix 5.4.12 源码编译安装相关推荐
- zabbix源码编译安装以及添加第一台host监控
基础准备 硬件需求 数据库需求 软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系统 ...
- postgresql 12.0 源码编译安装
postgresql 12.0 源码编译安装 1.安装相关软件包 su - root yum install -y cmake gcc gcc-c++ perl readline readline-d ...
- mono和monodevelop源码编译安装
之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...
- mysql+PHP源码编译安装
mysql源码编译安装 环境redhat6.5 安装依赖包: yum install cmake-2.8.12.2-4.el6.x86_64.rpm gcc-c++ ncurses-devel gcc ...
- 源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注
推荐一个简书作者写的从零开始学习Linux,非常细,授人以鱼不如授人以渔. https://www.jianshu.com/p/54c0e6a1da99 正文:看一下服务器的版本 cat /proc/ ...
- linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0
为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...
- LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用
LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...
- LNMP架构环境搭建之mysql源码编译安装
Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...
最新文章
- 基于CAP模型设计企业级真正高可用的分布式锁
- 12v电流表的正确接法_难点分析 | 电表的内外接法
- python 十进制与二进制以及位运算
- qt.pro转成vs程序
- 详解MRS CDL整体架构设计
- select for update作用
- 你的个人信息真的被偷走了?——那些过分“精准”的广告推荐的背后
- Ubuntu安装报错E: Could not get lock /var/lib/dpkg/lock-frontend
- oracle系统AP对应的凭证编号,AP主要账户及会计分录
- 剑指offer python版 剪绳子
- 计算机专业答辩网站怎么保证安全性,答辩(计算机专业答辩题目选集)
- C语言 | 进制转换
- Cisco Packet Tracer---链路聚合简单配置
- 禅宗公案 艾舍尔的画与哥德尔定理——哥德尔逻辑与哲学之2
- win10电脑部分软件不能连接网络,只有QQ和微信可以连接网络,浏览器不能上网
- 高质量 Go 进阶图书,它来了
- 计算机实战项目、毕业设计、课程设计之[含论文+辩论PPT+源码等]微信小程序社区疫情防控+后台管理|前后分离VUE[包运行成功
- Dubbo项目消费者调用提供者报cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
- R 语言 apply 系列函数
- 简明图解冯·诺依曼计算机体系