Ubuntu 20.04二进制安装zabbix6.0集群

Ubuntu 20.04二进制安装zabbix6.0集群

目录索引

  • Ubuntu 20.04二进制安装zabbix6.0集群
      • 1、修改计算机名
    • 二、安装数据库(mysql-server8.0或maridb二选一)
      • 1、安装mysql-server8.0
    • 2、安装mariadb10.5
        • 创建zabbix库和用户
        • 添加zabbix仓库
        • 安装Zabbix server,Web前端,agent
        • 安装中文字体
        • 创建数初始据库
        • 修改zabbix server配置
        • 启动server、agent、apache2
        • 检查
        • 配置前端
        • 配置server上zabbix-agent
    • 其他配置
    • 配置server上的zabbix-agent
        • 在zabbix-server Web中添加主机
    • 模拟zaabix server故障

主机名 IP地址 系统 说明
zabbix01 192.168.11.51 Ubuntu20.04 zabbix server主节点
zabbix02 192.168.11.52 Ubuntu20.04 zabbix server备用节点
zabbix03 192.168.11.53 Ubuntu20.04 zabbix server备用节点
db01 192.168.11.50 Ubuntu20.04 MySQL8.0或mariadb10.5数据

说明:zabbix HA最少需要2个zabbix server节点即可实现HA集群高可用及故障转移,如果没有那么多服务器,可以把Mysql安装在其中一台zabbix-server上,只开2个zabbix server节点。

1、修改计算机名

分别在4台服务器上执行

sudo hostnamectl set-hostname db01
sudo hostnamectl set-hostname zabbix01
sudo hostnamectl set-hostname zabbix02
sudo hostnamectl set-hostname zabbix03

二、安装数据库(mysql-server8.0或maridb二选一)

1、安装mysql-server8.0

ubuntu自带的源只能安装mysql5.7,使用清华源安装Mysql8.0

sudo bash -c "cat > /etc/apt/soures.list.d/mysql-community.list" <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/mysql/apt/ubuntu bionic mysql-5.7 mysql-8.0 mysql-tools
EOF

然后导入GPG密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3A79BD29

**注意MySQL8.0.28及更商版 本包的keyid为3A79BD29,如上所示。对于早期的MySQL版本,KeyID是5072EF5。使用不正确的密钥可能会导致密钥验证错误。

安装MySQL

sudo apt update
sudo apt install -y mysql-server

输入mysql的超级管理员root用户密码,输入完后按tab键–选择ok–然后回车

#查看mysql启动状态
sudo systemctl status mysql

2、安装mariadb10.5

Ubutun20.04自带源默认安装的mariadb版本为10.3不符合安装zabbix6.0的要求

#安装组件及设置key
sudo apt -y install software-properties-common dirmngr apt-transport-https
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
#添加阿里云的mariadb源
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el,s390x] https://mirrors.aliyun.com/mariadb/repo/10.5/ubuntu focal main'

安装mariadb

#更新软件源
sudo apt update
#安装mariadb server
sudo apt install -y mariadb-server

确认安装的版本 是mariadb-server-10.5后,输入Y,回车
查看启动状态

sudo systemctl status mariadb

查看mariadb版本号

chen@chen:~$ mysql -V
mysql  Ver 15.1 Distrib 10.5.16-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

初始化数据库

#提高数据库服务器安全
chen@chen:~$ sudo mysql_secure_installation 
Enter current password for root (enter for none): #输入当前root密码,因为当前没有密码直接按回车
Switch to unix_socket authentication [Y/n] y #是否使用unix_socket身份验证
Change the root password? [Y/n] n	#因为我们使用了unix_socket身份验证就不用改变root密码了
Remove anonymous users? [Y/n] y		#删除匿名用户?
Disallow root login remotely? [Y/n] y 	#不允许root用户远程登录?
Remove test database and access to it? [Y/n] y	#删除测试数据库并访问它?
Reload privilege tables now? [Y/n]	y	#现在重新加载权限表?

配置远程访问
修改mariadb配置文件

grep "bind-address" /etc/mysql/mariadb.conf.d/50-server.cnf		#127.0.0.1只能本机访问
sudo sed -i 's#bind-address\(.*\)#bind-address = 0.0.0.0#g' /etc/mysql/mariadb.conf.d/50-server.cnf

重启mariadb

sudo systemctl restart mariadb
sudo systemctl status mariadb
创建zabbix库和用户

auth_socket插件将会通过Unix socket文件验证用户来连接localhost.意味着你不需要通过提供密码来验证root。

sudo mysql

mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; #创建zabbix这个库
mysql> create user zabbix@'%' identified by 'password';   #创建zabbxi用户和密码。
mysql> grant all privileges on zabbix.* to zabbix@'%'; #授权zabbix用户所有权限
mysql > quit

#验证,zabbix用户能登录成功,show database能看到zabbix库,说明没有问题

sudo mysql -uzabbix -p -h 192.168.11.50   #50是本机IP
输入password
mysql> show databases;
mysql> quit;
添加zabbix仓库

在zabbix01、02、03这三台主机上同时安装Zabbix server,Web前端,agent

1、在xshell上点选项卡--排列--垂直排列。
2、点查看--撰写--撰写栏--点左下角图标--全部xshell,就可以完成同时在三台主机上操作了。
#添加zabbix仓库
wget https://mirrors.aliyun.com/zabbix/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update
安装Zabbix server,Web前端,agent
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

