关于Zabbix:LNMP-方式部署-zabbix-50

文章链接

Zabbix 5.0 LTS新增性能

新版本附带了可用性,安全性和完整性方面的重大改良列表。Zabbix团队遵循的次要策略是使Zabbix尽可能可用。Zabbix是一种开源,收费的监督解决方案,当初能够在外部和云中部署。在RedHat / IBM,SuSE,Ubuntu的最新版本的平台,容器和Linux发行版中可用。当初,一键式Zabbix部署也能够在Azure,AWS,Google Cloud,IBM / RedHat Cloud,Oracle和Digital Ocean上应用。当初,在Red Hat和Azure市场上提供Zabbix技术支持服务。

此外,Zabbix监督工具还提供了与Messenger,票务和警报系统的大量现成集成。新版本扩大了能够轻松监控的受反对服务和应用程序的列表。

  • 自动化和发现:新的Zabbix版本具备改良的自动化性能。新版本减少了主动发现硬件组件,与Windows相干的资源以及Java度量的高级发现的性能。
  • 可扩展性:Zabbix UI曾经过优化,能够简化对数百万个设施的监督。
  • 新的Zabbix监督代理程序具备“官网反对”状态。新的可扩大代理为最刻薄的客户和简单的用例提供了高级性能。它基于插件体系结构,具备应用各种办法和技术收集度量规范数据的能力。咱们置信它是市场上最先进的监控代理。
  • 安全性方面的重大改良:新的改良确保所有Zabbix组件以平安的形式进行通信,并且还应用平安协定进行出站通信,而不会以任何形式影响性能。对于在高度敏感的环境中应用Zabbix的用户而言,可配置的明码以及为度量定义黑名单和白名单的能力至关重要。
  • TimescaleDB的压缩:工夫序列数据压缩有助于进步性能和效率,同时升高经营老本。
  • 可用性改良:新版本针对宽屏进行了优化,除了Zabbix UI的其余加强性能之外,还引入了对第三方UI模块的反对。
    Zabbix 5.0是具备5年官网反对的LTS(长期反对)版本。它联合了翻新和稳定性,并包含通过工夫测验的性能,这些性能已在Zabbix 4.2和4.4的非LTS版本中引入,这使其成为大型企业环境的现实抉择。

    硬件配置需要

参考 zabbix 5.0 中文手册

环境 平台 CPU/内存 数据库 硬盘 监控主机数
小型 centOS 2CPU/1GB MySQL、InnoDB 一般 100
中型 centOS 2CPU/2GB MySQL、InnoDB 一般 500
大型 Red HatEnterpirse Linux 4CPU/8GB MySQL、InnoDB 或PostgreSQL RAID 10 或 SSD 大于1000
超大型 Red HatEnterpirse Linux 8CPU/16GB MySQL、InnoDB 或PostgreSQL RAID 10 或 SSD 大于10000

前端软件需要

参考 zabbix 5.0 中文手册

Zabbix 前端须要应用下列软件:

软件 版本 备注
Apache 1.3.12 或以上
PHP 5.4.0 或以上

PHP 扩大库:

软件 版本 备注
gd 2.0 or later PHP GD 扩大库必须反对 PNG 图像(–with-png-dir)、JPEG 图像 (–with-jpeg-dir) 和 FreeType 2 (–with-freetype-dir).
bcmath php-bcmath (–enable-bcmath)
ctype php-ctype (–enable-ctype)
libXML 2.6.15 或以上 php-xml or php5-dom,如果发布者提供独立的部署包。
xmlreader php-xmlreader,如果发布者提供独立的部署包。
xmlwriter php-xmlwriter,如果发布者提供独立的部署包。
session php-session,如果发布者提供独立的部署包。
sockets php-net-socket (–enable-sockets) 。用户脚本反对所须要的组件。
mbstring php-mbstring (–enable-mbstring)
gettext php-gettext (–with-gettext)。用于多语言翻译反对。
ldap php-ldap。只有在前端应用 LDAP 认证时才须要。
ibm_db2 应用 IBM DB2 作为 Zabbix 后端数据库所须要的组件。
mysqli 应用 MySQL 作为 Zabbix 后端数据库所须要的组件。
oci8 应用 Oracle 作为 Zabbix 后端数据库所须要的组件。
pgsql 应用 PostgreSQL 作为 Zabbix 后端数据库所须要的组件。

环境筹备

CentOS Linux release 7.9.2009 (Core)
nginx 1.16.1
zabbix-server 5.0.14
zabbix-agent  5.0.14
MariaDB 5.5.68
PHP 7.4.22

敞开防火墙及selinux

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

批改阿里云yum源

参考链接

# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载新的CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 增加EPEL
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 清理缓存并生成新的缓存
yum clean all
yum makecache

PHP 7.4 装置配置

增加源

yum install epel-release -y
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

装置PHP

yum --enablerepo=remi install php74-php -y

装置你所须要php扩大模块

yum --disablerepo="*" --enablerepo="centos-sclo-rh" install rh-php72-php-gd rh-php72-php-bcmath rh-php72-php-mbstring rh-php72-php-mysqlnd rh-php72-php-xml rh-nginx116-nginx rh-php72 rh-php72-php-fpm rh-php72-php-ldap -y

装置其余依赖

装置zabbix报错,提醒Requires: libiksemel.so.3()(64bit),该文件为内核链接文件,无奈绕过只有解决了这个依赖才可能持续装置,解决的办法为缺什么补什么,它要这个就给它。

