美文网首页
zabbix搭建安全服务器集群

zabbix搭建安全服务器集群

作者: LittleTrue | 来源:发表于2020-01-28 18:54 被阅读0次

    Zabbix介绍

    Zabbix监控组件主要包括:Zabbix Server、Zabbix Proxy、Zabbix Agent;
    其中Zabbix Server包括:WEB GUI、Database、Zabbix Server。

    Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利
    zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。
    zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

    专业运维配置监控首选, 如果是兼职部分运维, 机器数量不够10台, 更推荐省心的云帮手进行监控。

    每个模块工作职责:

    Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;

    Zabbix Proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端;(通常大于500台主机需要使用)

    Zabbix Agent:部署在被监控主机上,负责收集本地数据发往Server端或Proxy端;

    Database Storage:用户存储所有配置信息,以及存储由Zabbix Server收集到的数据;

    Web Interface(WEB GUI):Zabbix的GUI接口,通常与Server运行在同一台主机上;

    Zabbix监控方式

    Zabbix分布式监控系统监控客户端的方式常见有三种:Agent、SNMP、IPMI, 其中较为常用的为agent。

    Agent:Zabbix可以基于自身zabbix_agent客户端插件监控OS的状态,例如CPU、内存、硬盘、网卡、文件等。

    SNMP:Zabbix通过简单网络管理协议(Simple Network Management Protocol)监控网络设备或windows主机等。通过设定SNMP的参数将相关监控数据传送至服务端,交换机、防火墙等网络设备一般都支持SNMP协议。

    IPMI:智能平台管理接口(Intelligent Platform Management Interface,IPMI)即主要应用于设备的物理特性,包括:温度、电压、电扇工作状态,电源供应以及机箱入侵等。IPMI最大的优势在于无论OS的开机还是关机状态下,只要接通电源就可以实现对服务器的监控。


    常见集群

    Server/Agent模式:
    图片.png
    Proxy代理模式:
    图片.png

    以下针对 Server/Agent部署集群

    官方安装指导
    官方安装文档

    前提: 服务已经搭建好web服务和mysql服务

    前提:关闭防火墙/端口
    [root@VM_0_13_centos web]# systemctl disable firewalld && systemctl stop firewalld
    [root@VM_0_13_centos web]# setenforce 0 #零时关闭selinux 无需重启 可将这个命令和下面这个一起执行 下次也不用管了
    [root@VM_0_13_centos web]# vi /etc/selinux/config 
                    把SELINUXTYPE=targeted 改成 SELINUX=disabled #永久关闭selinux状态 需要重启
    
    [root@VM_0_13_centos web]# chkconfig iptables off #永久关闭iptables状态centos7的我没找到这个
    [root@VM_0_13_centos web]# systemctl disable firewalld.service #禁止firewall开机启动centos7的我执行了这个命令
    

    其实不关闭也可以只是会遇到很多问题,比如要单独去开放用到的一些端口,那样用起来很麻烦。

    一、首先部署server,搭建server机服务

    1、下载zabbix的rpm仓库包
    rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 
    
    2、安装相关套件zabbix-server-mysql
    yum install zabbix-server-mysql
    

    安装后, 会生成/etc/zabbix配置文档中的server文档, 以及产生server服务。

    3、安装相关套件web-mysql
    yum install  zabbix-web-mysql
    

    安装后,在相应的web服务, 比如httpd中, /etc/httpd/conf.d中生成zabbix.conf配置php运行环境。
    并且, 在/usr/share/doc中生成一个web端的网站界面。

    4、创建zabbix数据库,创建zabbix账号
    //进入mysql控制台
    mysql> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> flush privileges; #重新加载权限表
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    5、找到初始数据库并导入
    初始数据库位于  /usr/share/doc/zabbix-server-mysql-3.4.10/create.sql.gz
    找到并解压, 之后使用source 命令导入上一步创建的数据库即可
    
    6、修改zabbix_server.conf的配置文件
    [root@VM_0_13_centos]#  grep ^DB /etc/zabbix/zabbix_server.conf
    DBHost=localhost #如果不是本机就填写目标ip,前提你也需要在目标主机执行第4步、创建zabbix数据库
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    
    7、设置php为zabbix中需要使用的合适的参数
            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 always_populate_raw_post_data -1
            php_value date.timezone Asia/Shanghai
    
    8、zabbix-server服务设置为开机启动
    [root@VM_0_13_centos]# systemctl start zabbix-server
    [root@VM_0_13_centos]# systemctl enable zabbix-server
    
    9、将web界面放置于web服务文件夹,配置相关映射或代理

    在第三步中, 会生成web网站界面, 将web界面放置于web服务文件夹

    cp -r /usr/share/doc/zabbix-web-3.2.11  /var/www/html
    
    10、访问zabbix界面, 进入安装程序。

    例如 访问:localhost/zabbix/
    安装过程不再赘述


    图片.png
    11、安装后 设置中文方法
    image

    二、安装zabbix_agent并加入server管理

    参考1
    参考2

    1、安装agent(被动模式)

    注意: 如果有特殊配置, 需要另外搭建主动式agent模式, 参考跨网段/外网环境搭建

    Zabbix的主动模式和被动模式都是相对agent来说的。一般情况下默认使用的是zabbix的被动模式,即zabbix server根据监控项定义的时间主动去收集zabbix agent上的数据,优点是能使用更多的模板,更具有灵活性,缺点是当zabbix agent节点过多的时候会增加zabbix server的负荷。主动模式就是zabbix agent将消息推送给zabbix server,优点是减轻了zabbix server的压力,缺点是所有的模板要修改为主动模式
    一般来说, 如果server无法连接到agent,但是agent能够连接server, 也需要配置主动式

    wget http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-agent-4.0.0-1.alpha1.el7.x86_64.rpm
    rpm -ivh zabbix-agent-4.0.0-1.alpha1.el7.x86_64.rpm
    
    2、配置与server的关系
     vi /etc/zabbix/zabbix_agentd.conf 
    
    Server=192.168.1.2  #zabbix-server地址
    ServerActive=192.168.1.2  #zabbix-proxy地址, 如无proxy则为server地址
    Hostname=Zabbix proxy  # 是必须要和Server端添加主机时的主机名一样,这样Server端接收到数据才能找到对应关系。
    
    3、添加到services
    [root@VM_0_13_centos web]# vi /etc/services 
    在文件最后面添加如下的内容(一般会自动生成): 
    zabbix-agent    10050/tcp                       # Zabbix Agent 
    zabbix-agent    10050/udp                      # Zabbix Agent 
    zabbix-trapper  10051/tcp                       # Zabbix Trapper 
    zabbix-trapper  10051/udp                      # Zabbix Trapper
    
    4、启动zabbix-agent并添加开机自启
    [root@VM_0_13_centos web]# service zabbix-agent start
    [root@VM_0_13_centos web]# chkconfig zabbix-agent on
    

    检测连通性

    服务端安装zabbix-get检测工具

    yum install zabbix-get
    

    在服务端进行测试

    注意:只能在服务端进行测试,测试与某个agent的连通

    zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
    zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"
    

    监控nginx、mysql、php-fpm等配置可以参考:【CentOS7中配置Zabbix监控nginx、mysql、php-fpm等】

    相关文章

      网友评论

          本文标题:zabbix搭建安全服务器集群

          本文链接:https://www.haomeiwen.com/subject/kphmthtx.html