Centos7 部署 Zabbix 5.4 高可用集群

您所在的位置:网站首页 zabbix集群模式 Centos7 部署 Zabbix 5.4 高可用集群

Centos7 部署 Zabbix 5.4 高可用集群

2024-07-17 10:47:12| 来源: 网络整理| 查看: 265

Zabbix 是一个企业级分布式开源监控解决方案,能够监控各种网络设备、服务器、中间件和应用程序等等。Zabbix 支持主动轮询(polling)和被动捕获(trapping)两种方式获取数据。Zabbix 所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问,并且提供了完善的 API 接口便于二次开发。

Zabbix 有以下几个主要组件:

Zabbix Server:是 Zabbix 软件的核心组件,Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。Zabbix Web:通过 Apache HTTP 运行,提供前端的访问页面。Zabbix Proxy(可选):Zabbix Proxy 可以代替 Zabbix Server 收集客户端的数据,然后把数据汇报给 Zabbix Server,以减轻 Zabbix Server 的负担,本文中没有安装 Zabbix Proxy。Zabbix Agent:部署在需要监控的服务器上,主动监控本地资源和应用程序,并将收集到的数据上报给 Zabbix Server(或 Zabbix Proxy)。数据库存储:存储所有的配置信息以及 Zabbix 收集到的数据。数据库使用外部已经部署好的 MySQL 高可用集群。

目前 Zabbix 最新的稳定版本是 5.4,然而官方 yum 源只支持在 Centos8 上安装 Zabbix 5.4 版本,想要在 Centos7 上安装 Zabbix 5.4 版本上只能通过源码编译的方式安装。本文将会介绍在 Centos7 上通过源码编译安装的方式部署一套 Zabbix 高可用集群。

部署架构图机器规划

主机名

IP地址

角色

ydt-net-zabbix1

11.8.38.70:80

Zabbix Web 主

ypt-net-zabbix2

11.8.38.100:80

Zabbix Web 备

ydt-net-zabbix1

11.8.38.70:10051

Zabbix Server 主

ypt-net-zabbix2

11.8.38.100:10051

Zabbix Server 备

11.8.38.208:80

Zabbix 虚拟 IP

11.17.6.81:4442

MySQL 虚拟 IP

准备工作安装 PHP

Zabbix 5.4 版本要求 PHP 版本在 7.2 以上。

卸载旧版本 PHP:

代码语言:javascript复制yum remove php-*

安装 7.2 版本 PHP:

代码语言:javascript复制rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum install -y php72w php72w-opcache php72w-xml php72w-gd php72w-devel php72w-mysqlnd php72w-intl php72w-mbstring php72w-pear php72w-pdo php72w-fpm php72w-bcmath 安装 Golang

Zabbix 前端服务依赖 Golang。

代码语言:javascript复制rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo yum install golang go env -w GOPROXY=https://goproxy.cn 安装依赖代码语言:javascript复制 yum install -y gcc mysql-devel net-snmp-devel pcre*\ curl-devel libxml2 libxml2-devel \ automake libssh2-devel libevent-devel httpd libcurl-devel.x86_64 \ kernel-devel openssl-devel popt-devel 部署 MySQL

MySQL 安装可以参考 MySQL + Keepalived 双主热备搭建。

注意 Zabbix 要求数据库版本在 5.7.35 以上,并且 database 字符集要求是 utf8,校验集为 utf8_bin。

创建 database 指定字符集。

