欢迎光临
我们一直在努力

zabbix集群搭建分布式监控的操作步骤

作用:

  • 分担server的集中式压力
  • 解决多机房之间的网络延迟问题

环境准备:

服务器1:zabbix-server
服务器2:zabbix-proxy
服务器3:zabbix-agent
关系:zabbix-agent发送数据到代理,代理汇总数据发送到server

操作步骤:

1.关闭某些设置

关闭server中的自动发现

关闭server中的自动注册
在配置—动作中(没设置自动注册)

2.server服务端无需变动,继续运行

3.配置代理服务器

1.配置zabbix5.0的yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.修改源地址
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo
3.安装proxy,以及数据库和数据库客户端
yum install zabbix-proxy-mysql zabbix-get -y
yum install mariadb-server mariadb -y(提示已被mysql-community取代,就执行yum remove mysql-libs,再重新安装)
yum -y install mariadb-server mariadb mariadb-client mariadb-devel

4. 启动数据库

systemctl start mariadb

5. 进入数据库

mysql(默认没有用户名和密码)

6. 创建数据表

create database zabbix_proxy character set utf8 collate utf8_bin;

7. 授予所有的权限

在zabbix_proxy数据库以及里面所有的表,设置用户名zabbix的密码是zabbix
grant all privileges on zabbix_proxy.* to zabbix@‘localhost’ identified by ‘zabbix’;

8. 刷新mysql权限

flush privileges;
exit #退出数据库客户端

9. 导入zabbix_proxy数据库信息

rpm -ql zabbix-proxy-mysql #查询sql文件路径
zcat 查询到的sql.gz全路径 |mysql -uzabbix -pzabbix zabbix_proxy

10. 查看数据是否成功导入,看到有很有数据表即为成功

mysql -uzabbix -pzabbix
show databases;
use zabbix_proxy;
show tables;
exit

11. 修改zabbix-proxy配置文件,链接数据库的信息

sed -i.ori ‘162a DBPassword=zabbix’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Server=127.0.0.1#Server=server端ip地址#’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Hostname=Zabbix proxy#Hostname=代理服务器域名#’ /etc/zabbix/zabbix_proxy.conf

12. 检查代理服务器配置文件

grep ‘1' /etc/zabbix/zabbix_proxy.conf

13. 重启服务器

reboot

14. 启动代理服务器

systemctl restart zabbix-proxy
systemctl status zabbix-proxy #查看是否启动成功,有绿色的active(running)即为成功

web页面添加代理

显示从未,可能是数据库没开启,开启数据库即可

agent使用proxy 页面设置使用proxy

修改agent端的配置

设置开机自启

1.给配置文件添加执行权限
sudo chmod +x /etc/rc.d/rc.local
2.打开配置文件
sudo vi /etc/rc.d/rc.local
3.在配置文件中添加两行内容
systemctl start mariadb
systemctl restart zabbix-proxy
4.保存退出配置文件
Esc
:wq

zabbix-server 启动不起来看日志有报错

1. 查看日志

tail -n 100 /var/log/zabbix/zabbix_proxy.log
cannot start alert manager service: Cannot bind socket to “/var/run/zabbix/zabbix_server_alerter.sock”: [13] Permission denied.
59422:20201224:001003.895 One child process died (PID:59459,exitcode/signal:1). Exiting

2. 关闭selinux

vi /etc/selinux/config
#修改配置文件永久关闭。
SELINUX=disabled
#临时关闭SELINUX
setenforce 0

3. 重启

systemctl restart zabbix-proxy

Zabbix_proxy重启无任何相关进程处理

通过系统命令查看proxy状态

原以为一切正常,但仔细查看zabbix有关服务时,却没有发现发现相应的proxy端口在使用。如图1、2.

图1

图2

那实际上zabbix_proxy是没在工作的。

对其日志文件进行查看

如图3.查看命令: tail -n 1000 /var/log/zabbix/zabbix_proxy.log #筛选最新的1000行数据进行查看。

图3

从最新的几行报错可以出看是数据库连接失败引起的问题。

查看数据库状态

systemctl status mariadb
图4.

  1. a-Z ↩︎
本文转载自互联网,不代表本站立场,文章内容仅供参考,如有侵权请联系站长,本站将会立即删除!
文章名称:《zabbix集群搭建分布式监控的操作步骤》
分享到: 生成海报