前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix6.0 LTS 分布式部署Proxy(五)

Zabbix6.0 LTS 分布式部署Proxy(五)

作者头像
Kevin song
发布2022-04-15 09:14:59
2.4K1
发布2022-04-15 09:14:59
举报
文章被收录于专栏:运维监控日志分析

概述

Zabbix Proxy 可以替代 Zabbix Server 收集主机设备的性能和可用性数据从而减轻 Zabbix Server 的压力。

Zabbix Proxy 可用于:

  • 监控远端位置主机设备
  • 监控通信不可靠的位置主机和设备
  • 在大规模监控场景减轻 Zabbix Server 压力
  • 简化分布式监控的维护

Zabbix Proxy 收集的所有数据在传输到服务器之前都存储在本地数据库。这样就不会因为与服务器的任何临时通信问题而丢失数据。代理配置文件中的ProxyLocalBuffer ProxyOfflineBuffer 参数控制数据在本地保存多长时间。

Proxy 从Zabbix Server数据库直接更新最新配置可能会比Zabbix Server新,而Zabbix Server的配置由于CacheUpdateFrequency的原因而无法快速更新。因此,Proxy收集发送Zabbix Server数据可能会被忽略。

Zabbix Server 缓存更新频率, 单位秒。默认60

代码语言:javascript
复制
CacheUpdateFrequency=60

强制更新zabbix_server缓存

代码语言:javascript
复制
sudo zabbix_server  -R config_cache_reload

Ubuntu 系统优化

优化文件打开数和最大进程数

代码语言:javascript
复制
egrep -v "*#|^$" /etc/security/limits.conf
*               soft      nofile          65536
*               hard      nofile          65536
*               soft      nproc           65536
*               hard      nproc           65536

优化系统交换分区,虚拟内存,端口最大监听队列,最大文件打开数等参数

代码语言:javascript
复制
vim /etc/sysctl.conf
vm.swappiness = 0
vm.max_map_count = 262144
net.core.somaxconn = 65535
fs.file-max = 655360
net.ipv4.ip_forward = 1

执行 sysctl -p 生效优化内核参数

代码语言:javascript
复制
#查看打开最大文件描述符的数量
ulimit -n
#查看用户最大可用的进程数
ulimit -u
#查看vm.swappiness参数
cat /proc/sys/vm/swappiness
#查看vm.max_map_count参数
sysctl -a|grep vm.max_map_count
#查看net.core.somaxconn参数
sysctl -a | grep net.core.somaxconn
#查看fs.file-max参数
 cat /proc/sys/fs/file-nr

重启系统

安装Zabbix存储库

代码语言:javascript
复制
sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
代码语言:javascript
复制
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb

更新可用软件包列表

代码语言:javascript
复制
sudo apt update

MySQL

支持字符集 utf8( utf8mb3)和 utf8mb4(分别使用 utf8_bin 和 utf8mb4_bin 排序规则),以便 Zabbix 服务器/代理与 MySQL 数据库正常工作。建议使用 utf8mb4 进行新安装。

安装Mysql

代码语言:javascript
复制
sudo apt install -y mysql-server

Ubuntu 20.04 系统默认的存储库MYSQL 版本为8.0.28

初始化数据库

代码语言:javascript
复制
sudo mysql_secure_installation

第一步:

Press y|Y for Yes, any other key for No: N(选择N,不会进行密码的强校验)

第二步:输入两遍你要设置的mysql 密码

New password:

Re-enter new password:

第三步:询问你是否删除匿名用户?

Remove anonymous users? (Press y|Y for Yes, any other key for No) : N(选择N,不删除匿名用户)

第四步:是否取消远程链接?

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N(选择N,允许root远程连接)

第五步:是否删除test数据库?

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N(选择N,不删除test数据库)

第六步:修改的权限是否立即生效?

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y(选择Y,修改权限立即生效)

出现如下的提示,便是设置成功了.

Success.

All done!

创建zabbix库和用户并授权

代码语言:javascript
复制
#登陆数据库
sudo mysql -uroot -p
#创建zabbix 数据库
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
#创建zabbix 用户
mysql>  create user 'zabbix'@'%' identified by 'zabbix@zabbix';
#授权localhost 访问
mysql> grant all privileges on zabbix.* to 'zabbix'@'%';
#刷新策略
flush privileges;
#退出
mysql> quit;
代码语言:javascript
复制
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'zabbix'@'%' identified by 'zabbix@zabbix';
Query OK, 0 rows affected (0.03 sec)

mysql> grant all privileges on zabbix.* to 'zabbix'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye

MYSQL数据库版本

代码语言:javascript
复制
ubuntu@zabbix-proxy01:~$ mysql  -V
mysql  Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

注意:Zabbix Server 和 Zabbix Proxy 不能使用同一个数据库。如果它们安装在同一主机上,则代理数据库必须具有不同的名称。

MYSQL 8.0 远程无法连接

MYSQL 只能本机登录,无法进行远程登录,ss -ntl |grep -w 3306 查看数据库默认监听的地址为127.0.0.1。

修改配置文件

代码语言:javascript
复制
/etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 
mysqlx-bind-address = 0.0.0.0

重启数据库

代码语言:javascript
复制
sudo systemctl  restart   mysql

安装Zabbix-Proxy

代码语言:javascript
复制
sudo apt install zabbix-proxy-mysql zabbix-sql-scripts

可选

代码语言:javascript
复制
sudo apt install zabbix-get zabbix-sender zabbix-agent2

导入数据

导入初始架构:

sudo cat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

注意:新版本中 Server 和Proxy 数据库初始化文件名称做了区分,Server 为“server.sql ”,Proxy为“proxy.sql”,并且使用同一个名为“zabbix-sql-scripts”的安装包。

zabbix_proxy 配置文件

代码语言:javascript
复制
ubuntu@zabbix-proxy01:/$ sudo  egrep -v  "*#|^$" /etc/zabbix/zabbix_proxy.conf 
Server=192.168.99.185;192.168.99.186
Hostname=Zabbixproxy01
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/run/zabbix/zabbix_proxy.pid
SocketDir=/run/zabbix
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@zabbix
ProxyOfflineBuffer=2
ConfigFrequency=120
DataSenderFrequency=2
StartPollers=30
StartPollersUnreachable=10
StartPingers=1
StartDiscoverers=1
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=512M
Timeout=4
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

启动 Zabbix Proxy进程

代码语言:javascript
复制
# systemctl restart zabbix-proxy
# systemctl enable zabbix-proxy

Zabbix Proxy 部分参数介绍

代码语言:javascript
复制
ConfigFrequency=60 #Zabbix Proxy从Zabbix Server取得配置数据的频率 
DataSenderFrequency=2 #Zabbix Proxy发送监控到的数据给Zabbix Server的频率
ProxyOfflineBuffer=2   # Proxy或者Server无法连接时,保留离线的监控数据的时间,单位小时
StartPollers=10 #开启多线程数
StartPollersUnreachable=1 #该线程用来单独监控无法连接的主机
StartPingers=10 # fping线程数
CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整
Timeout=10 #超时时间,设定不要超过30s,否则会拖慢其他监控数据抓取时间

Zabbix 前端配置

管理 → 代理点击→ 创建代理

Proxy 名称必须与配置文件中的Hostname参数相同

代理模式

主动- Proxy将连接到 Zabbix 服务器并请求配置数据(默认)

被动- Zabbix 服务器连接到Proxy

0 - proxy in the active mode

1 - proxy in the passive mode

官方文档

https://www.zabbix.com/documentation/6.0/en/manual/distributed_monitoring/proxies

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档