zabbix4.0学习六:Zabbix监控日志

2023-05-16

zabbix4.0学习六:Zabbix监控日志

前言

我们希望监控日志,在日志出现特定标识或字符串时打印出日志,并邮件通知我们,以便我们手动处理。(当然使用动作可自动处理)。
zabbix能收集指定文件里的信息并展示出来。

原理

原理也很简单,zabbix-agent就是搜索指定文本文件里内容,通过正则表达式匹配关键字,如果匹配成功,则把该行信息主动发送给zabbix-server。由些延伸出一些条件或者是限制。

  1. 怎样保证搜索的是变化的文件内容而不是老数据
    Zabbix Server和Zabbix Agent会追踪日志文件的大小和最后修改时间,并且分别记录在字节计数器和最新的时间计数器中,字节计数器和最新时间计数器的数据会被记录在Zabbix数据库,并且发送给Agent,这样能够保证Agent从上次停止的地方开始读取日志。
  2. 监控哪些日志
    有单一的指定文件路径或者以正则表达式匹配路径方式,所有符合配置的文件,都会被监控。
  3. 检查周期
    到每个Update interval的时间时,Agent会检查一次目录下的文件。
  4. 每秒传输最大行数
    Zabbix Agent每秒发送日志量,有一个日志行数上限,防止网络和CPU负载过高,这个数字在zabbix_agentd.conf中的MaxLinePerSecond。
  5. 特殊情况
    当日志文件大小小于字节计数器中的数字时,字节计数器会变为0,从头开始读取文件

最核心的概念就是zabbix会不停的处理变更的日志文件并发送到zabbix-server服务器时。

例子:监控tomcat日志

参考官网日志文件监控,重要
目的:监控tomcat日志并收集带有8080字样的行信息
环境:
两台机器

名称ip作用
zabbix-server192.168.2.33zabbix服务器端
zabbix-agent192.168.1.239zabbix客户端

zabbix-agent

默认情况下,zabbix-agent主动和被动模式都开启的,如果没特定修改过,这里不用修改,除了ServerActive指向zabbix-server的ip外。

测试权限

必需测试zabbix对日志是否有读取权限,使用sudo命令切换身份执行命令。

sudo -u zabbix  cat /usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out

如果能打印出来则表示有权限读取

配置监控项

找到主机192.168.1.239添加监控项.
名称:随机
类型zabbix客户端(主动式)
键值log[/usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out,8080,]
信息类型日志
其它都默认即可
完整效果如下图:
在这里插入图片描述

测试

上面的配置是指定了/usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out日志,并搜索带有8080字符串的行信息。
上面我说过,当日志文件大小小于字节计数器中的数字时,字节计数器会变为0,从头开始读取文件,catalina.out被覆盖为新输出日志时,表示它有了更新,zabbix-agent会从头开始读取文件。
故,重启tomcat,查看监测中->最新数据,输出如下

时间戳	当地时间	ֵ值
2019-02-19 09:37:03		
19-Feb-2019 09:37:02.699 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
2019-02-19 09:37:03		
19-Feb-2019 09:37:00.574 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
2019-02-19 09:37:03		
19-Feb-2019 09:36:55.632 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]
2019-02-19 09:37:03		
19-Feb-2019 09:36:55.627 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
2019-02-19 09:37:03		
19-Feb-2019 09:36:55.521 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:40.044 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:40.012 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:37.847 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:37.771 信息 [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.744 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.743 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.739 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.735 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.629 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]
2019-02-19 09:00:42		
19-Feb-2019 09:00:32.605 信息 [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]

总结

整个过程来看,指定了日志文件,使用正则表达式定义了需要匹配的关键字,zabbix即会从最新变化的日志里搜索出我们想要的行日志。其实说白了,就是对文件的处理,搜索类似文本的查找概念。

监控项介绍

zabbix有5个默认的日志监控项。
eventlog,log,log.count,logrt,logrt.count,其中eventlog只能在windows上使用。
参考Zabbix客户端-支持的监控项key

log

语法:log[file,,,,,,]
返回:被匹配的日志行
file:日志文件完整路径和名称
regexp:需要搜索的关键字符串或表达式
mode:all (默认值), skip - 跳过处理历史的数据(仅影响新创建的监控项)。
其它基本不用修改,可参考官网理解

log.count

语法:log.count[file,,,,,]
返回:被匹配的日志行数,整型
file:日志文件完整路径和名称
regexp:需要搜索的关键字符串或表达式
mode:all (默认值), skip - 跳过处理历史的数据(仅影响新创建的监控项)。
其它基本不用修改,可参考官网理解

logrt

