Zabbix 分布式监控




ZABBIX 集成ADFS zabbix集群部署_Server


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 http://zbproxy.qfedu.com
  • vim /etc/hosts 每个机器都设置hosts,以解析主机名;DNS也行


ZABBIX 集成ADFS zabbix集群部署_mysql_02


2、环境配置(4台主机)

机器名称IP配置服务角色zabbix-server192.168.30.107监控agent-node1192.168.30.7被监控端agent-node2192.168.30.2被监控端node3192.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


3、在node3 上下载zabbix 相关的包,主要是代理proxy的包


[root@node3 ~]# yum -y install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender


1、初始化数据库

zabbix-proxy-mysql 包里带有,导入数据的文件


ZABBIX 集成ADFS zabbix集群部署_ZABBIX 集成ADFS_03


[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、查看数据已经生成


ZABBIX 集成ADFS zabbix集群部署_Server_04


4、配置 proxy 端


[root@node3 ~]# vim /etc/zabbix/zabbix_proxy.confc


ZABBIX 集成ADFS zabbix集群部署_mysql_05


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 代理


ZABBIX 集成ADFS zabbix集群部署_zabbix内网安装部署_06


2、配置


ZABBIX 集成ADFS zabbix集群部署_mysql_07


7、创建node2 主机并采用代理监控


ZABBIX 集成ADFS zabbix集群部署_mysql_08


  • 设置代理成功


ZABBIX 集成ADFS zabbix集群部署_Server_09


8、创建item监控项

1、随便创一个监控项 CPU Switches


ZABBIX 集成ADFS zabbix集群部署_zabbix内网安装部署_10


2、进程里设置每秒更改


ZABBIX 集成ADFS zabbix集群部署_vim_11


3、成功graph 图形生成


ZABBIX 集成ADFS zabbix集群部署_vim_12