Zabbix自定义监控内容实验(带自动报警)

实验前准备

zabbix服务端:192.168.188.17

zabbix客户端:192.168.188.11

  1. 部署zabbix服务端(192.168.188.17)
    zabbix-server 内存至少2G,推荐4G
    (1) 关闭防火墙
    systemctl stop firewalld
    setenforce 0
    (2)获取zabbix下载源
    rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    (3)更换zabbix.repo为阿里源,下得快一点
    cd /etc/yum.repos.d
    sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
    yum clean all && yum makecache
    yum install -y zabbix-server-mysql zabbix-agent
    (4)安装SCL,便于安装高版本php
    yum install -y centos-release-scl
    修改zabbix-front前端源,安装zabbix前端环境到scl环境下
    vim zabbix.repo
    开启安装源

    yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
    (5)安装zabbix所需的数据库,把zabbix服务端所需要的数据库结构直接下载下来
    yum install -y mariadb-server mariadb
    开启
    systemctl start mariadb
    初始化数据库,并设置密码,比如123
    mysql_secure_installation

    创建zabbix所需要的数据库并为zabbix用户授权
    mysql -u root -p123
    create DATABASE zabbix character set utf8 collate utf8_bin;
    GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
    flush privileges;
    查询Zabbix数据库文件的位置

    解压Zabbix自带的数据库的建库语句压缩包并导入到mariadb数据库中
    zcat /usr/share/doc/zabbix-server-mysql-5.0.40/create.sql.gz | mysql -uroot -p123 zabbix
    (6)修改zabbix server配置文件
    vim /etc/zabbix/zabbix_server.conf
    改数据库密码

    修改zabbix的php配置文件
    vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    改时区

    (7)启动zabbix相关服务
    systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
    (8)测试
    浏览器访问:http:192.168.188.17/zabbix
    点击下一步

    设置数据库的密码zabbix

    安装完成后点击finish然后登录,默认账号为Admin,密码为zabbix

    登录后点击左侧菜单栏User settings,在Language中选择chines(zh_CN),再点击Update更新

    (9)如果中文乱码怎么办?
    在虚拟机上安装相应的工具
    yum install -y wqy-microhei-fonts
    \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
  2. 部署zabbix客户端(192.168.188.11)
    (1)关闭防火墙
    systemctl stop firewalld
    setenforce 0
    (2)客户端和服务端都配置时间同步
    yum -y install ntpdate
    ntpdate -u ntp.aliyun.com

    客户端配置时区,与服务器保持一致
    mv /etc/localtime{,.bak} 这一步就是在备份
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    (3)设置zabbix的下载源,安装zabbix-agent2
    rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    cd /etc/yum.repos.d
    sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
    yum install -y zabbix-agent2
    (4)修改agent2配置文件
    vim /etc/zabbix/zabbix_agent2.conf
    指定zabbix服务端的IP地址

    指定zabbix服务端的IP地址

    指定当前zabbix客户端的主机名

    把当前主机的主机名也改一下
    hostnamectl set-hostname zbx-agent01
    bash

    (5)启动zabbix-agent2
    systemctl start zabbix-agent2
    查看端口,是否正常启动
    netstat -anpt | grep zabbix

    (6)在服务端验证zabbix-agent2的连通性
    安装zabbix主动获取数据的命令
    yum -y install zabbix-get
    获取数据
    zabbix_get -s '192.168.10.21' -p 10050 -k 'agent.ping'
    zabbix_get -s '192.168.10.21' -p 10050 -k 'system.hostname'

    (7)在Web页面中添加agent主机
    左侧菜单栏配置中点击主机,点击创建主机,如下配置

    再点击上方菜单栏中的模板,链接新模板后点击添加

    注意看只有可用性那一栏有绿色亮着的才是能用的
  3. 自定义监控内容
    假设需要限制登录人数,当登录人数超过3个就发出警报信息
    (1)在客户端上定义key
    我们要先知道获取登录人数的命令是什么
    who | wc -l
    可以看到我这台客户端已经有三个登录用户了

    创建zabbix的监控项配置文件,用于自定义key
    vim /etc/zabbix/zabbix_agent2.conf
    表示将自定义的监控项配置文件创建在zabbix_agent2.d目录中

    在下面定义一下自定义监控项的格式,默认就是这个格式

    在zabbix_agent2.d目录中创建自定义配置项的文件
    cd /etc/zabbix/zabbix_agent2.d/
    这个文件名字随便取,但必须是.conf后缀
    vim User_login.conf
    里面只需要按定义的格式写一条就行
    UserParameter=login.user,who|wc -l
    这里的login.user就是key,这个名字可以随便取,key对应的value就是后面那条shell command的执行结果

    重启服务
    systemctl restart zabbix-agent2
    (2)先去服务端验证一下这个监控项能不能用,我们这就是通过查看login.user这个key对应的value来监控客户端的登录人数
    zabbix_get -s '192.168.188.11' -p 10050 -k 'login.user'
    能看到确实是三个没问题

    (3)在Web页面创建自定义监控模板,总共五步走
    第一步创建模板


    现在就可以在模板里找到这个模板了

    第二步点击Template Login User创建应用集,应用集是用于管理监控项的



    第三步创建监控项



    第四步创建触发器,触发器就是在监控项满足一定条件时触发警报




    第四点五步创建图形,这一步不是必须的,可以学习一下



    第五步将主机与模板关联起来


    此时就可以看到图表形式的监控了

    (4)为了方便测试我们可以在仪表盘上加一个组件,专门监测客户端


    添加完毕,目前风平浪静

    然后我们再开一个shell,成为第四个登录的用户

    然后就能看到告警了

    关了第四个登录,就会显示已解决的状态

    (5)为了更方便运维,还可以设置邮件报警


    QQ邮箱的授权码怎么获得
    登录QQ邮箱后点击右上角"账号与安全"


    后面按提示操作就可以获得授权码了

    可以测试一下


    点击测试就能收到测试邮件了,说明没问题

    继续做完成自动化告警


    测试一下,再登录一个,触发报警,看看能不能实现自动报警
    仪表盘上有了

    邮箱里也收到了
相关推荐
Aubrey-J9 分钟前
Linux中快速部署Elasticsearch(基础&TLS配置)
linux·服务器·elasticsearch
奥尔特星云大使44 分钟前
详细的Linux系统更新yum源的教程
linux·运维·服务器·ubuntu·centos·yum源·epel源
lht6319356121 小时前
Ubuntu Server 系统安装图形界面
linux·运维·ubuntu
christine-rr1 小时前
linux常用命令(6)——网络管理
linux·服务器·网络·ubuntu·网络安全
isyangli_blog1 小时前
Linux (CentOS 7.9) vmware 创建与安装
linux·运维·centos
AHUGEFATTY1 小时前
centos离线包获取-附centos7主流离线包资源
linux·运维·centos
hjlgs2 小时前
Kernel5.4 Timer定时器使用
linux
Do_GH2 小时前
【Linux】02.WSL搭建Linux环境
linux·运维·服务器
「QT(C++)开发工程师」2 小时前
C++语言编程规范-并发
java·linux·c++
乌萨奇也要立志学C++3 小时前
【Linux】进程控制(三) 自定义 Shell 命令行解释器的实现与进程协作实践
linux·运维·服务器