logrt中,r是regexp,t是options
语法:logrt[file_regexp,,,,,,]
功能:支持监控轮询的日志文件。日志轮询是基于文件的最后修改时间。
返回:被匹配的日志行
file_regexp:文件名的正则表达式,例如"/home/zabbix/logs/^logfile[0-9]{1,3}$",匹配logfile1,logfile12,logfile123
regexp:需要搜索的关键字符串或表达式
mode:all (默认值), skip - 跳过处理历史的数据(仅影响新创建的监控项)。
其它基本不用修改,可参考官网理解

logrt.count

语法:logrt.count[file_regexp,,,,,]
功能:支持对循环日志文件监控中匹配的行数。
返回:返回:被匹配的日志行数,整型
file_regexp:文件名的正则表达式,例如"/home/zabbix/logs/^logfile[0-9]{1,3}$",匹配logfile1,logfile12,logfile123
regexp:需要搜索的关键字符串或表达式
mode:all (默认值), skip - 跳过处理历史的数据(仅影响新创建的监控项)。
其它基本不用修改,可参考官网理解

eventlog

语法:eventlog[name,,,,,,]
功能:windows事件日志监控。
打开方式:1. 控制面板->所有控制面板项->管理工具->事件查看器->windows日志查看事件,2. win+r打开,输入eventvwr.msc
参考Zabbix日志监控之监控Windows用户登录理解

触发器

比较常见的2个触发器条件如下
8080字符串匹配成功:{192.168.1.239:log[/usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out,8080,].str(8080)}=1
60秒内有数据:{192.168.1.239:log[/usr/local/tomcat/apache-tomcat-8.5.37/logs/catalina.out,8080,].nodata(60)}=0
完整效果如下:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zabbix4.0学习六:Zabbix监控日志 的相关文章

  • codeblock图形界面编程

    Code Blocks 是一款免费开源的 C C 43 43 IDE xff0c 支持 GCC MSVC 43 43 等多种编译器 xff0c 还可以导入 Dev C 43 43 的项目 Code Blocks 的优点是 xff1a 跨平台
  • 利用FFT成功实现拓扑识别(六)--为自己设计的滤波器做仿真验证

    为自己设计的滤波器做仿真验证 前文中我们已经设计好了2 4和6阶的数字带通滤波器 xff0c 实际效果如何昵 xff1f 可以通过mathlab工具进行仿真和验证 第一步 xff1a 导出滤波器 在mathlab的fdatool中设计好滤波
  • 使用Matlab编程实现FFT的频谱分析

    目录 使用Matlab编程实现FFT的频谱分析fft函数原始波形函数原始数据导入函数数据导出函数fft分析例程 使用Matlab编程实现FFT的频谱分析 用Matlab进行fft仿真分析 xff0c 最大的优势在于其丰富的函数库支撑 xff
  • 使用Matlab实现高噪声信号的FFT的频谱分析

    目录 使用Matlab实现高噪声信号的FFT的频谱分析原始信号原始信号FFT结果加噪信号加噪信号FFT结果其他加噪函数 使用Matlab实现高噪声信号的FFT的频谱分析 在实际的系统中 xff0c 噪声可以说是无处不在 xff0c 首先生成
  • 基于freertos的嵌入式系统开发(七)FreeRTOS的内存管理方法5

    目录 基于freertos的嵌入式系统开发 七 FreeRTOS的内存管理方法5 简介 内存申请函数void pvPortMalloc size t xWantedSize 内存释放函数void vPortFree void pv 空闲内存
  • 基于freertos的嵌入式系统开发(八)FreeRTOS的TCB

    目录 基于freertos的嵌入式系统开发 xff08 八 xff09 FreeRTOS的TCB简介TCB的定义 基于freertos的嵌入式系统开发 xff08 八 xff09 FreeRTOS的TCB 简介 FreeRTOS为了实现任务
  • zabbix4.0学习四:Zabbix监控tomcat故障重启

    zabbix4 0学习四 xff1a Zabbix监控tomcat故障重启 前言 使用zabbix监控tomcat的运行 xff0c 当tomcat停止运行 xff0c 则重启它 下面教程里 xff0c 在执行远程脚本时 xff0c 使用s
  • 基于freertos的嵌入式系统开发(九)FreeRTOS的全局变量

    目录 基于freertos的嵌入式系统开发 xff08 九 xff09 FreeRTOS的全局变量当前TCB指针pxCurrentTCB就绪任务列表pxReadyTasksList阻塞任务列表xDelayedTaskList1和xDelay
  • pycharm中做web应用(一)第一个web页

    目录 pycharm中做web应用 xff08 一 xff09 第一个web页Django 简介开发环境搭建django插件选择查看django版本 新项目创建启动项目web端验证项目 pycharm中做web应用 xff08 一 xff0
  • Matlab中利用FFT实现信号频谱搬移

    目录 Matlab中利用FFT实现信号频谱搬移只有实部的频谱搬移只有虚部的频谱搬移复函数下的频谱搬移 Matlab中利用FFT实现信号频谱搬移 在fft的理论中 xff0c fft的频移特性表示为 xff1a 也就是说 xff0c 要想对信
  • 解析IEC 61850通信规约

    目录 解析IEC 61850通信规约IEC61850适用场景IEC61850组成IEC61850库 解析IEC 61850通信规约 IEC61850标准是基于通用网络通信平台的变电站自动化系统唯一国际标准 xff0c 由国际电工委员会第57
  • C语言中的字符串转数字函数常见问题详解

    目录 C语言中的字符串转数字函数常见问题详解字符串转整形atoi函数 字符串转长整形strtol函数 xff0c C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型 xff1a int atoi const cha
  • 使用MATLAB进行三维空间绘图

    目录 使用MATLAB进行三维空间绘图一个入门例程matlab中的mesh 函数matlab中的meshgrid 函数matlab中的plot3函数例程代码解释 使用MATLAB进行三维空间绘图 三维图具有直观 立体的空间形象 xff0c
  • python特殊数据类型应用(2)元组类型

    目录 标题python特殊数据类型应用 xff08 2 xff09 元组类型元组的定义声明元组元组的访问元组和列表的相互转换元组和列表的区别 标题python特殊数据类型应用 xff08 2 xff09 元组类型 元组的定义 在python
  • python特殊数据类型应用(3)集合类型

    目录 python特殊数据类型应用 xff08 3 xff09 集合类型集合的定义集合的声明集合的运算集合元素的增加 xff1a 交集intersection 并集union差集difference xff1a 对称差集symmetric
  • python中字符串及其格式转换技巧

    目录 python中字符串及其格式转换技巧其他数据转为字符串字符串的格式化带格式限定符的格式化字符串的连接字符串切片字符串转换为 ASCII 值 python中字符串及其格式转换技巧 在python语言中 xff0c 对字符串的处理可以说是
  • Linux命令发送Http的get或post请求(curl和wget两种方法)

    xfeff xfeff Http请求指的是客户端向服务器的请求消息 xff0c Http请求主要分为get或post两种 xff0c 在Linux系统下可以用curl和wget命令来模拟Http的请求 下面就来介绍一下Linux系统如何模拟
  • 让bat文件后台运行

    让bat文件后台运行 文章目录 让bat文件后台运行 前言方法一方法二 前言 bat文件运行时会有一个黑黑的cmd exe窗口 xff0c 很吓人 xff0c 就算用start min命令去运行bat文件 xff0c 电脑的任务栏下仍然会有
  • 5.C语言中全局变量在多个文件中使用

    转自 xff1a https www eefocus com codevisionlife blog 13 12 300658 1a0b8 html 用C语言编写程序的时候 xff0c 我们经常会遇到这样一种情况 xff1a 希望在头文件中
  • 利用GitHub actions实现Docker Image的构建并传送到Docker Hub或者harbor

    目录 1 github actions的介绍 2 dockerfile 的编写 2 1 dockerfile 范例 2 2 其他指令 3 workflow的编写 3 1 上传到docker hub 3 2 上传到 harbor 4 结果展示

