当前位置: 首页 > news >正文

day059-zabbix自定义监控与自动发现

文章目录

  • 0. 老男孩思想-信念的力量
  • 1. zabbix自定义监控项
    • 1.1 zabbix键值(key)
    • 1.2 命令行执行键值
    • 1.3 自定义监控项
      • 1.3.1 自定义键值
      • 1.3.2 前端创建监控项
      • 1.3.3 测试
  • 2. 触发器
    • 2.1 配置触发器
    • 2.2 测试
    • 2.3 查看告警记录
  • 3. 图形
  • 4. 模板
    • 4.1 创建模板
    • 4.2 关联客户端
  • 5. 带参键值
    • 5.1 自定义带参键值-检查用户是否异地登录
      • 5.1.1 自定义键值
      • 5.1.2 添加监控项
      • 5.1.3 配置触发器
      • 5.1.4 测试
  • 6. 自定义监控故障
    • 6.1 awk取列故障
    • 6.2 客户端zabbix用户权限问题
    • 6.3 键值命令执行超时
  • 7. 自动发现
    • 7.1 发现动作
    • 7.2 客户端批量化配置
  • 8. 思维导图

0. 老男孩思想-信念的力量

强大的信念就是强烈的自信心。一个人的信念是否强大,取决于性格、能力、学历、知识储备、认知格局以及家庭背景。

因为自己没有高学历就认为自己不行,比没有高学历本身更可怕。

在这里插入图片描述

1. zabbix自定义监控项

1.1 zabbix键值(key)

  • 键值用于监控zabbix客户端

在这里插入图片描述

1.2 命令行执行键值

  • zabbix_get:执行键值命令
    • -s:指定zabbix服务端地址
    • -p:指定zabbix服务端端口
    • -k:指定键值
[root@m03 ~]# docker exec -it zabbix-server-mysql-7.0 bash
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k system.hostname
web01.oldboy.cn
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k system.uname   
Linux web01.oldboy.cn 4.19.90-52.22.v2207.ky10.x86_64 #1 SMP Tue Mar 14 12:19:10 CST 2023 x86_64

1.3 自定义监控项

  • 以获取僵尸进程数量为例

1.3.1 自定义键值

# 在客户端自定义键值
[root@web01.oldboy.cn ~]# cat /etc/zabbix/zabbix_agent2.d/sys.conf
# 进程信息
# UserParameter=键值,命令或脚本
UserParameter=proc.zombie,top -bn1 |awk 'NR==2{print $(NF-1)}'
[root@web01.oldboy.cn ~]# systemctl restart zabbix-agent2.service 
# 服务端测试
[root@m03 ~]# docker exec -it zabbix-server-mysql-7.0 bash
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k proc.zombie
0

1.3.2 前端创建监控项

在这里插入图片描述

在这里插入图片描述

1.3.3 测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 触发器

触发器用来定义告警的条件和程度

2.1 配置触发器

  • 以存在僵尸进程为例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3 查看告警记录

在这里插入图片描述

3. 图形

图形可以将多个监控项的图标放在一起查看

  • 查看各种进程数量

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4. 模板

为多个客户端配置相同的监控项、触发器、图形就需要模板

4.1 创建模板

在这里插入图片描述

  • 复制监控项、触发器、图形到模板

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2 关联客户端

在这里插入图片描述

在这里插入图片描述

  • 客户端配置相应键值
[root@web03.oldboy.cn ~]# cat /etc/zabbix/zabbix_agent2.d/sys.conf
# 僵尸进程数量
UserParameter=proc.zombie,top -bn1 |awk 'NR==2{print $(NF-1)}'
[root@web03.oldboy.cn ~]# systemctl restart zabbix-agent2.service 

在这里插入图片描述

5. 带参键值

  • 官方内置键值地址:[1 Zabbix agent](https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/zabbix_agent)
  • 键值中需要提供参数
    • 带有<>的参数可以省略
  • net.tcp.port[<ip>,port]:检查是否能够建立到指定端口的TCP连接。
    • 返回值:0 - 无法连接;1 - 可以连接。
[root@m03 /app/tools/zbx]# docker-compose exec -it zbx_server bash
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k net.tcp.port[,80] 
1 
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k net.tcp.port[,8080]
0 
  • proc.num[<name>,<user>,<state>,<cmdline>,<zone>]:返回进程数量
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k proc.num[]
177
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k proc.num[nginx]
3
# 返回僵尸进程数量
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k proc.num[,,zomb]
6

5.1 自定义带参键值-检查用户是否异地登录

5.1.1 自定义键值