参数解释

名称 概述 必须安装 备注
zabbix-server-mysql zabbix-server的mysql版本,整个zabbix软件的核心程序
zabbix-frontend-php php环境+前端代码
zabbix-apache-conf apache 和nginx二选 一
zabbix-sqlscripts 数据库sql脚本,初始化zabbix数据库
zabbix-agent2 zabbix-agent的替代品,它支持zabbix-agent所有功能
安装中文字体
sudo apt -y install language-pack-zh-hans

只在其中一台zabbix-server服务器上执行操作

说明:只初始化一次,不需要重复执行,192.168.11.50是数据库的IP

创建数初始据库

安装mysql-client

#该命令我选择在zabbix01上执行
sudo apt install -y mariadb-client

导入初始架构和数据,系统将提示输入新创建的密码,等待完成。

sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p -h 192.168.11.50 zabbix
#或下面的路径
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p -h 192.168.11.50 zabbix
#输入zabbix用户的password等待完成。过程可能需要一到几分钟,根据机器性能决定。

验证一下

mysql -uzabbix -p -h 192.168.11.50
use zabbix;
show tables;

在三台zabbix-server服务器上执行以下操作

修改zabbix server配置

方法一:
使用vim编辑配置文件,注意,192.168.11.50是数据库的IP,password是密码

sudo vim /etc/zabbix/zabbix_server.conf
#数据库配置,3台zabbix server一致,
DBHost=192.168.11.50
DBName=zabbix
DBUser=zabbix
DBPassword=password

#HA配置,3台zabbix server不一致
#HANodeName设置为当前节点主机名或者IP地址,需保证同一集群中唯一
HANodeName=zabbix01
#NodeAddress设置为本机IP:10051
NodeAddress=IP:10051

方法二:
通过sed命令修改配置文件

#在三台上执行如下命令:
sudo egrep "DBHost=|DBPassword=|HANodeName=|NodeAddress=" /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# DBHost=localhost#DBHost=192.168.11.50#g' /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# DBPassword=#DBPassword=password#g' /etc/zabbix/zabbix_server.conf

zabbix01上执行

sudo sed -i 's#\# HANodeName=#HANodeName=zabbix01#g' /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# NodeAddress=localhost:10051#NodeAddress=192.168.11.51:10051#g' /etc/zabbix/zabbix_server.conf

zabbix02上执行

sudo sed -i 's#\# HANodeName=#HANodeName=zabbix02#g' /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# NodeAddress=localhost:10051#NodeAddress=192.168.11.52:10051#g' /etc/zabbix/zabbix_server.conf

zabbix03上执行

sudo sed -i 's#\# HANodeName=#HANodeName=zabbix03#g' /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# NodeAddress=localhost:10051#NodeAddress=192.168.11.53:10051#g' /etc/zabbix/zabbix_server.conf

**检查是否在三台zabbix上修改正确

sudo egrep "DBHost=|DBPassword=|HANodeName=|NodeAddress=" /etc/zabbix/zabbix_server.conf
启动server、agent、apache2
#先在zabbix01上执行
sudo systemctl start zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2
检查
sudo systemctl status zabbix-server zabbix-agent2 apache2

ss -lntp  #查看一下端口是否已启动 80(apache),10051(zabbix-server),10050(zabbix-agent2)

检查zabbix-server日志

sudo tail -f /var/log/zabbix/zabbix_server.log

conf/zabbix.conf.php

配置前端

三台都需要配置

#前端登录地址
http://192.168.11.51/zabbix 
http://192.168.11.52/zabbix 
http://192.168.11.53/zabbix 
sudo vim /usr/share/zabbix/conf/zabbix.conf.php

用户名:Admin
密码:zabbix
配置server上zabbix-agent

Ubuntu 20.04二进制安装zabbix6.0集群_第1张图片

检查
1、在“最新数据 ”显示有数据就正常了
2、在监测–主机–图形,有数据就就正常了
3、报表–系统信息,能看到三台主机是一主二从节点就正常了

其他配置

1、修改时区

sudo cp /usr/share/zoninfo/Asia/shanghai /etc/localtime
date -R

2、安装中文字体
解决Web图形中的中文字乱码

sudo apt -y install ttf-wqy-microhei
sudo cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

配置server上的zabbix-agent

1、修改配置文件
在三台zabbix-server上操作

sudo grep "^Server=" /etc/zabbix/zabbix_agent2.conf
sudo sed -i 's#Server=127.0.0.1#Server=192.168.11.51,192.168.11.52,192.168.11.53#g' /etc/zabbix/zabbix_agent2.conf

重启zabbix-agent

sudo systemctl restart zabbix-agent2

检查:

sudo systemctl status zabbix-agent2
在zabbix-server Web中添加主机

1、点配置–主机–zabbix-server–主机名称输入zabbix01–客户端IP–192.168.11.51–更新
2、点配置–主机–zabbix-server–全克隆–主机名称输入zabbix02–客户端IP–192.168.11.52–添加
3、点配置–主机–zabbix-server–全克隆–主机名称输入zabbix03–客户端IP–192.168.11.53–添加

Ubuntu 20.04二进制安装zabbix6.0集群_第2张图片
在这里插入图片描述

模拟zaabix server故障

sudo systemctl stop zabbix-server
#停止其中一台,查看一下采集数据是否常

你可能感兴趣的:(ubuntu,linux,服务器)