欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zabbix 5.0全网监控搭建(LNMP版本)

程序员文章站 2022-06-08 14:26:17
...

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>

Zabbix 5.0全网监控搭建(LNMP版本)

发现页面打不开,不要慌,我们看下日志

[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

再次刷新浏览器,问题解决

Zabbix 5.0全网监控搭建(LNMP版本)

接下来,点击Next step

Zabbix 5.0全网监控搭建(LNMP版本)

这里有几个警告,我们处理下

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 

Zabbix 5.0全网监控搭建(LNMP版本)

干干净净,这下舒服了

继续点击Next step

Zabbix 5.0全网监控搭建(LNMP版本)

到这里,我们先等一等,先安装下数据库和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:最后的安装

继续访问浏览器

Zabbix 5.0全网监控搭建(LNMP版本)

下一步

Zabbix 5.0全网监控搭建(LNMP版本)

继续下一步

Zabbix 5.0全网监控搭建(LNMP版本)

继续下一步

Zabbix 5.0全网监控搭建(LNMP版本)

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

Zabbix 5.0全网监控搭建(LNMP版本)

初始的用户是Admin,密码zabbix(注意大小写)

登录成功之后的页面

Zabbix 5.0全网监控搭建(LNMP版本)

这个web界面和之前的版本变化很大

关于zabbix 5.0的其他使用技巧,后续再更新

原文链接:https://mp.weixin.qq.com/s/K4A1WA4zyGzZwvO1JO_vBw