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 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. |
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 -y
rpm -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 = apache
group = apache
修改为
user = nginx
group = nginx
修改nginx的配置文件
vim /etc/nginx/nginx.conf
worker_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 nginx
systemctl enable nginx
systemctl start php-fpm
systemctl enable php-fpm
3:安装zabbix-web
cd /opt/
#下载源码包
wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.4.tar.gz
tar xf zabbix-5.0.4.tar.gz
mkdir /html
#拷贝zabbix-web到站点目录
cp -a zabbix-5.0.4/ui/* /html
#修改站点目录属主和属组
chown -R nginx:nginx /html
使用浏览器访问http://<你的ip>
发现页面打不开,不要慌,我们看下日志
[aaa@qq.com 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 45
PHP 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 45
PHP message: PHP Fatal error: Uncaught Exception: Cannot start session. in /html/include/classes/core/CSession.php:46
Stack 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
[aaa@qq.com opt]# ls /var/lib/php/session
ls: cannot access /var/lib/php/session: No such file or directory
#这里可以发现,确实没有这个目录
解决方法:
mkdir /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session
再次刷新浏览器,问题解决
接下来,点击Next step
这里有几个警告,我们处理下
vim /etc/php.ini
post_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创库授权
[aaa@qq.com opt]# mysql -uroot -p
Enter 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 aaa@qq.com 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.rpm
yum 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=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
启动zabbix-server
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
#检查zabbix-server启动情况
[aaa@qq.com opt]# netstat -lntup|grep 10051
tcp 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的其他使用技巧,后续再更新
原文链接:https://mp.weixin.qq.com/s/K4A1WA4zyGzZwvO1JO_vBw