• zabbix监控手动部署、邮件告警


    目录

    一、zabbix概述

    二、zabbix功能

    三、部署zabbix

     自定义监控内容


    一、zabbix概述

    • Zabbix 是一个企业级分布式开源监控解决方案
    • Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。
    • zabbix可以运行在lamp或者lnmp架构之上,如果想实现分布式监控,使用的底层架构最好是lnmp架构,但是我们知道nginx的动态处理能力很弱,所以将动态请求转交给php进行处理

    二、zabbix功能

    详细信息:Zabbix 分布式系统监视

    数据采集
    灵活的阈值定义
    高度可配置化的告警
    实时图形
    web监控功能
    可视化选项繁多
    配置简单
    ……

    三、部署zabbix

    环境配置

    主机 操作系统 IP地址 所需软件
    server CentOS7.6 192.168.130.70 /
    client CentOS7.6 192.168.130.10/

    1. server
    2. systemctl disable --now firewalld
    3. setenforce 0
    4. hostnamectl set-hostname zbx-server
    5. //获取 zabbix 的下载源
    6. rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    7. //更换 zabbix.repo 为阿里源
    8. cd /etc/yum.repos.d
    9. sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
    10. yum clean all && yum makecache

    1. yum install -y zabbix-server-mysql zabbix-agent
    2. //安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /etc/opt/rh 目录下。
    3. yum install -y centos-release-scl
    4. //修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下
    5. vim zabbix.repo
    6. ......
    7. [zabbix-frontend]
    8. ......
    9. enabled=1 #开启安装源
    10. ......
    11. yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
    12. //安装 zabbix 所需的数据库
    13. yum install -y mariadb-server mariadb
    14. systemctl enable --now mariadb

    1. mysql_secure_installation #初始化数据库,并设置密码,如 abc123
    2. //添加数据库用户,以及 zabbix 所需的数据库信息
    3. mysql -u root -pabc123
    4. CREATE DATABASE zabbix character set utf8 collate utf8_bin;
    5. GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
    6. flush privileges;
    7. //导入数据库信息
    8. rpm -ql zabbix-server-mysql #查询 sql 文件的位置
    9. zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix
    10. //修改 zabbix server 配置文件,修改数据库的密码
    11. vim /etc/zabbix/zabbix_server.conf
    12. ......
    13. DBPassword=zabbix #124行,指定 zabbix 数据库的密码
    14. //修改 zabbix 的 php 配置文件
    15. vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    16. ......
    17. php_value[date.timezone] = Asia/Shanghai #24行,取消注释,修改时区
    18. //启动 zabbix 相关服务
    19. systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
    20. systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
    21. 浏览器访问:http://192.168.130.70/zabbix
    22. 点击下一步,设置数据库的密码 zabbix
    23. 安装完成后,默认的登录账号和密码为:Admin/zabbix
    24. 设置文件界面:点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。
    25. //解决 zabbix-server Web页面中文乱码问题
    26. yum install -y wqy-microhei-fonts
    27. \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

     

     

     

    修改zabbix客户端192.168.130.10

     ​​​​​​​

     

    1. server端
    2. yum install -y zabbix-get.x86_64
    3. zabbix_get -s '192.168.130.10' -p 10050 -k 'agent.ping' 如果回复1则表示正常
    4. zabbix_get -s '192.168.130.10' -p 10050 -k 'system.hostname'

     

     自定义监控内容

     案列和需求

    1.案列:自定义监控客户端服务器登录的人数
    2.需求:限制登录人数不超过3个,超过3个就发出报警信息

    在客户端创建自定义key
    明确需要执行的linux命令

    1. vim /etc/zabbix/zabbix_agent2.conf
    2. #可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
    3. 268 Include=/etc/zabbix/zabbix_agent2.d/*.conf
    4. #自定义监控项的格式如下
    5. 291 # Format: UserParameter=<key>,<shell command>
    6. cd /etc/zabbix/zabbix_agent2.d/
    7. vim UserParameter_login.conf
    8. UserParameter=login.user,who|wc -l
    9. systemctl restart zabbix-agent2

     

     

     在Web页面创建自定义监控项模板
    创建模板

    1. 点击左边菜单栏【配置】中的【模板】,点击【创建模板】
    2. 【模板名称】设置成 Template Login User
    3. 【可见的名称】设置成 Template Login User
    4. 【群组】选择 Template
    5. 【描述】可自定义
    6. 点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User

     在创建的目录下寻找模板

     创建监控项

    1. 点击上方菜单栏【监控项】,点击【创建监控项】
    2. 【名称】设置成 Number of login users
    3. 【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
    4. 【更新间隔】设置成 10s
    5. 【历史数据保留时长】Storage period 30d #保留时间可自定义设置
    6. 点击 【添加】

     创建触发器(判断是否报警)

    1. 点击上方菜单栏【触发器】,点击【创建触发器】
    2. 【名称】设置成 Number of login users is greater than 3
    3. 【严重性】设置成 一般严重
    4. 【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 6,点击 【插入】
    5. 点击 【添加】

    创建图形

    1. 点击上方菜单栏【图形】,点击【创建图形】
    2. 【名称】设置成 Number of login users
    3. 【宽】、【高】可直接采用默认值
    4. 【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
    5. 点击 【添加】

     将主机与模板关联起来(一个主机可以关联多个模板)

    1. 点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
    2. 点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
    3. 此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

     

    设置邮件报警

    1. 点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
    2. 【名称】设置成 qq_Email
    3. 【SMTP服务器】设置成 smtp.qq.com
    4. 【SMTP服务器端口】设置成 25
    5. 【SMTP HELO】设置成 qq.com
    6. 【SMTP电邮】设置成 自己的邮箱地址,例如 3320236972@qq.com
    7. 【认证】选择 用户名和密码
    8. 【用户名称】设置成 自己的邮箱地址,例如 3320236972@qq.com
    9. 【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
    10. 【描述】可自定义
    11. 点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
    12. 点击 【添加】,并测试功能
    13. 点击左边菜单栏【User settings】-->【报警媒介】,点击【添加】
    14. 【类型】选择 qq_Email
    15. 【收件人】设置成 3320236972@qq.com
    16. 【当启用时】设置成 1-7,00:00-24:00
    17. 点击 【添加】
    18. 再点击 【更新】
    19. 点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】
    20. //测试邮件报警
    21. 增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

     

     

     

     

     

     

  • 相关阅读:
    京东:获得商品详情原数据 API
    暑期JAVA学习(36)线程池
    MOM与MES管理系统有哪些本质上的区别
    What is a Swap Chain?
    [附源码]SSM计算机毕业设计基于篮球云网站JAVA
    【区块链 | 预言机】价格预言机的使用总结(二):UniswapV2篇
    java面试强基(1)
    WPF布局控件之StackPanel布局
    2023江苏师范大学计算机考研信息汇总
    python 脚本 解决 windows 端口占用问题
  • 原文地址:https://blog.csdn.net/javaaaa123/article/details/127877713