一、环境解释
本文中利用本地VM虚机支配测试。
OS:CentOS 7.8 (3.10.0-1160.15.2.el7.x86_64)

IP:192.168.168.103
虚机配置:2核CPU、4G内存
注:①系统为最小化安装,支配前已完成系统初始化、内核及安全优化;
②Iptables防火墙已启用,相应做事(如Nginx)端口已添加至Iptables防火墙干系规则中。
软件解释:
5.2版本的安装须要PHP 7.2.x以上版本,且不支持PHP 8.0版本,官方解释:
https://www.zabbix.com/documentation/current/manual/installation/requirements#required_software
软件
版本号
安装路径
nginx
1.20.1
/usr/local/nginx
php
7.4.20
/usr/local/php
mysql
5.7.34
/usr/local/mysql
zabbix
5.2.6
/usr/local/zabbix
JDK
1.8.0_291
/usr/local/jdk
目录解释:
目录
用场
/data/tools
存放软件源码安装包
/data/logs
Nginx做事及Zabbix做事日志目录
/data/www
Zabbix做事web前端页面孔录
本文中省略NGINX/PHP/MySQL/JDK安装过程,关于NGINX/PHP/MySQL安装过程可参照本人之前发布的文章。
CentOS7下编译安装Nginx-v1.20.0:
https://www.toutiao.com/i6961593096903705092/
MySQL系列-二进制包安装(v5.7.34):
https://www.toutiao.com/i6955761888323961381/
CentOS7编译安装php-7.4.16:
https://www.toutiao.com/i6947278581865366052/
特殊解释:源码编译安装PHP7.4.20时,configure配置时不要添加"--enable-gd-jis-conv",经本人测试,此参数影响后续将zabbix做事WEB界面设置为中文时会涌现乱码。就算按照本文中末了步骤中的设置也无法正常显示中文。
二、配置MySQL
## 创建Zabbix数据库
CREATE DATABASE db_zabbix default charset utf8 collate utf8_bin;
## 创建Zabbix用户及授权
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON db_zabbix. to 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456'; FLUSH PRIVILEGES;
三、安装Zabbix
1.安装依赖
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum -y install gcc gcc-c++ unixODBC-devel \mysql-devel libcurl libcurl-devel \libevent libevent-devel fping curl-devel \libxml2 libxml2-devel net-snmp-devel net-snmp
2.创建Zabbix用户组及用户
groupadd zabbixuseradd -g zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
3.下载源码
cd /data/toolswget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz
4.解压编译安装
tar xf zabbix-5.2.6.tar.gzcd zabbix-5.2.6./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \--with-mysql --with-net-snmp --with-libcurl --with-libxml2 \--with-unixodbc --enable-java --enable-ipv6make && make install## 变动Zabbix安装目录和文件属主属组chown -R zabbix.zabbix /usr/local/zabbix/
## 参数解释:
--prefix=/usr/local/zabbix:指定zabbix安装路径--enable-server:启动server端--enable-agent:启动agent端--with-mysql:编译连接mysql干系依赖包--with-net-snmp:启动snmp干系,用于snmp监控设备--with-libcurl:启动curl干系--with-libxml2:启动xml干系--with-unixodbc:启动odbc干系用于监控数据库--enable-java:启动java-agent 用于监控java类,须要安装JAVA环境--enable-ipv6:启用IPv6
5.修正配置文件
## 创建日志目录
mkdir -p /data/logs/zabbix
## 修正目录权限
chown -R zabbix.zabbix /data/logs/zabbix
## 修正server配置文件,配置数据库连接等
cd /usr/local/zabbix/etc/cp zabbix_server.conf zabbix_server.conf.bakvi zabbix_server.conf //找到如下对应的属性项进行修正LogFile=/data/logs/zabbix/zabbix_server.logPidFile=/data/logs/zabbix/zabbix_server.pidDBHost=127.0.0.1DBName=db_zabbixDBUser=zabbixDBPassword=123456DBSocket=/usr/local/mysql/mysql.sockDBPort=3306AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
## 修正agent配置文件
cp zabbix_agentd.conf zabbix_agentd.conf.bakvi zabbix_agentd.conf//找到如下对应的属性项进行修正PidFile=/data/logs/zabbix/zabbix_agentd.pidLogFile=/data/logs/zabbix/zabbix_agentd.logServer=127.0.0.1ServerActive=127.0.0.1Hostname=Zabbix ServerInclude=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
6.配置Zabbix做事管理脚本
## 复制管理脚本
cd /data/tools/zabbix-5.2.6/cp misc/init.d/tru64/{zabbix_agentd,zabbix_server} /etc/init.d/
## 添加脚本实行权限
chmod o+x /etc/init.d/zabbix_
## 修正启动脚本中PID文件路径
sed -i "s#PIDFILE=/tmp/zabbix_server.pid#PIDFILE=/data/logs/zabbix/zabbix_server.pid#g" /etc/init.d/zabbix_serversed -i "s#PIDFILE=/tmp/zabbix_agentd.pid#PIDFILE=/data/logs/zabbix/zabbix_agentd.pid#g" /etc/init.d/zabbix_agentd
## 建立软链接
ln -s /usr/local/zabbix/sbin/zabbix_ /usr/local/sbin/ln -s /usr/local/zabbix/bin/zabbix_ /usr/local/bin/
注:若不创建软链接,则需修正脚本中的DAEMON路径,指向zabbix安装目录路径。
7.导入数据
## 登录数据库mysql -uroot -p## 切换至zabbix库use db_zabbix;## 导入数据(表构造、图片干系数据、模版干系数据)source /data/tools/zabbix-5.2.6/database/mysql/schema.sql;source /data/tools/zabbix-5.2.6/database/mysql/images.sql;source /data/tools/zabbix-5.2.6/database/mysql/data.sql;
8.启动zabbix-server及zabbix-agent
/etc/init.d/zabbix_server start/etc/init.d/zabbix_agentd start
四、配置WEB站点
1.拷贝前端文件
mkdir -p /data/www/zabbixcd /data/tools/zabbix-5.2.6/cp -a ui/ /data/www/zabbix/chown -R nginx.nginx /data/www/zabbix
2.配置PHP
①修正php-fpm.conf配置文件
vi /usr/local/php/etc/php-fpm.conf//下列参数仅供参考[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.loglog_level = notice[www]listen = 127.0.0.1::9000listen.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = nginxlisten.group = nginxlisten.mode = 0666user = nginxgroup = nginxpm = dynamicpm.max_children = 10pm.start_servers = 5pm.min_spare_servers = 5pm.max_spare_servers = 10request_terminate_timeout = 300request_slowlog_timeout = 15slowlog = var/log/slow.log
注:用户组及用户nginx为NGINX做事和PHP做事运行用户,安装做事前创建。
②修正php.ini配置文件
sed -i 's/post_max_size = 8M/post_max_size = 20M/g' /etc/php.inised -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php.inised -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.inised -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php.inised -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.inised -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.inised -i 's/disable_functions =./disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /etc/php.ini
③启动php-fpm
systemctl start php-fpm.service
3.添加zabbix虚拟主机配置文件
vi /usr/local/nginx/conf/vhost/zabbix.conf//添加如下内容,仅供参考server{ listen 80; server_name 192.168.168.103; root /data/www/zabbix; index index.php index.html index.htm; access_log /data/logs/nginx/zabbix.log json; location ~ \.php(.)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/zabbix/$fastcgi_script_name; include fastcgi_params; } location ~ .\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 15d; } location ~ .\.(js|css)?$ { expires 1d; }}
## 启动Nginx
systemctl start nginx.service
五、支配WEB站点
1.进入欢迎界面
在浏览器中打开:http://IP/setup.php 本文中IP为192.168.168.103,
选择默认措辞,可以选择"Chines(zh_CN)",此处保持默认,安装完成后再调度为中文界面。点击"Next step"开始安装。
2.检讨先决条件
确保知足所有软件先决条件。如下图所示,下拉滚动条,检讨所有软件是否都是"OK"。若没有涌现error,即可点击"Next step"(涌现 “Warning”可忽略也可先修复)
详细请参照官方解释:
https://www.zabbix.com/documentation/current/manual/installation/frontend
3.配置数据库连接
Database type:选择数据库类型,本文中利用的是MySQL,因此保持默认即可。Database host:选择数据库的主机,可以指定主机名或者是IP地址,根据实际情形填写即可。本文中web做事器和数据库支配在同一个节点,且授权用户也是仅许可本地127.0.0.1访问,因此该项值改为127.0.0.1。Database port:指天命据库的连接端口,默认值为0,表示利用默认值,以MySQL为例,默认值自然是3306。Database name:指天命据库的名称,默认值为zabbix,根据实际情形填写。本文中数据库名为db_zabbix。User:指定连接数据库的用户名,默认值为zabbix,根据实际情形填写。本文中用户名为zabbix。Password:指定连接数据库的密码,强烈建议不要利用官方默认的密码,而是自定义一个安全度比较高的,生产环境中建议用类似于密码天生器之类的工具定期改换用户名密码。4.Zabbix做事用具体信息
Host:指定zabbix server的主机名或者IP地址,默认值为localhost,由于web做事器和zabbix server支配在一起,因此localhost这个默认值也可以不修正。Port:指定zabbix server的端口,默认值为10051,这个是zabbix server进程的默认端口,利用默认值即可。Name:这个Name实在便是给zabbix server起一个名字,当然也可以不填,默认值该当和Host同名。本文中自定义了一个名称,名为"Test Monitor"。5.GUI用户界面设置
Default time zone:默认时区,根据实际情形选择,本文中保持默认。Default theme:默认主题样式,根据实际情形选择,本文中保持默认。6.安装前择要
检讨配置参数。如果统统正常,则“Next step”,否则“Back”变动配置参数。
7.完成安装
如下图所示,前端安装成功。安装成功的同时,会创建一个"/data/www/zabbix/conf/zabbix.conf.php"配置文件,该文件记录了刚刚安装zabbix前端时定义的配置信息。感兴趣可以登录zabbix web做事器进行查看。
8.登录zabbix前端页面
如下图所示。默认用户名:Admin,密码:zabbix
9.Zabbix前端首页
登录后的默认首页界面,可按右上角的“Edit Dashboard”编辑首页,调度仪表板显示位置及删除不须要显示的仪表板。
六、大略配置
1.修正WEB管理员的默认密码
## WEB页面左侧边栏,点击"Use settings"
## 点击"Change password"修正密码
## 输入2次新密码,并点击"Update"按钮更新密码
## 用户信息更新成功,如下图所示。
2.修正界面措辞为中文
## WEB页面左侧边栏,点击"Use settings"→“User”→“Language”,从下拉列表中选择“Chinese(zh_CN)”
## 点击"Update"按钮更新设置
## 更新成功后,页面即为中文
## 但查看监控数据页面创造涌现乱码(方框),如下图所示
## 问题的缘故原由是zabbix默认的字体文件不支持中文,以是中笔墨符的显示成了乱码。查看zabbix的web目录下include/defines.inc.php文件中对付字体的定义:
## 可以看到zabbix利用了自己定义的字体文件,而没有利用linux的系统字体。路径位于web目录下的assets/fonts目录。
## 办理方法:我们可以从windows的字体目录下或者从互联网获取黑体的字体文件simhei.ttf,windows下的字体文件位于:C:\Windows\Fonts 。将字体文件通过sftp上传到做事器上zabbix的web目录下assets/fonts目录内。然后把黑体的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf
cd /data/www/zabbix/assets/fontsmv DejaVuSans.ttf DejaVuSans.ttf.bak ln -sf simhei.ttf DejaVuSans.ttf
## 刷新页面之后,中笔墨体显斧正常