美文网首页
监控服务-Zabbix安装篇

监控服务-Zabbix安装篇

作者: 荆俊玮 | 来源:发表于2020-03-14 17:13 被阅读0次

    一、版本选择及帮助查询

    1.官网zabbix类型分析

    在安装zabbix时,有许多种不同的版本,在选择版本时尽可能的参考官方网站及文档:www.zabbix.com进入下载页面

    image.png
    image.png
    在这个页面中,我们会发现有许多不同的下载类型,分别是:Install from Packages是rpm源码包,可以更新zabbix的yum源后直接通过yum直接下载;Zabbix Cloud Images是云服务镜像,包括aws亚马逊云,gcp谷歌云等;Zabbix Container Images是用于docker容器;Zabbix Appliance是经过处理加工的zabbix文件包,其中包括iso镜像包、vdmk虚拟机磁盘数据包等,将所有文件包下载到虚拟机中即可直接使用;Zabbix Sources是zabbix的源代码包,用于编译安装的tar包,下载后进行编译安装,对比rpm包性能更加优越;最后一个Zabbix Agents就是zabbix客户端的安装包,包括不同的系统,如windows64位、32位、macOS系统等。所以在大多数生产环境中,选择rpm包yum安装或者tar包编译安装。

    2.zabbix的yum源更新操作流程

    这里我们以yum安装为例,选择Install from Packages类型下的4.0LTS-Red Hat Enterprise Linux-7-MySQL版本,这里4.0LTS版本中的TLS是指Long Time Support 长期维护版本,Red Hat Enterprise Linux是指红帽公司提供的zabbixd的yum源,这里与CentOS一致,7指使用的系统版本,CentOS7就选择7,CentOS6就选择6,最后是选择数据库服务,推荐选择MySQL,如下图所示:

    image.png
    接下来小伙伴们可以通过多种方式来更新本地zabbix的yum源,下图是来自zabbix官网的yum源地址,还可以采用国内清华源地址https://mirrors.tuna.tsinghua.edu.cn/或者阿里源地址https://opsx.alibaba.com/mirror进入到镜像站后选择zabbix进入点击4.0版本选择rhel,在选择你当前linux系统版本,最后选择行x86_64/的64位镜像,进入后选择zabbix-release,至于小版本看个人需求,影响不大,最后选择el7结尾的rpm包即可,复制后进入服务器后,通过rpm -ivh粘贴即可,具体操作流程如下:
    官方源下载版本:复制粘贴到服务器中即可(但因源地址为外网地址速度较慢,对网络要求较高)
    image.png
    清华源下载地址:操作流程
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png
    通过rpm -ql命令检查zabbix的yum源,出现下图标记则代表zabbix源更新成功
    image.png
    但是由于清华源地址下载的rpm包本质上还是在zabbix官网地址上的,所以我们需要执行以下命令“sed -i 's#http://repo.zabbix.com/#https://mirrors.tuna.tsinghua.edu.cn/zabbix/#g' /etc/yum.repos.d/zabbix.repo ”将zabbix官网地址替换成清华源即可,最终文件内容显示如下即可:
    image.png

    ps:阿里云镜像站zabbix源文件内容(复制粘贴即可用)

    cat <<EOF > /etc/yum.repos.d/zabbix.repo
    [zabbix]
    name=Zabbix Official Repository - \$basearch
    baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
     
    [zabbix-non-supported]
    name=Zabbix Official Repository non-supported - \$basearch
    baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=1
    EOF
    

    二、zabbix环境准备及安装内容

    1.环境准备

    yum  install  -y  httpd  php  mariadb-server
    

    这里所说的环境准备其实就是zabiix显示页面LAMP环境的准备,httpd是Apache超文本传输协议(HTTP)服务器的主程序,端口默认是80,如服务器还存在nginx服务,其默认端口也是80,关闭或修改端口信息即可;php是超文本预处理器,是一种通用开源脚本语言,在介绍篇中也提到过,zabbix显示页面是以php语言开发的;mariadb就是数据库的一种,这里就不过多阐述,主要就是存放zabbix监控数据信息的,一般初始设置为本地,生产环境中可以通过数据库迁移,迁移到数据库服务器上

    2.zabbix服务端安装及安装内容

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

    这里再次强调一下,zabbix服务器既是服务端也是客户端,所以也需要安装zabbix-agent客户端,zabbix-web-server则是web页面的一些插件,安装具体内容如下:

    rpm -qa   zabbix-server-mysql zabbix�web-mysql zabbix-agent httpd php mariadb-server
    zabbix-server-mysql-4.0.12-1.el7.x86_64     #zabbix-server-mysql主要下载了关于zabbix监控服务端的一些操作命令
    zabbix-web-mysql-4.0.12-1.el7.noarch 
    zabbix-agent-4.0.13-1.el7.x86_64  
    mariadb-server-5.5.64-1.el7.x86_64  
    httpd-2.4.6-90.el7.centos.x86_64
    php-5.4.16-46.el7.x86_64
    

    zabbix-server-mysql主要下载内容及作用(mysql就是代表zabbix使用的MySQL数据库)

     rpm -ql zabbix-server-mysql 
    /etc/logrotate.d/zabbix-server   #日志切割配置文件
    /etc/zabbix/zabbix_server.conf   #zabbix服务端的配置文件 配置数据库相关
    /usr/lib/systemd/system/zabbix-server.service  #zabbix-server管理配置文件(命令)
    /usr/lib/zabbix/alertscripts          #zabbix监控报警 脚本 告警/报警 发邮件/发微信
    /usr/lib/zabbix/externalscripts  #zabbix监控检测网络状况并发出警告
    /usr/sbin/zabbix_server_mysql    #zabbix服务端命令
    /usr/share/doc/zabbix-server-mysql-4.0.12/create.sql.gz  #创建zabbix数据库后初始化脚本 (在zabbix数据库中 创建表 字段xxx)
    /usr/share/man/man8/zabbix_server.8.gz  #关于zabbix监控帮助即man手册内容压缩包
    /var/log/zabbix    #zabbix日志
    /var/run/zabbix   ---> /run/zabbix #进程pid文件
    

    zabbix-web-mysql下载内容——web页面插件

    注意:由于我们下载的是zabbix-web-mysql,所以当我们执行rpm -ql zabbix-web-mysql查看下载内容时,发现没有包含文件,是因为真正的文件包名称为zabbix-web-4.0.14-1.el7.noarch,如下图:

    image.png
    zabbix-web-4.0.14-1.el7.noarch内容如下:(主要内容均是以php结尾的处理动态页面请求的脚本文件,内容太多只取一部分)
    image.png

    zabbix客户端软件包内容

    rpm -ql zabbix-agent
    /etc/logrotate.d/zabbix-agent  #zabbix客户端配置文件 主配置文件
    /etc/zabbix/zabbix_agentd.conf  #目录下面的内容是zabbix扩展配置,类似于 /etc/nginx/conf.d/
    /etc/zabbix/zabbix_agentd.d     #自定义监控配置存放处
    /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf #自定义监控
    

    3.LAMP显示环境与LNMP显示环境关系图

    生产环境中基本无差别


    image.png

    三、zabbix数据库准备与连接

    1.zabbix数据库准备

    systemctl stop nginx
    systemctl disable nginx
    systemctl start mariadb
    systemctl enable mariadb
    mysql        #初始无密码
    create database zabbix default charset utf8;  #创建zabbix表并设定UTF-8字符集
    grant all on zabbix.*  to 'zabbix'@'localhost' identified by '123456'
    grant all on zabbix.* to 'zabbix'@'172.16.1.%' identified by '123456' 
    select user,host from mysql.user;  #select是查看字段的主要语句,而show是主要查看表或者库的主要语句, 该语句的意思就是指,查看mysql库的user表,下的user字段和host字段,产看多个字段用逗号连接
    

    补充
    1:当XShell与Linux的字符集一致时,显示无乱码,均默认为UTF-8
    2:当Linux与数据库字符集一致时,用户访问网站,读取数据库信息时显示无乱码,但Linux默认字符集为UTF-8,而数据库默认字符集为Latin,可以通过“show create database 任意未指定字符集的表”,查看默认字符集,如下图:

    默认字符集查看
    3:当我们连接的是MySQL数据库或者是MariaDB数据库时存在一个微小的小Bug(5.5/5.6版本才会出现),就是当user表中的user字段为空时,那么部分连接数据库地址将无法正常使用,因此我们将user字段中的空子段删除即可,并更新权限表(修改用户信息时建议更改后第一时间更新权限表flush privileges)如下图:
    user表中空字段

    2.修改Zabbix服务端配置文件

    编辑zabbix服务端配置文件,使得zabbix通过配置文件直接识别到对应的zabbix数据库中,编辑内容如图所示:


    配置文件修改内容

    3.手动导入zabbix数据库相关表

    当zabbix数据库创建成功后,由于数据库中没有任何的表结构和其他相关字段信息,因此我们需要将初始化脚本的压缩包导入到zabbix数据库中

    ll /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz  #查看初始化脚本为giz压缩包
    -rw-r--r-- 1 root root 1316758 Oct 28 17:16 /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz
    zcat /usr/share/doc/zabbix-server-mysql-4.0.14/create.sql.gz | mysql -uroot -p 123456 zabbix #通过zcat命令将压缩包在不解压的情况下导入到数据库中的zabbix库中
    

    补充:zcat命令就是将以giz压缩格式的压缩包在不解压的请款下查看其压缩包内容
    最终导入结束后如下图(导入需一些时间不要着急):

    zabbix部分表信息

    4.修改zabbix时间戳

    zabbix在监控过程中,需要时刻校对时间信息,因此在配置过程中,我们需要将zabbix的时区进行确定,因为zabbix没有默认时区,我们需要修改/etc/httpd/conf.d/zabbix.conf文件,将时区更改为亚洲/上海,注意大小写,修改内容如下:


    时区修改内容

    5.web页面连接数据库

    • 启动所有相关服务端程序
    systemctl enable zabbix-server.service httpd.service zabbix-agent.service mariadb
    systemctl start zabbix-server.service httpd.service zabbix-agent.service mariadb
    
    • web页面访问配置zabbix
      在web页面输入对应IP地址登录(如10.0.0.71/zabbix),之后一直点击下一步即可如图:
      初始访问页面
      点击下一步后显示状态全部为OK即可,如下图:
      正常状态显示
      点击下一步显示web页面连接数据库,如实填写端口密码信息即可(端口写0就行),如下图
      web页面连接数据库
      点击下一步显示zabbix服务端信息,如图所示,其中Host信息代表zabbix服务端地址,如果zabbix服务端和数据库在同一台服务器上则填写localhost,如不在则填写zabbix服务端所在的IP地址,端口为10051即zabbix服务端默认端口号,Name随意
      zabbix服务端信息
      点击下一步,确认刚刚所填写信息,如图:
      zabbix信息确认
      点击下一步,安装成功并完成界面,如图:
      安装成功
      补充:后期修改zabbix服务端的web页面连接的数据库地址,我们需要修改的配置文件为: /etc/zabbix/web/zabbix.conf.php,如图:
      后期修改zabbix连接web页面
      点击完成后,显示正式的登陆页面,初始用户名为Admin初始密码为zabbix,如图:
      登录页面

    四、Zabbix图形化界面

    1.修改web页面语言



    2.zabbix监控自己(即zabbix服务端监控zabbix服务端,使得zabbix即使服务端也是客户端)

    • 第一里程:修改zabbix客户端配置文件
      修改内容如下:注意的一点就是修改zabbix服务端地址时,由于此次是让zabbix服务端进行自我监控,所以默认不用修改,填写本地即可


      zabbix客户端修改内容
    • 第二里程:如果修改配置文件,则粗腰重启zabbix客户端
    systemctl restart zabbix-agent.service 
    
    • 第三里程:web页面查看,4号位置如果显示为绿色则已经正常启动监控(需要等待一会才会有显示),如图操作:


      zabbix服务端自我监控结果
    • 第四里程:查看zabbix自我监控数据,如图操作:


      数据产看

      点击图形即显示数据图形化,即数据走势


      数据图形化
    • 第五里程:直接查找所需图形化数据,选择不同主机及其需索监控选项,还可以选择监控对应时间,如图操作:
      精确查看数据图形化
      补充:在查看图形化数据的时候,有些图形会存在乱码现象,可以将图形化界面语言调回至英文版即可

    相关文章

      网友评论

          本文标题:监控服务-Zabbix安装篇

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