Zabbix 5.0全网监控搭建(LNMP版本)老男孩Linux培训
老男孩IT教育
行业新闻
2020年11月2日 15:26
centos7基于lnmp架构安装zabbix 5.0,Zabbix 5.0全网监控搭建(LNMP版本)
centos7基于lnmp架构安装zabbix 5.0
zabbix 5.0 版本于2020年 5 月 11 日正式发布,是最新的 LTS(长期支持)版本,5.0 带来很多功能和特性,接下来,我们先把它部署上
1.环境要求
一个软件刚刚更新发布新版本没多久,这时候不要去百度搜索什么的,资料很少的,我们直接去看官方文档,你想要的官方文档里都有,我们先看看官方文档上 zabbix 5.0的安装要求
REQUIRED SOFTWARE
Zabbix is built around modern web servers, leading database engines, and PHP scripting language.
DATABASE MANAGEMENT SYSTEM
| Software | Version | Comments |
| MySQL | 5.5.62 - 8.0.x | Required if MySQL is used as Zabbix backend database. InnoDB engine is required. MariaDB (10.0.37 or later) also works with Zabbix. We recommend using the MariaDB Connector/C[1] library for building server/proxy regardless of whether you use a MySQL or MariaDB database server. |
| Oracle | 11.2 or later | Required if Oracle is used as Zabbix backend database. |
| PostgreSQL | 9.2.24 or later | Required if PostgreSQL is used as Zabbix backend database. It is suggested to use at least PostgreSQL 8.3, which introduced much better VACUUM performance[2]. |
| TimescaleDB | 1.0 or later, OSS (free) version | Required if TimescaleDB is used as Zabbix backend database. |
| SQLite | 3.3.5 or later | SQLite is only supported with Zabbix proxies. Required if SQLite is used as Zabbix proxy database. |
FRONTEND
The minimum supported screen width for Zabbix frontend is 1200px.
| Software | Version | Comments |
| Apache | 1.3.12 or later | |
| PHP | 7.2.0 or later | |
| PHP extensions: | ||
| gd | 2.0.28 or later | PHP GD extension must support PNG images (--with-png-dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir). |
| bcmath | php-bcmath (--enable-bcmath) | |
| ctype | php-ctype (--enable-ctype) | |
| libXML | 2.6.15 or later | php-xml, if provided as a separate package by the distributor. |
| xmlreader | php-xmlreader, if provided as a separate package by the distributor. | |
| xmlwriter | php-xmlwriter, if provided as a separate package by the distributor. | |
| session | php-session, if provided as a separate package by the distributor. | |
| sockets | php-net-socket (--enable-sockets). Required for user script support. | |
| mbstring | php-mbstring (--enable-mbstring) | |
| gettext | php-gettext (--with-gettext). Required for translations to work. | |
| ldap | php-ldap. Required only if LDAP authentication is used in the frontend. | |
| openssl | php-openssl. Required only if SAML authentication is used in the frontend. | |
| mysqli | Required if MySQL is used as Zabbix backend database. | |
| oci8 | Required if Oracle is used as Zabbix backend database. | |
| pgsql | Required if PostgreSQL is used as Zabbix backend database. |
注意:以上内容来自于zabbix官方文档
从这段资料中可以看出,zabbix 5.0最大的变化,就是php版本要求 7.2以上,而centos7的默认源php版本是5.4,所以这里我们就要使用第三方php的yum源了
2:安装php 7.2以及zabbix 所需的php扩展模块
安装php第三方源
yum install epel-release.noarch -yrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装nginx、php7.2和所需php扩展模块
yum install nginx php72w-cli php72w-fpm php72w-common php72w-mysqlnd php72w-mbstring php72w-gd php72w-bcmath php72w-ldap php72w-xml -y
注意:webtatic源在国外,容易失败
修改php的配置文件
vim /etc/php-fpm.d/www.conf user = apachegroup = apache修改为user = nginxgroup = nginx
修改nginx的配置文件
vim /etc/nginx/nginx.confworker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /html; index index.php index.html index.htm; } location ~ \.php$ { root /html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; include fastcgi_params; } }}
启动nginx和php-fpm
systemctl start nginxsystemctl enable nginxsystemctl start php-fpmsystemctl enable php-fpm
3:安装zabbix-web
cd /opt/#下载源码包wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.4.tar.gztar xf zabbix-5.0.4.tar.gzmkdir /html#拷贝zabbix-web到站点目录cp -a zabbix-5.0.4/ui/* /html#修改站点目录属主和属组chown -R nginx:nginx /html
使用浏览器访问http://<你的ip>

