Zabbix 5.0 LTS新增功能
新版本附帶了可用性,安全性和完整性方面的重大改進(jìn)列表用爪。Zabbix團隊遵循的主要策略是使Zabbix盡可能可用兰吟。Zabbix是一種開源喳逛,免費的監(jiān)視解決方案湿颅,現(xiàn)在可以在內(nèi)部和云中部署艘虎。在RedHat / IBM斋射,SuSE症概,Ubuntu的最新版本的平臺蕾额,容器和Linux發(fā)行版中可用。現(xiàn)在彼城,一鍵式Zabbix部署也可以在Azure诅蝶,AWS,Google Cloud募壕,IBM / RedHat Cloud调炬,Oracle和Digital Ocean上使用。現(xiàn)在舱馅,在Red Hat和Azure市場上提供Zabbix技術(shù)支持服務(wù)缰泡。
此外,Zabbix監(jiān)視工具還提供了與Messenger代嗤,票務(wù)和警報系統(tǒng)的大量現(xiàn)成集成棘钞。新版本擴展了可以輕松監(jiān)控的受支持服務(wù)和應(yīng)用程序的列表。
- 自動化和發(fā)現(xiàn):新的Zabbix版本具有改進(jìn)的自動化功能干毅。新版本增加了自動發(fā)現(xiàn)硬件組件宜猜,與Windows相關(guān)的資源以及Java度量的高級發(fā)現(xiàn)的功能。
- 可擴展性:Zabbix UI已經(jīng)過優(yōu)化硝逢,可以簡化對數(shù)百萬個設(shè)備的監(jiān)視姨拥。
- 新的Zabbix監(jiān)視代理程序具有“官方支持”狀態(tài)。新的可擴展代理為最苛刻的客戶和復(fù)雜的用例提供了高級功能趴捅。它基于插件體系結(jié)構(gòu)垫毙,具有使用各種方法和技術(shù)收集度量標(biāo)準(zhǔn)數(shù)據(jù)的能力霹疫。我們相信它是市場上最先進(jìn)的監(jiān)控代理拱绑。
- 安全性方面的重大改進(jìn):新的改進(jìn)確保所有Zabbix組件以安全的方式進(jìn)行通信,并且還使用安全協(xié)議進(jìn)行出站通信丽蝎,而不會以任何方式影響性能猎拨。對于在高度敏感的環(huán)境中使用Zabbix的用戶而言膀藐,可配置的密碼以及為度量定義黑名單和白名單的能力至關(guān)重要。
- TimescaleDB的壓縮:時間序列數(shù)據(jù)壓縮有助于提高性能和效率红省,同時降低運營成本额各。
- 可用性改進(jìn):新版本針對寬屏進(jìn)行了優(yōu)化,除了Zabbix UI的其他增強功能之外吧恃,還引入了對第三方UI模塊的支持虾啦。
Zabbix 5.0是具有5年官方支持的LTS(長期支持)版本。它結(jié)合了創(chuàng)新和穩(wěn)定性痕寓,并包括經(jīng)過時間檢驗的功能,這些功能已在Zabbix 4.2和4.4的非LTS版本中引入,這使其成為大型企業(yè)環(huán)境的理想選擇溜在。
硬件配置需求
環(huán)境 | 平臺 | CPU/內(nèi)存 | 數(shù)據(jù)庫 | 硬盤 | 監(jiān)控主機數(shù) |
---|---|---|---|---|---|
小型 | 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 前端需要使用下列軟件:
軟件 | 版本 | 備注 |
---|---|---|
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元践,如果發(fā)布者提供獨立的部署包韭脊。 |
xmlreader | php-xmlreader,如果發(fā)布者提供獨立的部署包单旁。 | |
xmlwriter | php-xmlwriter乾蓬,如果發(fā)布者提供獨立的部署包。 | |
session | php-session慎恒,如果發(fā)布者提供獨立的部署包任内。 | |
sockets | php-net-socket (--enable-sockets) 。用戶腳本支持所需要的組件融柬。 | |
mbstring | php-mbstring (--enable-mbstring) | |
gettext | php-gettext (--with-gettext)死嗦。用于多語言翻譯支持。 | |
ldap | php-ldap粒氧。只有在前端使用 LDAP 認(rèn)證時才需要越除。 | |
ibm_db2 | 使用 IBM DB2 作為 Zabbix 后端數(shù)據(jù)庫所需要的組件。 | |
mysqli | 使用 MySQL 作為 Zabbix 后端數(shù)據(jù)庫所需要的組件外盯。 | |
oci8 | 使用 Oracle 作為 Zabbix 后端數(shù)據(jù)庫所需要的組件摘盆。 | |
pgsql | 使用 PostgreSQL 作為 Zabbix 后端數(shù)據(jù)庫所需要的組件。 |
環(huán)境準(zhǔn)備
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
關(guān)閉防火墻及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)孩擂,該文件為內(nèi)核鏈接文件,無法繞過只有解決了這個依賴才可能繼續(xù)安裝箱熬,解決的方法為缺什么補什么类垦,它要這個就給它狈邑。
# 提示 需要: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)砰琢,該文件為內(nèi)核鏈接文件蘸嘶,無法繞過只有解決了這個依賴才可能繼續(xù)安裝,解決的方法為缺什么補什么陪汽,它要這個就給它亏较。
# 提示 需要: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 服務(wù)安裝
安裝 Zabbix 存儲庫
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
安裝 Zabbix 服務(wù)器和代理
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
數(shù)據(jù)庫安裝配置
安裝數(shù)據(jù)庫
yum install -y mariadb-server mariadb
啟動服務(wù)
systemctl start mariadb
設(shè)置服務(wù)開啟自啟動
systemctl enable mariadb
登錄數(shù)據(jù)庫
mysql -uroot -p
修改默認(rèn)密碼
mysql> SET PASSWORD = PASSWORD('cnsre.cn');
#cnsre.cn是你的新密碼
如何解決ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢?
# 修改validate_password_policy參數(shù)的值
set global validate_password_policy=0;
# 再修改密碼的長度
set global validate_password_length=1;
# 再次執(zhí)行修改密碼就可以了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'cnsre.cn';
# 允許root遠(yuǎn)程登陸
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cnsre.cn' WITH GRANT OPTION;
創(chuàng)建初始數(shù)據(jù)庫
在數(shù)據(jù)庫主機上運行以下代碼
# 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;
導(dǎo)入模板數(shù)據(jù)
導(dǎo)入初始架構(gòu)和數(shù)據(jù)
方法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
掩缓,取消注釋和設(shè)置 listen
和 server_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
然后取消注釋并為設(shè)置正確的時區(qū)巡通。
php_value[date.timezone] = Asia/Shanghai
啟動所有服務(wù)
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
模塊注釋掉重啟即可
默認(rèn)的用戶 Admin/zabbix
好了舍哄,到這里宴凉,我們就已經(jīng)完成了
Zabbix 5.0 LTS
的安裝,快去體驗吧。文章鏈接