zoukankan      html  css  js  c++  java
  • Zabbix分布式部署详细

    Zabbix分布式部署详细

    zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法

    zabbix proxy 使用场景:

    监控远程区域设备

    监控本地网络不稳定区域

    当 zabbix 监控上千设备时,使用它来减轻 server 的压力

    简化分布式监控的维护
    在这里插入图片描述

    环境准备

    节点主机名IP地址备注
    node1 10.0.0.41 Zabbix server服务器
    node2 10.0.0.42 Zabbix poxy代理服务器
    node3 10.0.0.43 模拟poxy所监控的服务器node3

    首先安装Zabbix官方源和epel源

    yum -y install epel-release.noarch
    rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    

    一、部署Zabbix-Proxy

    1、安装Zabbix-proxy等组件

    [root@ node2 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb mariadb-server zabbix-agent
    

    2、简单优化mariadb

    [root@ node1 ~]# vim /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    character-set-server=utf8               #设置字符集为utf8
    innodb_file_per_table=1                #设置innodb的每个表文件单独存储
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    .......
    [root@ node1 ~]# systemctl start mariadb                   #设为开机启动
    [root@ node1 ~]# systemctl enable mariadb               #开启MariaDB数据
    

    3、设置数据库相关项

    [root@ node1 ~]# mysql -u root -p
    MariaDB [(none)]> create database zabbixproxydb character set utf8 collate utf8_bin;
    #创建数据库且字符集为utf8,使web界面显示中文不出现乱码
    MariaDB [(none)]> grant all privileges on zabbixproxydb.* to proxy@'localhost' identified by '123456';
    #创建zabbixproxydb数据库和proxy用户,且赋予此用户拥有此数据库全部权限。
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> q;

    4、导入数据库相关表

    zcat /usr/share/doc/zabbix-proxy-mysql-*/schema.sql.gz | mysql -uroot -p zabbixproxy   #将模板数据恢复至zabbixproxydb数据
    mysql -u proxy -p123456 zabbixproxydb -e "show tables" #查看数据是否导入
    

    5、主要配置zabbix_proxy.conf项以下几个

    [root@ node2 ~]# vim /etc/zabbix/zabbix_proxy.conf
    ProxyMode=0        # 默认即为0,代表 Proxy 处于主动模式,即 Proxy 主动去请求 Zabbix Server 获取监控项;1 代表被动模式
    Server=10.0.0.41		#改成service端ip需要向service发送数据
    ServerPort=10051                            # 默认即为10051,Zabbix Server 监听端口,同上只在 Proxy 为主动模式时生效
    Hostname=node2                       # Server端添加proxy的时候需要一致,建议采用主机名
    LogFile=/var/log/zabbix/zabbix_proxy.log	# Proxy 日志文件位置
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_proxy.pid
    DBHost=localhost               		# 连接数据库的主机
    DBName=zabbixproxydb			# 数据库名
    DBUser=proxy				# 连接用户
    DBPassword=123456           		# 用户密码
    ConfigFrequency=60  # proxy主动从server端检索配置更新的频率,单位秒,主动proxy 参数, 被动 proxies忽略此项
    DataSenderFrequency=60                      # Proxy 向 Zabbix Server 发送监控数据间隔,单位为秒
    Timeout=4

    6、Proxy自身agent配置

    [root@ node2 ~]# vi /etc/zabbix/zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=10.0.0.42		#若为纯主动模式需要注释此行
    ServerActive=10.0.0.42			#主动模式,数据通过proxy代理向Server传送数据
    Hostname=node2			#zabbix server web上添加自身需要用到
    

    7、zabbix-proxy启动及开机启动

    [root@ node2 ~]# systemctl start zabbix-proxy.service
    [root@ node2 ~]# systemctl enable zabbix-proxy.service
    [root@ node2 ~]# systemctl start zabbix-agent.service
    [root@ node2 ~]# systemctl enable zabbix-agent.service
    

    二、部署Zabbix-Server

    1、安装Zabbix Server等组件

    yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent mariadb mariadb-server
    

    2、简单优化mariadb

    [root@ node1 ~]# vim /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    symbolic-links=0
    character-set-server=utf8               #设置字符集为utf8
    innodb_file_per_table=1                #设置innodb的每个表文件单独存储
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    .......
    [root@ node1 ~]# systemctl start mariadb                   #设为开机启动
    [root@ node1 ~]# systemctl enable mariadb               #开启MariaDB数据

    3、设置数据库相关项

    [root@ node1 ~]# mysql -u root -p
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    #创建数据库且字符集为utf8,使web界面显示中文不出现乱码
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
    #创建zabbix数据库和Zabbix用户,且赋予此用户拥有此数据库全部权限。
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> q;
    

    4、导入数据库相关表

    zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz |mysql -uroot -p zabbix   #将模板数据恢复至Zabbix数据
    mysql -u zabbix -p123456 zabbix -e "show tables" #查看数据是否导入

    5、主要配置Zabbix_server.conf项一下几个

    [root@ node1 ~]# vim /etc/zabbix/zabbix_server.conf
    DBHost=localhost					#mysql所在地
    DBName=zabbix                     #数据库名
    DBUser=zabbix						#数据库用户zabbix
    DBPassword=123456            #修改DB密码(之前所创建密码)
    LogSlowQueries=3000          #多慢的数据库查询将会被记录,单位:毫秒,0表示不记录慢查询
    

    6、启动Zabbix服务

    [root@ node1 ~]# systemctl enable zabbix-server		#设为开机启动Zabbix服务
    [root@ node1 ~]# systemctl start zabbix-server		#启动Zabbix服务
    [root@ node1 ~]# systemctl start zabbix-agent		#需要监控自己,因此也开启agent
    [root@ node1 ~]# systemctl enable zabbix-agent		#启动Zabbix服务
    

    7、配置php

    [root@ node1 ~]# vi /etc/php.ini
    date.timezone= Asia/Shanghai   #主要改这一行
    [root@ node1 ~]# vim /etc/httpd/conf.d/zabbix.conf
    <Directory "/usr/share/zabbix">
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    
        <IfModule mod_php5.c>
            php_value max_execution_time 300
            php_value memory_limit 128M
            php_value post_max_size 16M
            php_value upload_max_filesize 2M
            php_value max_input_time 300
            php_value max_input_vars 10000
            php_value always_populate_raw_post_data -1
            php_value date.timezone Asia/Shanghai        #主要改这一行
        </IfModule>
    </Directory>
    

    8、启动Apache服务

    [root@ node1 ~]# systemctl start httpd.service
    [root@ node1 ~]# systemctl enable httpd.service

    9、Web界面配置
    在这里插入图片描述
    Proxy name : 输入代理名称,它必须与代理配置文件中的Hostname参数中的名称相同。
    Proxy mode : 选择代理模式。
    Proxy address : 添加的代理主机IP地址。
    Description: 输入代理描述。
    在这里插入图片描述
    在这里插入图片描述

    三、 部署Zabbix Agent节点

    1、安装Zabbix Agent等组件

    yum -y install zabbix-agent
    
    • 1

    2、node3节点agent配置

    [root@ node3 ~]# vi /etc/zabbix/zabbix_agentd.conf
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=10.0.0.42		#若为纯主动模式需要注释此行
    ServerActive=10.0.0.42			#主动模式,数据通过proxy代理向Server传送数据
    Hostname=node2			#zabbix server web上添加自身需要用到
    

    3、 启动Zabbix服务

    [root@ node3 ~]# systemctl start zabbix-agent
    [root@ node3 ~]# systemctl enable zabbix-agent

    四、修改模板监控模式

    配置---->模板---->Template OS Linux---->全克隆
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1.2 Linux系统模板---->监控项---->全选---->批量更新---->类型---->zabbix客户端(主动式)---->更新
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1.3 Linux系统模板---->自动发现规则,需要将两个发现规则均改为主动式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    五、添加node3节点

    为了方便管理,可新建node2代理的主机组。
    在这里插入图片描述
    配置---->主机
    在这里插入图片描述
    为主机选择相应的模板---->添加
    在这里插入图片描述
    效果
    在这里插入图片描述
    在这里插入图片描述
    手动添加的监控项也可改成主动式
    在这里插入图片描述
    添加图形
    在这里插入图片描述
    查看效果
    在这里插入图片描述

    原文:https://blog.csdn.net/a13568hki/article/details/106627315?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

  • 相关阅读:
    不怕上不了 Android developers
    不花钱的可靠性设计
    linux2.6 内核特性配置
    Linux动态库的编译与使用 转载
    多线程使用互斥锁的C范例
    TSLIB 分析
    Notepad++中文版下载 以及HEX显示
    C程序实现在lcd 上全屏写 blue 色 及获取fb信息
    pthread_cond_wait的spurious wakeup问题
    查看linux内存条数的命令与清理内存使用
  • 原文地址:https://www.cnblogs.com/ityunwei/p/13840805.html
Copyright © 2011-2022 走看看