发现页面打不开,不要慌,我们看下日志
[root@zabbix-5 opt]# cat /var/log/nginx/error.log 2020/10/08 10:29:01 [error] 12403#0: *1 FastCGI sent in stderr: "PHP message: PHP Warning: session_start(): open(/var/lib/php/session/sess_f8b4d79c68b0ec44a225bd3419783d60, O_RDWR) failed: No such file or directory (2) in /html/include/classes/core/CSession.php on line 45PHP message: PHP Warning: session_start(): Failed to read session data: files (path: /var/lib/php/session) in /html/include/classes/core/CSession.php on line 45PHP message: PHP Fatal error: Uncaught Exception: Cannot start session. in /html/include/classes/core/CSession.php:46Stack trace:#0 /html/setup.php(66): CSession::start()#1 {main} thrown in /html/include/classes/core/CSession.php on line 46" while reading response header from upstream, client: 192.168.2.8, server: localhost, request: "GET /setup.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.2.121"
从这段日志分析来看,php执行函数session_start出错,原因是没有目录/var/lib/php/session
[root@zabbix-5 opt]# ls /var/lib/php/sessionls: cannot access /var/lib/php/session: No such file or directory#这里可以发现,确实没有这个目录
解决方法:mkdir /var/lib/php/sessionchown -R nginx:nginx /var/lib/php/session
再次刷新浏览器,问题解决

接下来,点击Next step

这里有几个警告,我们处理下
vim /etc/php.inipost_max_size = 8M修改为post_max_size = 16M
max_execution_time = 30修改为max_execution_time = 300
max_input_time = 60修改为max_input_time = 300
;date.timezone =去掉注释,并修改为date.timezone = Asia/Shanghai
#重启php-fpm,并刷新浏览器systemctl restart php-fpm.service

干干净净,这下舒服了
继续点击Next step

到这里,我们先等一等,先安装下数据库和zabbix-server
4:安装zabbix-server
安装数据库
yum install mariadb-server.x86_64 -y systemctl start mariadb.service systemctl enable mariadb.service #建议执行下mysql_secure_installation
#为zabbix创库授权[root@zabbix-5 opt]# mysql -uroot -pEnter password:
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by '123456';Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> quit
安装zabbix-server
rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmyum install zabbix-server-mysql -y#导入zabbix初始数据文件zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz |mysql -uzabbix -p123456 zabbix
修改zabbix-server配置
vim /etc/zabbix/zabbix_server.conf#配置下数据库的连接信息DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=123456
启动zabbix-server
systemctl start zabbix-server.service systemctl enable zabbix-server.service
#检查zabbix-server启动情况[root@zabbix-5 opt]# netstat -lntup|grep 10051tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13190/zabbix_server tcp6 0 0 :::10051 :::* LISTEN 13190/zabbix_server
5:最后的安装
继续访问浏览器

下一步

继续下一步

继续下一步

点击完成,会自动跳转到登陆页面

初始的用户是Admin,密码zabbix(注意大小写)
登录成功之后的页面

这个web界面和之前的版本变化很大
关于zabbix 5.0的其他使用技巧,后续再更新
References
[1] MariaDB Connector/C: https://downloads.mariadb.org/connector-c/
[2] introduced much better VACUUM performance: https://www.postgresql.org/docs/8.3/static/release-8-3.html
老男孩教育专注IT教育10余年,只培养IT技术精英
全国免费咨询电话(渠道合作):400-609-2893