# 提醒 须要:Requires: libiksemel.so.3()(64bit) 
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//iksemel-1.4-6.sdl7.x86_64.rpm
yum install iksemel-1.4-6.sdl7.x86_64.rpm -y
# 提醒 须要:libwebp.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libwebp-0.3.0-7.el7.src.rpm
yum install libwebp -y
# 提醒 须要:libjpeg.so.62()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libjpeg-turbo-1.2.90-8.el7.src.rpm
yum install libjpeg-turbo -y
# 提醒 须要:libXpm.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libXpm-3.5.12-1.el7.src.rpm
yum install libXpm -y
# 提醒 须要:gd
wget http://vault.centos.org/7.9.2009/updates/Source/SPackages/gd-2.0.35-27.el7_9.src.rpm
yum install gd -y

批改配置文件

sed -i "s#max_execution_time = 30#max_execution_time = 600#g" /etc/php.ini
sed -i "s#max_input_time = 60#max_input_time = 600#g" /etc/php.ini
sed -i "s#memory_limit = 128M#memory_limit = 256M#g" /etc/php.ini
sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
sed -i "s#upload_max_filesize = 2M#upload_max_filesize = 16M#g" /etc/php.ini
sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini

运行并查看版本, 重启命令, 增加主动启动,链接php文件

#运行并查看版本
php74 -v
#重启命令php-fpm
systemctl restart php74-php-fpm
#增加主动启动
systemctl enable php74-php-fpm
#查看php7.4的装置门路
whereis php
#链接php文件
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php

装置其余依赖

装置zabbix报错,提醒Requires: libiksemel.so.3()(64bit),该文件为内核链接文件,无奈绕过只有解决了这个依赖才可能持续装置,解决的办法为缺什么补什么,它要这个就给它。

# 提醒 须要:Requires: libiksemel.so.3()(64bit) 
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//iksemel-1.4-6.sdl7.x86_64.rpm
yum install iksemel-1.4-6.sdl7.x86_64.rpm -y
# 提醒 须要:libwebp.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libwebp-0.3.0-7.el7.src.rpm
yum install libwebp -y
# 提醒 须要:libjpeg.so.62()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libjpeg-turbo-1.2.90-8.el7.src.rpm
yum install libjpeg-turbo -y
# 提醒 须要:libXpm.so.4()(64bit)
wget http://vault.centos.org/7.9.2009/os/Source/SPackages/libXpm-3.5.12-1.el7.src.rpm
yum install libXpm -y
# 提醒 须要:gd
wget http://vault.centos.org/7.9.2009/updates/Source/SPackages/gd-2.0.35-27.el7_9.src.rpm
yum install gd -y

zabbix 服务装置

装置 Zabbix 存储库

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

装置 Zabbix 服务器和代理

yum install zabbix-server-mysql zabbix-agent -y

装置 zabbix 前端

yum -y install yum-utils   
yum-config-manager --enable rhel-server-rhscl-7-rpms -y

编辑配置文件

编辑配置文件 /etc/yum.repos.d/zabbix.repo 并启用Zabbix 前端存储库

vi /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...

装置前端所需软件

yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y

数据库装置配置

装置数据库

yum install -y mariadb-server mariadb

启动服务

systemctl start mariadb

设置服务开启自启动

systemctl enable mariadb

登录数据库

mysql -uroot -p
批改默认明码
mysql> SET PASSWORD = PASSWORD('cnsre.cn');
#cnsre.cn是你的新密码

如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢?

# 批改validate_password_policy参数的值
set global validate_password_policy=0; 
# 再批改明码的长度
set global validate_password_length=1;
# 再次执行批改明码就能够了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'cnsre.cn';
# 容许root远程登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cnsre.cn' WITH GRANT OPTION;

创立初始数据库

在数据库主机上运行以下代码

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit;

导入模板数据

导入初始架构和数据
办法1

 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p

办法2

# 切换到 create.sql.gz 目录 我的目录如下
cd /usr/share/doc/zabbix-server-mysql-5.0.14
gzip  -d create.sql.gz
mysql -uroot -p
mysql> use zabbix;
mysql> source /usr/usr/share/doc/zabbix-server-mysql-5.0.14/create.sql

配置Zabbix-server

mv /etc/zabbix/zabbix_server.conf  /etc/zabbix/zabbix_server.conf.bak
vim /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=1024M
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

配置zabbix-agent

mv /etc/zabbix/zabbix_agent.conf  /etc/zabbix/zabbix_agent.conf.bak
vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=
ListenPort=10050
ServerActive=
Hostname=
Include=/etc/zabbix/zabbix_agentd.d/

nginx 装置配置

为 Zabbix 前端配置 PHP

编辑文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf,勾销正文和设置 listenserver_name 指令。

# listen 80;
# server_name example.com;

编辑文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf ,将 nginx 增加到 listen.acl_users 指令。

listen.acl_users = apache,nginx

而后勾销正文并为设置正确的时区。

php_value[date.timezone] = Asia/Shanghai

启动所有服务

systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl status  zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm 

查看端口

[root@localhost ~]# netstat  -pntl 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      18862/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      968/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1258/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      18816/zabbix_agentd 
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      18813/php-fpm: mast 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      18700/mysqld        
tcp6       0      0 :::80                   :::*                    LISTEN      18862/nginx: master 
tcp6       0      0 :::22                   :::*                    LISTEN      968/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1258/master         
tcp6       0      0 :::10050                :::*                    LISTEN      18816/zabbix_agentd 

拜访配置 zabbix 前端

连贯到新装置的Zabbix前端: http://server_ip

⚠️ 如果关上页面拜访不到 zabbix 页面,将 /etc/opt/rh/rh-nginx116/nginx/nginx.conf 配置文件中的 server 模块正文掉重启即可
维|自动化运维|云计算|运维监控](https://gitee.com/xsre/Images…)





默认的用户 Admin/zabbix
好了,到这里,咱们就曾经实现了Zabbix 5.0 LTS 的装置,快去体验吧。
文章链接

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理