当前位置: 首页 > 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.lryc.cn/news/596493.html

相关文章:

  • 支付网关系统前后端鉴权方案
  • Linux笔记1——简介安装
  • 【实时Linux实战系列】实时文件系统的特性与优化
  • RK3568 Linux驱动学习——SDK烧录
  • Pandas核心数据结构详解
  • 拉普拉斯变换的理解
  • 【Lucene】架构
  • React 项目性能瓶颈分析
  • 力扣刷题 -- 572.另一颗树的子树
  • rk平台(rv1126/rk3588)音视频-交叉编译FFmpeg7.1
  • 蔚来汽车视觉算法面试30问全景精解
  • 【OpenCV篇】OpenCV——01day.图像基础
  • Redis 八股面试题
  • AI视频-剧本篇学习笔记
  • 猎板 PCB:多场景适配下印制线路板的材料选择优化策略
  • 《2025年5月鸽哒IM即时通讯原生双端APP源码解析:支持视频通话与实时语音(附实测数据)》
  • C语言:函数基础
  • 博途V18软件Automation License Manager中发生了内部错误解决方法
  • SMTP+VRRP实验
  • 14.8 LLaMA2-7B×Dolly-15K实战:从准确率63%到89%,如何用优质数据让大模型性能飙升42%?
  • C语言(20250722)
  • C语言(八)
  • es搜索实现既能模糊查询又能分词查询
  • 永不疲倦的守护者:Deepoc具身智能如何重塑安保机器人的“火眼金睛”
  • Kotlin多线程调试
  • 【机器学习】第五章 聚类算法
  • [Semantic Seg][KD]FreeKD: Knowledge Distillation via Semantic Frequency Prompt
  • JS--M端事件
  • Docker容器 介绍
  • Taro 网络 API 详解与实用案例