随机推荐

  • UCOSIII编写无人机飞控程序——第一篇

    研究无人机飞控已经接近两年 xff0c 作为一个业余的兴趣爱好 兴趣源于看到国外大神Raffaello D 39 Andrea在TED做的无人机演讲和展示 xff0c 感觉无人机很像工程师所施展的魔法 xff0c 给一向给人苦逼印象的工程师
  • 解决 Ubuntu :: Configure: Error: The QtCore Library >= 4.3.0 Could Not Be Found? 问题

    解决 Ubuntu Configure Error The QtCore Library gt 61 4 3 0 Could Not Be Found 问题 作者 19届YJF 日期 2020 10 2 这是我在打 robocup 2D仿真
  • 魔都,3年,程序员到CTO

    过一个平凡无趣的人生实在太容易了 xff0c 你可以不读书 xff0c 不冒险 xff0c 不运动 xff0c 不写作 xff0c 不外出 xff0c 不折腾 但是 xff0c 人生最后悔的事情就是 xff1a 我本可以 陈素封 我可以 在
  • 几种内存泄露检测工具的比较

    概述 内存泄漏 memory leak 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况 xff0c 在大型的 复杂的应用程序中 xff0c 内存泄漏是常见的问题 当以前分配的一片内存不再需要使用或无法访问时 xff0c 但是却并没
  • ubuntu查看磁盘占用和分配情况

    1 df hl Filesystem Size Used Avail Use Mounted on udev 978M 0 978M 0 dev tmpfs 200M 3 6M 197M 2 run dev sda5 28G 12G 15G
  • Android Studio主菜单(Main Menu)消失后,恢复显示

    当出现这个情况的时候 xff0c 我按找一般软件的办法找了半天也没找到 xff0c 最后没办法只能用万能的百度了 这里只记录一下当前我个人认为比较不错的方法 在Android Studio软件的右上角找到搜索 xff0c 输入Menu xf
  • github响应时间过长,无法访问此网站[已解决]

    某一天或某个时段总是出现 github 响应时间过长 xff0c 无法访问此网站的问题 获取github可以使用的DNS域名 通过站长工具 下的DNS查询 获取TTL值最小的 修改hosts配置 找到hosts xff08 域名解析文件 x
  • STM32(F407)—— 堆栈

    目录 1 SRAM 2 堆栈的作用 3 堆栈的设置 4 堆栈的实现 5 双堆栈机制 堆栈 是一种数据结构 堆栈都是一种数据项按序排列的数据结构 xff0c 只能在一端 称为栈顶 top 对数据项进行插入和删除 xff0c 相应地 xff0c
  • zabbix4.0学习五:Zabbix监控邮箱发送设置

    zabbix4 0学习五 xff1a Zabbix监控邮箱发送设置 文章目录 zabbix4 0学习五 xff1a Zabbix监控邮箱发送设置 前言配置centos安装mailx配置zabbix用户与报警媒介绑定 前言 zabbix里报警
  • STM32(F407)—— 存储区映射和存储器重映射

    Arm Cortex M4 处理器采用哈佛结构 xff0c 可以使用相互独立的总线来读取指令和加载 存储 数据 指令代码和数据都位于相同的存储器地址空间 xff0c 但在不同的地址范围 程序存储器 xff0c 数据存储器 xff0c 寄存器
  • MarkDown语法汇总

    文章目录 总览标题1 使用 号创建标题2 使用 61 和 号创建标题 段落1 换行2 字体格式3 删除线4 脚注5 下划线6 首行缩进7 字体颜色 大小 字体类型8 文本高亮 块引用1 嵌套块引用2 具有其他元素的块引用 列表1 有序列表2
  • 【VCU】详解S19文件(S-record)

    目录 1 概述 2 S record格式 3 S record类型 4 S19文件示例 5 校验和计算示例 6 参考 1 概述 Motorola S record是由Motorola创建的一种文件格式 xff0c 它以 ASCII十六进制
  • [ROS](03)CMakeLists.txt详解

    文章只是个人学习过程中学习笔记 xff0c 主要参考ROS教程1 目录 1 概述2 CMakeLists txt文件2 1 遵循的格式和顺序2 2 文件解析2 3 find package 2 4 catkin package 1 概述 C
  • [ROS](01)创建ROS工作空间

    文章只是个人学习过程中学习笔记 xff0c 主要参考ROS教程1 1 创建catkin工作空间 Catkin工作空间是一个文件夹 xff0c 可以在其中修改 构建和安装 catkin 包 span class token function
  • [ROS](04)package.xml详解

    文章只是个人学习过程中学习笔记 xff0c 主要参考ROS教程1 1 概述 软件包 xff08 package xff09 清单 xff08 manifest xff09 是一个名为 package xml 2 的 XML 文件 xff0c
  • [ROS](06)ROS通信 —— 话题(Topic)通信

    文章只是个人学习过程中学习笔记 xff0c 主要参考ROS教程1 目录 1 概念2 话题通信机制3 话题命令rostopic4 话题通信实操 键盘控制乌龟 xff08 turtlesim xff09 运动5 话题命令实操5 1 rostop
  • ubuntu18.04忘记密码后,如何重置密码的方法

    ubuntu18 04安装在VMware虚拟上 ubuntu18 04忘记密码后 xff0c 如何重置密码 xff1f 重启系统后 xff0c 当跳出如下图所示画面时 xff0c 按住Shift键不放 xff0c 等待 2 但出现如下图所示
  • [ROS]Ubuntu18.04下安装指定版本OpenCV

    Linux xff1a Ubuntu 18 04 ROS xff1a ROS Melodic 目录 1 获取 OpenCV 源代码2 安装所需的依赖软件包3 使用CMake从源代码编译OpenCV3 1 准备3 2 配置OpenCV3 3
  • [ROS](12)ROS通信 —— 参数服务器(Parameter Server)通信

    文章只是个人学习过程中学习笔记 xff0c 主要参考ROS教程1 2 ROS xff08 01 xff09 创建ROS工作空间 ROS xff08 02 xff09 创建 amp 编译ROS软件包Package ROS xff08 03 x
  • zabbix4.0学习六:Zabbix监控日志

    zabbix4 0学习六 xff1a Zabbix监控日志 前言 我们希望监控日志 xff0c 在日志出现特定标识或字符串时打印出日志 xff0c 并邮件通知我们 xff0c 以便我们手动处理 xff08 当然使用动作可自动处理 xff09