实现分布式 zabbix proxy 监控
程序员文章站
2022-07-11 11:41:21
...
实现分布式 zabbix proxy 监控
1、实验前准备
-
ntpdate 同步时间
-
关闭防火墙,selinux
-
设置主机名
-hostnamectl --static set-hostname zbxproxy -
vim /etc/hosts 每个机器都设置hosts,以解析主机名;DNS也行
[aaa@qq.com ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.122.221 zabbix
192.168.122.208 node-1
192.168.122.56 node-2
192.168.122.132 node-3
2、环境配置(4台主机)
机器名称 | IP配置 | 服务角色 |
---|---|---|
zabbix | 192.168.122.221 | 监控 |
node-1 | 192.168.122.208 | 被监控端 |
node-2 | 192.168.122.56 | 被监控端 |
node-3 | 192.168.122.132 | 代理proxy |
-
zabbix-server 直接监控一台主机 node-1
-
zabbix-server 通过代理node-3 监控 node-2
3、在 node3 上配置 mysql
1、创建配置 mysql
1、创建 mariadb.repo
[aaa@qq.com ~]# vim /etc/yum.repos.d/mariadb.repo
写入以下内容:
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
2、yum 安装最新版本 mariadb
[aaa@qq.com ~]# yum install -y MariaDB-server MariaDB-client
- 修改配置文件
[aaa@qq.com ~]# vim /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve = ON # 跳过主机名解析
innodb_file_per_table = ON # 开启独立表空间
innodb_buffer_pool_size = 256M # 缓存池大小
max_connections = 2000 # 最大连接数
log-bin = master-log # 开启二进制日志
3、重启我们的数据库服务
[aaa@qq.com ~]# systemctl restart mariadb
[aaa@qq.com ~]# mysql_secure_installation # 初始化mariadb
4、创建数据库 和 授权用户
[root@node-3 ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.4.14-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zbxproxydb character set 'utf8';
MariaDB [(none)]> grant all on zbxproxydb.* to 'zbxproxyuser'@'192.168.122.%' identified by '1026';
MariaDB [(none)]> flush privileges;
3、在node3 上下载zabbix 相关的包,主要是代理proxy的包
[aaa@qq.com ~]# yum -y install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender
如果安装zabbix-proxy-server时,报以下错误,可通过更换zabbix仓库源来实现
错误:软件包:zabbix-proxy-mysql-5.0.3-1.el8.x86_64 (zabbix)
需要:libssh.so.4(LIBSSH_4_5_0)(64bit)
错误:软件包:zabbix-proxy-mysql-5.0.3-1.el8.x86_64 (zabbix)
需要:libnetsnmp.so.35()(64bit)
错误:软件包:zabbix-proxy-mysql-5.0.3-1.el8.x86_64 (zabbix)
需要:libevent-2.1.so.6()(64bit)
[aaa@qq.com ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
#baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
#baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
1、初始化数据库
- zabbix-proxy-mysql 包里带有,导入数据的文件
[aaa@qq.com ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz ./ 复制
[aaa@qq.com ~]# gzip -d schema.sql.gz 解包
[aaa@qq.com ~]# mysql -uroot -p zbxproxydb < schema.sql 导入数据
2、查看数据已经生成
4、配置 proxy 端
[aaa@qq.com ~]# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.122.221 # zabbix-server 的IP
ServerPort=10051 # server 的端口
Hostname=node-3 # 主机名
ListenPort=10051 # proxy自己的监听端口
EnableRemoteCommands=1 # 允许远程命令
LogRemoteCommands=1 # 记录远程命令的日志
# 数据的配置
DBHost=192.168.122.132
DBName=zbxproxydb
DBUser=zbxproxyuser
DBPassword=1026
ConfigFrequency=30 # 多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
DataSenderFrequency=1 # 每一秒向server 端发一次数据,发送频度
2、开启服务
[aaa@qq.com ~]# systemctl start zabbix-proxy
5、配置node2端允许proxy代理监控(node-2需安装zabbix-agent)
[aaa@qq.com ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=1192.168.122.132 #代理服务器(node-3)的ip
ServerActive=192.168.122.132
[aaa@qq.com ~]# systemctl restart zabbix-agent # 启动服务
6、把代理加入监控 server 创建配置agent 代理
1、创建agent 代理
2、配置
7、创建node2 主机并采用代理监控
- 设置代理成功并添加一个模板
成功graph 图形生成
上一篇: zabbix介绍安装配置
下一篇: Python socket编程(2)