美文网首页
Zabbix5.0部署手册(yum方式部署)

Zabbix5.0部署手册(yum方式部署)

作者: Habit_1027 | 来源:发表于2021-07-20 16:19 被阅读0次

    一、Zabbix概述

    1、Zabbix简介

    zabbix是一个基于WEB界面的提供 分布式系统监控以及网络监控功能 的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix由zabbix server与可选组件zabbix agent两部分组成:

    • zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
    • zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

    2、Zabbix监控工作原理

    Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。

    当Zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。

    agent收集数据分为主动和被动两种模式:

    • 主动: agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy。
    • 被动: server向agent请求获取监控项的数据,agent返回数据。

    3、Zabbix的常用组件

    Zabbix Web Gui: 提供Web界面。

    Zabbix Databases:提供数据库存储功能并用于存储配置信息。以及采集到的数据。

    Zabbix Server : 接收来自Agent采集数据的核心组件。

    Zabbix Agent :部署在被监控的主机上,用于采集本地的数据。

    Zabbix Proxy: 当监控节点较多时,用于减轻Server压力组件,也可用于分布式。监控系统,由Proxy接收数据后统一发送给Server。

    4、Zabbix支持的数据采集协议

    SNMP(Simple Network Managerment Protocol):这是一个非常古老的且通用的监控协议,几乎任何设备都支持用此方式进行系统的监控。

    Agent:在监控端安装专门的监控程序,将数据采集后通过Agent发送至Server。

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

    JMX:Java Managerment Exlensions。

    5、常见进程

    zabbix­_agentd:客户端守护进程,负责收集客户端数据,例如cpu负载、内存、硬盘使用情况等。

    zabbix_get:zabbix数据接收工具,单独使用的命令,通常在Server或者Proxy端执行获取远端客户信息的命令。通常客户排错。例如在Server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

    zabbix_sender:zabbix数据发送工具,用于发送数据给Server或者Proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

    zabbix­­_proxy:zabbix代理守护进程。功能类似Server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到Server里。

    zabbix­_java­_gateway:Java网关,类似agentd,但是只用于Java方面。它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到Server或者proxy。

    二、Zabbix监控平台搭建(zabbix-server)

    环境介绍:

    CentOS 7.6
    Zabbix-server(监控端)139.198.181.4
    Zabbix-agent (被监控端)115.159.35.236
    

    1.基础环境配置:

    [root@zabbix-server ~]# systemctl disable firewalld   #禁止防火墙服务启动
    
    [root@zabbix-server ~]# systemctl stop firewalld    #关闭防火墙服务
    
    [root@zabbix-server ~]# setenforce = 0     #临时关闭SELinux     
    
    [root@zabbix-server ~]# vim /etc/sysconfig/selinux    #修改将“SELINUX=enforcing”更改为“SELINUX=disabled”,永久关闭SELINUX
    ...
    SELINUX=disabled
    ...
    
    [root@zabbix-server ~]# getenforce
    Disabled
    
    [root@zabbix-server ~]# yum install tree net-tool net-snmp vim ntpdate  wget                #安装部分基础软件包
    
    [root@zabbix-server ~]# cd /etc/yum.repos.d/         #修改yum源 更改为阿里云 
    
    [root@zabbix-server yum.repos.d ~]# mv CentOS-Base.repo CentOS-Base.repo.bak    #备份文件    
    
    [root@zabbix-server yum.repos.d ~]# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo            #下载阿里云镜像仓库
    
    [root@zabbix-server ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo      #下载epel仓库
    
    [root@zabbix-server ~]# yum clean all    #清理缓存            
    
    [root@zabbix-server ~]# yum makecache   #重新生成缓存                                                     
    

    2.安装Mysql数据库

    [root@zabbix-server ~]# wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm       //下载Mysql 5.7 Yum源
    
    [root@zabbix-server ~]# ls mysql57-community-release-el7-11.noarch.rpm 
    mysql57-community-release-el7-11.noarch.rpm
    
    [root@zabbix-server ~]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm      //安装Mysql Yum源
    
    [root@zabbix-server ~]# yum -y install mysql-server    //安装mysql
    
    [root@zabbix-server ~]# systemctl start mysqld   //启动Mysqld服务
    
    [root@zabbix-server ~]# systemctl enable mysqld    //开机自启mysql
    
    [root@zabbix-server ~]# netstat -lntp | grep 3306
    tcp6       0      0 :::3306                 :::*                    LISTEN      12637/mysqld 
    
    [root@zabbix-server ~]# grep 'root@localhost:' /var/log/mysqld.log   //查看初始密码
    2021-07-19T07:32:41.600222Z 1 [Note] A temporary password is generated for root@localhost: !N:m-Krl=4+K
    
    [root@zabbix-server ~]# mysql -hlocalhost -uroot -p'!N:m-Krl=4+K'  //使用初始密码登陆
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ...
    Server version: 5.7.34
    ...
    mysql>
    
    mysql> alter user root@"localhost" identified by "Zabbix@1234";   修改登陆密码
    
    [root@zabbix-server ~]# mysql -uroot -pZabbix@1234    //使用新密码登陆
    

    3.安装Zabbix 5.0监控平台

    安装Zabbix Yum源仓库

    [root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    
    [root@zabbix-server ~]# yum clean all
    

    安装Zabbix Server 与 Zabbix agent

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

    安装Zabbix frontend

    [root@zabbix-server ~]# yum -y install centos-release-scl
    
    [root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
    ...
    [zabbix-frontend]
    name=Zabbix Official Repository frontend - $basearch
    baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
    enabled=1        //将0修改为1
    

    安装Zabbix前端包

    [root@zabbix-server ~]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
    

    创建和初始化数据库

    [root@zabbix-server ~]# mysql -uroot -pZabbix@1234
    
    mysql> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> create user zabbix@localhost identified by 'Zabbix@1234';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> grant all privileges on zabbix.* to zabbix@localhost;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    mysql> exit
    Bye
    

    导入Zabbix数据库结构和数据

    [root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pZabbix@1234 zabbix
    mysql: [Warning] Using a password on the command line interface can be insecure.
    

    其中-uzabbix是前面在数据库中创建的用户,-pZabbix@1234是前面数据库中创建的用户的密码,后面的zabbix是前面创建的数据库。

    4.配置Zabbix server

    [root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
    ...
    116 DBUser=zabbix     //用户名要与数据库中创建的供zabbix访问的用户名一致
    ...
    124 DBPassword=Zabbix@1234      //去掉注释,添加创建的zabbix用户的数据库密码
    ...
    

    5.开启服务

    [root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent  httpd rh-php72-php-fpm
    
    [root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
    
    [root@zabbix-server ~]# netstat -lntp | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      23564/httpd  
    
    [root@zabbix-server ~]# ps -aux | grep zabbix
    ......
    apache     5677  0.0  0.3 336672  7316 ?        S    16:36   0:00 php-fpm: pool zabbix
    root       5809  0.0  0.0 112736   976 pts/0    S+   16:47   0:00 grep --color=auto zabbix
    

    6.时区设置

    修改配置文件

    vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    
    [zabbix]
    user = apache
    group = apache
    
    listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
    listen.acl_users = apache
    listen.allowed_clients = 127.0.0.1
    
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
    
    php_value[session.save_handler] = files
    php_value[session.save_path]    = /var/opt/rh/rh-php72/lib/php/session/
    
    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[date.timezone] = Asia/Shanghai
    
    

    重启php

    systemctl restart rh-php72-php-fpm
    

    7.访问

    image-20210719155126803.png image-20210719155155703.png image-20210719155452806.png image-20210719155629645.png image-20210719155648633.png image-20210719155712604.png image-20210719155835174.png

    8.修改Zabbix 5.0界面语言为中文:

    image-20210719160951026.png image-20210719161046155.png image-20210719161145731.png

    三、被监控端Zabbix-agent添加

    永久关闭防火墙

    [root@zabbix-agent ~]# systemctl stop firewalld
    
    [root@zabbix-agent ~]# systemctl disable firewalld     //永久关闭防火墙
    

    1.安装Zabbix Yum源仓库

    [root@zabbix-agent ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    
    [root@zabbix-agent ~]# yum clean all
    

    使用Zabbix 5.0 Yum源文件安装zabbix-agent 5.0软件,并且将gpgcheck=1修改为gpgcheck=0,防止出现“获取GPG密钥失败”报错。

    2.修改Zabbix 5.0 Yum源配置文件

    [root@zabbix-agent ~]# sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo
    
    [root@zabbix-agent ~]# cat /etc/yum.repos.d/zabbix.repo
    [zabbix]
    name=Zabbix Official Repository - $basearch
    baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
    enabled=1
    gpgcheck=0          //修改gpgcheck=0
    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
    enabled=1
    gpgcheck=0        //修改gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
    
    [zabbix-debuginfo]
    name=Zabbix Official Repository debuginfo - $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=0        //修改gpgcheck=0
    
    [zabbix-non-supported]
    name=Zabbix Official Repository non-supported - $basearch
    baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=0        //修改gpgcheck=0
    

    3.Yum安装zabbix-agent

    [root@zabbix-agent ~]# yum -y install zabbix-agent     //安装zabbix-agent 5.0软件
    ...
    已安装:
      zabbix-agent.x86_64 0:5.0.0-1.el7
    
    完毕!
    

    4.修改zabbix-agent配置文件

    [root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
    119 Server=127.0.0.1,139.198.181.4   //Zabbix-server地址,多个用","隔开
    160 ServerActive=139.198.181.4     //主动检查本主机数据发送给Zabbix-server
    172 Hostname=115.159.35.236    //客户端IP地址
    

    5.开启服务

    [root@zabbix-agent ~]# systemctl start zabbix-agent
    [root@zabbix-agent ~]# systemctl enable zabbix-agent
    
    [root@zabbix-agent ~]# netstat -lntp | grep 10050
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      29431/zabbix_agentd 
    tcp6       0      0 :::10050                :::*                    LISTEN      29431/zabbix_agentd 
    

    6.添加主机

    image-20210719163046660.png image-20210719163502645.png image-20210719163716739.png image-20210719163801404.png image-20210719163927396.png

    7.查看数据

    image-20210719164529050.png

    ====================至此,已部署完成=================

    相关文章

      网友评论

          本文标题:Zabbix5.0部署手册(yum方式部署)

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