# 获取指定用户最近一次登录的IP
[root@web01.oldboy.cn ~]# lastlog -u root |awk 'NR==2{print $3}'
10.0.0.1
# 定义客户端键值
[root@web01.oldboy.cn ~]# cat /etc/zabbix/zabbix_agent2.d/sys.conf
# 进程信息
UserParameter=proc.zombie,top -bn1 |awk 'NR==2{print $(NF-1)}'
# 查看用户最近IP;awk中$符号可能有歧义,所以再加一个$
UserParameter=user.login.ip[*],lastlog -u root |awk 'NR==2{print $$3}'
[root@web01.oldboy.cn ~]# systemctl restart zabbix-agent2.service 
[root@web01.oldboy.cn ~]# zabbix_agent2 -t user.login.ip[root]
user.login.ip[root]                           [s|10.0.0.1]# 服务端测试
zabbix@925d50fe425e:~$ zabbix_get -s 172.16.1.7 -p 10050 -k user.login.ip[root]
10.0.0.1

5.1.2 添加监控项

在这里插入图片描述

5.1.3 配置触发器

在这里插入图片描述

5.1.4 测试

  • 从其他服务器登录web0即可

在这里插入图片描述

6. 自定义监控故障

6.1 awk取列故障

  • 如果是带有参数的键值,awk取列时应该使用两个$
  • 否则会与取参的$符号冲突

6.2 客户端zabbix用户权限问题

  • zabbix客户端指定监控键值时,使用的zabbix虚拟用户
  • 某些文件的权限较小,因此会有权限问题
  • 可以为zabbix用户配置sudo权限:zabbix ALL=(ALL) NoPASSWORD:ALL
  • 或者,修改客户端指定键值的默认用户:

在这里插入图片描述

6.3 键值命令执行超时

  • zabbix前端显示监控项的超时时间默认是3秒
  • 键值执行命令或脚本超过3秒后,前端就会报错

7. 自动发现

服务端自动发现网络中的客户端,并添加监控项

在这里插入图片描述

7.1 发现动作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.2 客户端批量化配置

  • 每个客户端需要安装zabbix-agent2服务
  • 可以用ansible执行
# ansible剧本
- name: 安装并配置 Zabbix Agent2hosts: allbecome: yes  # 使用 root 权限执行tasks:# 任务1:安装 Zabbix Agent2- name: 安装 Zabbix Agent2yum:name: https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/7/x86_64/zabbix-agent2-7.0.0-release1.el7.x86_64.rpmstate: present# 任务2:修改配置文件- name: 配置 Zabbix Server 地址lineinfile:path: /etc/zabbix/zabbix_agent2.confregexp: '^Server='line: 'Server=172.16.1.63'state: presentbackup: yes  # 修改前备份原文件

8. 思维导图

https://kdocs.cn/join/gpuxq6r?f=101\r\n邀请你加入共享群「老男孩教育Linux运维99期-孙克旭」一起进行文档协作

http://www.dtcms.com/a/292500.html

相关文章:

  • Node.js:Web模块、Express框架
  • es6中的symbol基础知识
  • 在Android开发中,如何获取到手机设备的PIN码?
  • 如何安装CMake较新的版本
  • Apache Ignite 长事务终止机制
  • 精密全波整流电路(一)
  • torchvision.transforms 与 MONAI 数据增强的异同
  • Cloud 与 VPS 的区别:如何选择最适合你的服务器解决方案?
  • stream流入门
  • 【打怪升级 - 01】保姆级机器视觉入门指南:硬件选型 + CUDA/cuDNN/Miniconda/PyTorch 安装全流程(附版本匹配秘籍)
  • vmware 克隆虚拟机,报错:克隆时出错:指定不存在的设备。然后电脑卡死,只能强制关机再开机。
  • FastDFS 6.11.0 单机环境搭建与测试(附 Nginx 集成)+ docker构建+k8s启动文件
  • 用org.apache.pdfbox 转换 PDF 到 图片格式
  • KafkaMQ 日志采集最佳实践
  • Python 正则表达式:入门到实战
  • 日常随笔-React摘要
  • 【ROS/DDS】FastDDS :编写FastDDS程序实现与ROS2 通讯(四)
  • 深入浅出理解 TCP 与 UDP:网络传输协议的核心差异与应用
  • 平台端用户管理功能设计全解:从分类管控到审核闭环
  • 基于springboot的疫苗发布和接种预约系统(论文+开题报告)
  • 实现分布式锁
  • 腾讯云SDK
  • 论文笔记:Parameter Competition Balancing for Model Merging
  • MongoDB频繁掉线频繁断开服务的核心原因以及解决方案-卓伊凡|贝贝|莉莉|糖果
  • 在Windows 10/11上使用Qt和SOEM构建EtherCAT主站:工业控制新纪元
  • 【Axure视频教程】形状地图
  • Qt 事件处理机制深入剖析
  • 【OpenCV篇】OpenCV——01day.图像基础
  • 通俗易懂循环神经网络(RNN)指南
  • cookie基本使用