此安装文档是我一步一步的验证过的,按步骤来可以顺畅的安成ZABBIX6.4的部署。
Zabbix 主要有以下几个组件组成:
Zabbix Server6.4: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
————————————————
操作系统:centeros7.9
zabbix Server 6.4
zabbix Agent 6.0.12
mysql8.0.32
nginx 1.22.1
php 7.4.0
部署环境
准备好centeros 7.9操作系统,此系统需要访问互联网
#配置网卡IP:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
------
BOOTPROTO=“static”
IPADDR=10.160.5.220
NETMASK=255.255.255.0
GATEWAY=10.160.5.254
DNS1=114.114.114.114
------
#重启网卡服务
service network restart
#关闭系统防火墙
systemctl stop firewalld
systemctl disable firewalld
#修改配置文件:
vi /etc/selinux/config
SELINUX=disabled
一、Mysql8.0.32 部署
#下载
cd /usr/local/src/
yum install wget //如果wget不能使用请使用yum安装
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#解压
mkdir mysql-8.0.32
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.32
#忽略依赖检查强制安装,因为捆绑包里已经带依赖了,所以只要全部安装就可以,检查的话分先后顺序很麻烦的
cd mysql-8.0.32
rpm -ivh mysql-community-* --force --nodeps
#创建数据存储目录
mkdir -p /data/mysql
chown mysql:mysql /data/mysql
#修改配置文件
vi /etc/my.cnf
------
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
port=3306
lower_case_table_names=1
max_connections=500
innodb_force_recovery=0
------
重启系统或mysql服务
#启动数据库
#先查看libaio包是否有安装(安装了则不用管,未安装可能出现启动失败缺包的情况)
#我这里使用的是aliyun的yum源(需要的可以在文档最底部查看)
yum install libaio
systemctl enable mysqld
systemctl start mysqld
#启动失败的话可以查看日志 /var/log/mysqld.log
#获取密码登录Mysql
cat /var/log/mysqld.log | grep password
#登陆,输入密码
mysql -uroot -p
#修改密码
alter user 'root'@'localhost' identified by 'P@ssw0rd1234';
flush privileges;
@@@降低mysql密码设置等级,可选配置@@@
#密码检查等级,0/LOW、1/MEDIUM、2/STRONG
mysql> set global validate_password.policy=0;
#密码的最短长度
mysql> set global validate_password.length=6;
#密码至少要包含的小写字母个数和大写字母个数
mysql> set global validate_password.mixed_case_count=0;
@@@
#创建zabbix数据库
create database zabbix character set utf8 collate utf8_bin;
#创建用户(指定使用的身份验证插件)
create user 'zabbix'@'localhost' identified with mysql_native_password by 'Zabbix@123';
grant all privileges on zabbix.* to 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
flush privileges;
二、nginx 1.22.1部署
#安装nginx
rpm -ivh http://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/pcre2-10.23-2.el7.x86_64.rpm
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.22.1-1.el7.ngx.x86_64.rpm
mkdir /data/web
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
#配置nginx配置文件
vi /etc/nginx/conf.d/zabbix.conf
------
server {
listen 80;
server_name localhost;
root /data/web;
location / {
index index.php index.html index.htm;
}
location ~ .php$ {
#root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
------
#启动服务
systemctl enable nginx
systemctl start nginx
三、PHP7.4.0 部署
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install php74
较少安装(建议):
yum -y install gcc gcc-c++ php74-php-cli php74-php-fpm php74-php-gd php74-php-mbstring php74-php-bcmath php74-php-xml php74-php-mysqlnd php74-php-ldap
较多安装(如果需要PHP更多功能选这个):
yum -y install php74-php-bcmath php74-php-cli php74-php-common php74-php-devel php74-php-embedded php74-php-fpm php74-php-gd php74-php-intl php74-php-mbstring php74-php-mysqlnd php74-php-opcache php74-php-pdo php74-php-pear php74-php-pecl-igbinary php74-php-pecl-memcached php74-php-process php74-php-xml
#修改php配置文件
vi /etc/opt/remi/php74/php.ini
------
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
------
#创建php测试页
cd /data/web/
vi index.php
------
phpinfo();
?>
------
#启动
systemctl enable php74-php-fpm
systemctl start php74-php-fpm
#输入ZABBIX IP地址查看网页是否能打开,网页能打开则为正常
http://10.160.5.220
四、zabbix-server 部署
#创建用户
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
#下载安装
cd /usr/local/src
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.14.tar.gz
tar -xf zabbix-6.0.14.tar.gz
cd /usr/local/src/zabbix-6.0.14
#安装依赖
yum -y install mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
#编译安装
export CFLAGS="-std=gnu99"
./configure --sysconfdir=/etc/zabbix --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
make install
#修改配置文件
vi /etc/zabbix/zabbix_server.conf
------
12:ListenPort=10051
38:LogFile=/tmp/zabbix_server.log
87:DBHost=localhost
99:DBName=zabbix
115:DBUser=zabbix
123:DBPassword=Zabbix@123
507:Timeout=4
593:LogSlowQueries=3000
708:StatsAllowedIP=127.0.0.1
------
#向数据库中导入zabbix的库表及数据(注意导入的顺序)
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/schema.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/images.sql
mysql -uzabbix -pZabbix@123 zabbix < /usr/local/src/zabbix-6.0.14/database/mysql/data.sql
#移动zabbix前端页面到网站根目录
cp -rp /usr/local/src/zabbix-6.0.14/ui/* /data/web/
y
#配置zabbix系统启停命令(注意这个文件是新增的)
vi /usr/lib/systemd/system/zabbix.service
------
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
------
#安装fping
yum install fping
#安装ZABBIX AGENT
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-agent-6.0.12-release1.el7.x86_64.rpm?spm=a2c6h.25603864.0.0.4a7e7a10yQa5Nh
systemctl start zabbix-agent
systemctl enable zabbix-agent
systemctl status zabbix-agent
配置文件路径 vi /etc/zabbix/zabbix_agentd.conf,如果是同一台服务器则无须修改
------
13:PidFile=/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
117:Server=10.160.5.220
171:ServerActive=127.0.0.1
182:Hostname=Zabbix server
323:Include=/etc/zabbix/zabbix_agentd.d/*.conf
------
#启动服务
systemctl daemon-reload
systemctl enable zabbix
systemctl start zabbix
五、zabbix-server 初始化部署
初始化链接
http://10.160.5.220/setup.php
输入服务器IP,按步骤进行部署
需要将配置文件复制到 /data/web/conf/zabbix.conf.php
安装完成
#解决ZABBIX6.0中文乱码的问题
将windows的 C:\Windows\Fonts 路径下将楷体的ttf文件复制到linux的 /data/web/assets/fonts 目录下
输入命令将楷体修改为默认字体
sed -i 's/DejaVuSans/simkai/g' /data/web/include/defines.inc.php