代码语言:javascript复制CREATE DATABASE `acpzabbixdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 源码编译部署 Zabbix下载并解压源码包代码语言:javascript复制wget https://cdn.zabbix.com/zabbix/sources/stable/5.4/zabbix-5.4.4.tar.gz tar -xzvf zabbix-5.4.4.tar.gz cd zabbix-5.4.4 编译安装代码语言:javascript复制./configure --prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --with-mysql \ --with-libcurl \ --with-net-snmp \ --with-libxml2 \ --with-ssh2 \ --enable-webservice make install 部署 Zabbix Server创建用户和相关目录代码语言:javascript复制useradd zabbix mkdir /usr/local/zabbix/logs mkdir /usr/local/zabbix/trap chown -R zabbix.zabbix /usr/local/zabbix/ Zabbix Server 配置文件

编辑 /usr/local/zabbix/etc/zabbix_server.conf 文件:

代码语言:javascript复制#Zabbix Server 地址 SourceIP=11.8.38.70 #日志文件目录 LogFile=/usr/local/zabbix/logs/zabbix_server.log #Pid 文件目录 PidFile=/usr/local/zabbix/zabbix_server.pid #Socket 文件目录 SocketDir=/usr/local/zabbix #数据库连接信息 DBHost=11.17.6.81 DBPort=4442 DBName=acpzabbixdb DBUser=acpzabbixdb DBPassword=yourpassword Timeout=4 LogSlowQueries=3000 #允许所有地址访问 StatsAllowedIP=0.0.0.0 #配置缓存 CacheSize=1G #snmp trap 目录 SNMPTrapperFile=/usr/local/zabbix/trap/zabbix_traps #开启 snmp trap StartSNMPTrapper=1 #拉取 snmp 信息的线程数 StartProxyPollers=20

Zabbix Server 备机配置和主机除了 SourceIP 以外,其余配置一样。

初始化数据库

SQL 文件在源码解压后的目录 zabbix-5.4.4/database/ 中,执行以下命令初始化数据库。初始化数据库只需要做一次,Zabbix Server 备机和主机共用一个 MySQL 数据库。

代码语言:javascript复制mysql -h 11.17.6.81 -P 4442 -uacpzabbixdb -pyourpassword acpzabbixdb < schema.sql mysql -h 11.17.6.81 -P 4442 -uacpzabbixdb -pyourpassword acpzabbixdb < images.sql mysql -h 11.17.6.81 -P 4442 -uacpzabbixdb -pyourpassword acpzabbixdb < data.sql 配置 Zabbix Server 系统服务

编辑 /usr/lib/systemd/system/zabbix-server.service 文件:

代码语言:javascript复制[Unit] Description=Zabbix Server After=network.target [Service] User=zabbix Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf" Type=forking Restart=on-failure PIDFile=/usr/local/zabbix/zabbix_server.pid KillMode=control-group ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s TimeoutSec=0 [Install] WantedBy=multi-user.target

启动 Zabbix Server,并设置开机自动启动。

代码语言:javascript复制systemctl enable zabbix-server.service systemctl start zabbix-server.service

查看 Zabbix Server 状态,Running 表示正常运行:

代码语言:javascript复制root@ydt-net-zabbix1:/root/zabbix-5.4.4/database #systemctl status zabbix-server ● zabbix-server.service - Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2021-09-13 11:27:14 CST; 3min 23s ago Process: 18685 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS) Process: 18688 ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 18690 (zabbix_server) CGroup: /system.slice/zabbix-server.service ├─18690 /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf ├─18692 /usr/local/zabbix/sbin/zabbix_server: configuration syncer [synced configuration in 0.055682 sec, idle 60 sec] ├─18693 /usr/local/zabbix/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.006520 sec during 5.006634 sec] ├─18694 /usr/local/zabbix/sbin/zabbix_server: alerter #1 started ├─18695 /usr/local/zabbix/sbin/zabbix_server: alerter #2 started ├─18696 /usr/local/zabbix/sbin/zabbix_server: alerter #3 started ├─18697 /usr/local/zabbix/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 2 values, idle 5.000761 sec during 5.000817 sec] ├─18698 /usr/local/zabbix/sbin/zabbix_server: preprocessing worker #1 started ├─18699 /usr/local/zabbix/sbin/zabbix_server: preprocessing worker #2 started ├─18700 /usr/local/zabbix/sbin/zabbix_server: preprocessing worker #3 started ├─18701 /usr/local/zabbix/sbin/zabbix_server: lld manager #1 [processed 0 LLD rules, idle 5.954542sec during 5.954592 sec] ├─18702 /usr/local/zabbix/sbin/zabbix_server: lld worker #1 started ├─18703 /usr/local/zabbix/sbin/zabbix_server: lld worker #2 started ├─18704 /usr/local/zabbix/sbin/zabbix_server: housekeeper [startup idle for 30 minutes] ├─18705 /usr/local/zabbix/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.001053 sec, idle 59 sec] ├─18706 /usr/local/zabbix/sbin/zabbix_server: http poller #1 [got 0 values in 0.000933 sec, idle 5 sec] ├─18707 /usr/local/zabbix/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000936 sec, idle 60 sec] ├─18708 /usr/local/zabbix/sbin/zabbix_server: history syncer #1 [processed 0 values, 0 triggers in 0.000021 sec, idle 1 sec] ├─18709 /usr/local/zabbix/sbin/zabbix_server: history syncer #2 [processed 2 values, 2 triggers in 0.002352 sec, idle 1 sec] ├─18710 /usr/local/zabbix/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000012 sec, idle 1 sec] ├─18711 /usr/local/zabbix/sbin/zabbix_server: history syncer #4 [processed 0 values, 0 triggers in 0.000022 sec, idle 1 sec] ├─18712 /usr/local/zabbix/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.001885 sec, idle 3 sec] ├─18713 /usr/local/zabbix/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000037 sec, idle 5 sec] ├─18714 /usr/local/zabbix/sbin/zabbix_server: self-monitoring [processed data in 0.000017 sec, idle 1 sec] ├─18715 /usr/local/zabbix/sbin/zabbix_server: task manager [processed 0 task(s) in 0.003206 sec, idle 5 sec] ├─18716 /usr/local/zabbix/sbin/zabbix_server: poller #1 [got 0 values in 0.000026 sec, idle 5 sec] ├─18717 /usr/local/zabbix/sbin/zabbix_server: poller #2 [got 0 values in 0.000054 sec, idle 5 sec] ├─18718 /usr/local/zabbix/sbin/zabbix_server: poller #3 [got 0 values in 0.000018 sec, idle 5 sec] ├─18719 /usr/local/zabbix/sbin/zabbix_server: poller #4 [got 0 values in 0.000014 sec, idle 5 sec] ├─18720 /usr/local/zabbix/sbin/zabbix_server: poller #5 [got 0 values in 0.000067 sec, idle 5 sec] ├─18721 /usr/local/zabbix/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000040 sec, idle 5 sec] ├─18722 /usr/local/zabbix/sbin/zabbix_server: trapper #1 [processed data in 0.000706 sec, waiting for connection] ├─18723 /usr/local/zabbix/sbin/zabbix_server: trapper #2 [processed data in 0.000486 sec, waiting for connection] ├─18724 /usr/local/zabbix/sbin/zabbix_server: trapper #3 [processed data in 0.000538 sec, waiting for connection] ├─18725 /usr/local/zabbix/sbin/zabbix_server: trapper #4 [processed data in 0.000475 sec, waiting for connection] ├─18726 /usr/local/zabbix/sbin/zabbix_server: trapper #5 [processed data in 0.000536 sec, waiting for connection] ├─18727 /usr/local/zabbix/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000017 sec, idle 5 sec] ├─18728 /usr/local/zabbix/sbin/zabbix_server: alert syncer [queued 0 alerts(s), flushed 0 result(s) in 0.001174 sec, idle 1 sec] ├─18729 /usr/local/zabbix/sbin/zabbix_server: history poller #1 [got 0 values in 0.000039 sec, idle 1 sec] ├─18730 /usr/local/zabbix/sbin/zabbix_server: history poller #2 [got 1 values in 0.000109 sec, idle 1 sec] ├─18731 /usr/local/zabbix/sbin/zabbix_server: history poller #3 [got 1 values in 0.000163 sec, idle 1 sec] ├─18732 /usr/local/zabbix/sbin/zabbix_server: history poller #4 [got 0 values in 0.000140 sec, idle 1 sec] ├─18733 /usr/local/zabbix/sbin/zabbix_server: history poller #5 [got 0 values in 0.000150 sec, idle 1 sec] └─18734 /usr/local/zabbix/sbin/zabbix_server: availability manager #1 [queued 0, processed 0 values, idle 5.005236 sec during 5.005267 sec] 部署 Zabbix Web拷贝前端文件

Zabbix 前端是 PHP 编写的,所以必须运行在支持 PHP 的 Web 服务器上,使用 Apache HTTP 作为 Web 服务器。

建议使用子目录替代 HTML 根目录。可以使用下列命令,以创建一个子目录并复制 Zabbix 的前端文件到这个目录下。

代码语言:javascript复制mkdir -p /var/www/html/zabbix cp -a zabbix-5.4.4/ui/* /var/www/html/zabbix/ 配置 PHP 文件

编辑 /var/www/html/zabbix/conf/zabbix.conf.php 文件:

代码语言:javascript复制


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