Zabbix 分布式监控
Zabbix 分布式监控
### 1、介绍
分布式监控概述:proxy and node
1、Zabbix 的三种架构
- Server-agent
- Server-Node-agent
- Server-Proxy-agent
2、配置介绍
Zabbix Proxy的配置:
- server-node-agent
- server-proxy-agent
1、配置proxy主机
1、安装程序包
zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender
2、准备数据库
创建、授权用户、导入schema.sql;
3、修改配置文件
Server= zabbix server # 主机地址;
Hostname= # 当前代理服务器的名称;在server添加proxy时,必须使用此处指定的名称;需要事先确保server能解析此名称;
DBHost=
DBName=
DBUser=
DBPassword=
ConfigFrequency=10 # proxy被动模式下,server多少秒同步配置文件至proxy。该参数仅用于被动模式下的代理。范围是1-3600*24*7
DataSenderFrequency=1 #代理将每N秒将收集的数据发送到服务器。 对于被动模式下的代理,该参数将被忽略。范围是1-3600
4、在 server 端添加此 Porxy
Administration —> Proxies
5、在Server端配置通过此Proxy监控的主机;
注意:zabbix agent 端要允许 zabbix proxy 主机执行数据采集操作:
2、实现分布式 zabbix proxy 监控
1、实验前准备
- ntpdate 172.168.30.1 同步时间
- 关闭防火墙,selinux
- 设置主机名 hostnamectl set-hostname zbproxy.qfedu.com
- vim /etc/hosts 每个机器都设置hosts,以解析主机名;DNS也行
2、环境配置(4台主机)
机器名称 | IP配置 | 服务角色 |
---|---|---|
zabbix-server | 192.168.30.107 | 监控 |
agent-node1 | 192.168.30.7 | 被监控端 |
agent-node2 | 192.168.30.2 | 被监控端 |
node3 | 192.168.30.3 | 代理proxy |
zabbix-server 直接监控一台主机 node1
zabbix-server 通过代理 node3 监控 node2
3、在 node3 上配置 mysql
1、创建配置 mysql
1、创建 mariadb.repo
[root@node3 ~]# 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
[root@node3 ~]# yum install -y MariaDB-server MariaDB-clien
修改配置文件
[root@node3 ~]# 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、重启我们的数据库服务
[root@node3 ~]# systemctl restart mariadb
[root@node3 ~]# mysql_secure_installation # 初始化mariadb
4、创建数据库 和 授权用户
MariaDB [(none)]> create database zbxproxydb character set 'utf8';
MariaDB [(none)]> grant all on zbxproxydb.* to 'zbxproxyuser'@'192.168.30.%' identified by 'zbxproxypass';
MariaDB [(none)]> flush privileges;
3、在node3 上下载zabbix 相关的包,主要是代理proxy的包
[root@node3 ~]# yum -y install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender
1、初始化数据库
zabbix-proxy-mysql 包里带有,导入数据的文件
[root@node3 ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz ./ 复制
[root@node3 ~]# gzip -d schema.sql.gz 解包
[root@node3 ~]# mysql -root -p zbxproxydb < schema.sql 导入数据
2、查看数据已经生成
4、配置 proxy 端
[root@node3 ~]# vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.30.107 # server 的IP
ServerPort=10051 # server 的端口
Hostname=zbxproxy.qfedu.com # 主机名
ListenPort=10051 # proxy自己的监听端口
EnableRemoteCommands=1 # 允许远程命令
LogRemoteCommands=1 # 记录远程命令的日志
# 数据的配置
DBHost=192.168.30.3
DBName=zbxproxydb
DBUser=zbxproxyuser
DBPassword=zbxproxypass
ConfigFrequency=30 # 多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
DataSenderFrequency=1 # 每一秒向server 端发一次数据,发送频度
2、开启服务
[root@node3 ~]# systemctl start zabbix-proxy
5、配置node2端允许proxy代理监控
[root@node3 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.30.107,192.168.30.3
ServerActive=192.168.30.107,192.168.30.3
[root@node3 ~]# systemctl restart zabbix-agent # 启动服务
6、把代理加入监控 server 创建配置agent 代理
1、创建agent 代理
2、配置
7、创建node2 主机并采用代理监控
设置代理成功
8、创建item监控项
1、随便创一个监控项 CPU Switches
2、进程里设置每秒更改
3、成功graph 图形生成
还没有评论,来说两句吧...