zabbix自定义监控进程、日志文件

zabbix自定义监控进程、日志文件

zabbix自定义监控进程

在客户端安装httpd服务

[root@node1 ~]# yum -y install httpd
[root@node1 ~]# systemctl start httpd
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         4096               0.0.0.0:10050            0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                  
LISTEN    0         511                      *:80                     *:*                 

编写脚本(检查服务进程)

[root@node1 ~]# mkdir /scripts
[root@node1 ~]# touch /scripts/check_process.sh
[root@node1 ~]# vim /scripts/check_process.sh 
[root@node1 ~]# cat /scripts/check_process.sh 
#!/bin/bashcount=$(ps -ef |grep -Ev "grep|$0"|grep $1|wc -l)echo $count
[root@node1 ~]# chmod +x /scripts/check_httpd.sh 
[root@node1 ~]# /scripts/check_process.sh httpd
5

开启自定义监控功能

[root@node1 ~]# cd /usr/local/etc/
[root@node1 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@node1 etc]# vim zabbix_agentd.conf
UnsafeUserParameters=1   /修改0为1
UserParameter=check_process[*],/scripts/check_process.sh $1   /添加此行
重启服务
[root@node1 ~]# systemctl restart zabbix_agentd
[root@node1 ~]# ss -antl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process    
LISTEN    0         128                0.0.0.0:22               0.0.0.0:*                  
LISTEN    0         4096               0.0.0.0:10050            0.0.0.0:*                  
LISTEN    0         128                   [::]:22                  [::]:*                  
LISTEN    0         511                      *:80                     *:*                 

在服务端上查看

[root@zabbix ~]# zabbix_get -s 192.168.159.147 -k check_process["httpd"]
5
[root@zabbix ~]# zabbix_get -s 192.168.159.147 -k check_process["ssh"]
5

增加监控项

在这里插入图片描述

查看可以成功获取到

在这里插入图片描述

添加触发器

在这里插入图片描述

将httpd服务停止查看是否会告警

[root@node1 ~]# systemctl stop httpd

在这里插入图片描述

zabbix自定义监控日志文件

上传log.py脚本

[root@node1 scripts]# ls
check_process.sh  log.py
[root@node1 scripts]# cat log.py 
#!/usr/bin/env python3
import sys
import redef prePos(seekfile):global curpostry:cf = open(seekfile)except IOError:curpos = 0return curposexcept FileNotFoundError:curpos = 0return curposelse:try:curpos = int(cf.readline().strip())except ValueError:curpos = 0cf.close()return curposcf.close()return curposdef lastPos(filename):with open(filename) as lfile:if lfile.readline():lfile.seek(0,2)else:return 0lastPos = lfile.tell()return lastPosdef getSeekFile():try:seekfile = sys.argv[2]except IndexError:seekfile = '/tmp/logseek'return seekfiledef getKey():try:tagKey = str(sys.argv[3])except IndexError:tagKey = 'Error'return tagKeydef getResult(filename,seekfile,tagkey):destPos = prePos(seekfile)curPos = lastPos(filename)if curPos < destPos:curpos = 0try:f = open(filename)except IOError:print('Could not open file: %s' % filename)except FileNotFoundError:print('Could not open file: %s' % filename)else:f.seek(destPos)while curPos != 0 and f.tell() < curPos:rresult = f.readline().strip()global resultif re.search(tagkey, rresult):result = 1breakelse:result = 0with open(seekfile,'w') as sf:sf.write(str(curPos))finally:f.close()return resultif __name__ == "__main__":result = 0curpos = 0tagkey = getKey()seekfile = getSeekFile()result = getResult(sys.argv[1],seekfile,tagkey)print(result)[root@node1 scripts]# chmod +x log.py 
[root@node1 scripts]# ll
total 8
-rwxr-xr-x. 1 root root   76 Jan  8 14:21 check_process.sh
-rwxr-xr-x. 1 root root 1854 Jan  8 15:10 log.py

需要有python3,没有就需要去装

[root@node1 scripts]# python -V
Python 3.9.18

监控httpd的错误日志

[root@node1 ~]# ls /var/log/httpd/
access_log  error_log
[root@node1 ~]# python /scripts/log.py /var/log/httpd/error_log 
0

测试

[root@node1 ~]# cd /var/log/httpd/
[root@node1 httpd]# ls
access_log  error_log
[root@node1 httpd]# echo "Error" >> error_log
发现结果是1
[root@node1 ~]# python /scripts/log.py /var/log/httpd/error_log 
1

修改配置文件

[root@node1 httpd]# rm -rf /tmp/logseek (下次查看时同时需要删除,否则无法生成新的)
[root@node1 httpd]# cd /usr/local/etc/
[root@node1 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@node1 etc]# vim zabbix_agentd.conf
UserParameter=check_logs[*],/scripts/log.py $1 $2 $3   /添加此行
重启服务
[root@node1 etc]# systemctl restart zabbix_agentd

给zabbix用户设置权限

[root@node1 etc]# cd /var/log/httpd/
[root@node1 httpd]# ls
access_log  error_log
[root@node1 httpd]# ll
total 4
-rw-r--r--. 1 root root    0 Jan  8 14:09 access_log
-rw-r--r--. 1 root root 2889 Jan  8 15:22 error_log
[root@node1 httpd]# setfacl -m u:zabbix:rx /var/log/httpd/
[root@node1 httpd]# getfacl /var/log/httpd/
getfacl: Removing leading '/' from absolute path names
# file: var/log/httpd/
# owner: root
# group: root
user::rwx
user:zabbix:r-x
group::---
mask::r-x
other::---

在服务端查看

[root@zabbix ~]# zabbix_get -s 192.168.159.147 -k check_logs["/var/log/httpd/error_log"]
1

添加监控项
在这里插入图片描述

添加触发器

在这里插入图片描述

手动添加错误查看效果

[root@node1 ~]# echo "Error" >> /var/log/httpd/error_log

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

filebox在线文件管理工具V1.11.1.1查分吧修改自用版免费分享[PHP]

* 基于:https://down.chinaz.com/soft/35899.htm * 查分吧 修改自用版今日对外分享(自2016年1.10版本以来一直用他云开发:Web环境即时看效果) * 也可以用于本人很多txt/csv通用查询系统的在线管理后台管理数据 * 默认登陆账号filebox密码nidemima * 修改账号密码:21-22行;获取…

通过WSL在阿里云上部署Vue项目

参考&#xff1a; 阿里云上搭建网站-CSDN博客 云服务器重装 关闭当前运行实例 更换操作系统&#xff0c;还有其他的进入方式。 选择ubuntu系统&#xff08;和WSL使用相同的系统&#xff09;。 设置用户和密码。发送短信验证码。 新系统更新。秒速干净的新系统设置完成。 这…

es6 Class基本语法和继承

es6 Class基本语法 class的基本语法&#xff1a; ES6 的class只是一个语法糖&#xff0c;它的绝大部分功能&#xff0c;ES5 都可以做到&#xff0c;新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已 传统用构造函数生成实例 function Point(x, y) {th…

基于单片机锂电池电量检测数码管显示系统设计

**单片机设计介绍&#xff0c;基于单片机锂电池电量检测数码管显示系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机锂电池电量检测数码管显示系统设计的主要目标是实时、准确地检测锂电池的电量&#xff0c;并…

Java中变量a = 3中的3是存储在栈还是堆?

1、栈区&#xff08;stack&#xff09; 由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量的值等。 2、堆区&#xff08;heap&#xff09; 是一个可动态申请的内存空间&#xff08;其记录空闲内存空间的链表由操作系统维护&#xff09;&#xff0c;在j…

状态模式实战运用

目录 前言 UML plantuml 类图 实战代码 Form State Client 前言 通常一个完整的业务流程中&#xff0c;会经历多个阶段&#xff0c;每个阶段即一个业务状态&#xff0c;不同状态下对应这不同的业务处理逻辑。 无脑堆砌 if else 做判断然后选择对应的业务处理其实也能…

STM32使用USART发送数据包指令点亮板载LED灯

电路连接&#xff1a; 连接显示屏模块&#xff0c;显示屏的SCL在B10&#xff0c;SDA在B11。 程序目的&#xff1a; 发送LED_ON指令打开板载LED灯&#xff0c;发送LED_OFF关闭板载LED灯&#xff0c;与上一个博客不同&#xff0c;这个实际上是实现串口收发文本数据包。 …

enscan自动化主域名信息收集

enscan下载 Releases wgpsec/ENScan_GO (github.com) 能查的分类 实操&#xff1a; 首先打开linux 的虚拟机、 然后把下面这个粘贴到虚拟机中 解压后打开命令行 初始化 ./enscan-0.0.16-linux-amd64 -v 命令参数如下 oppo信息收集 运行下面代码时 先去配置文件把coo…

如何购买阿里云服务器?2024年阿里云服务器购买流程分享

很多新手用户不知道阿里云服务器购买的流程&#xff0c;不清楚该如何选购云服务器配置才能既满足需求又不会掉“坑”里&#xff0c;为此笔者整理了2024年购买阿里云服务器的完整流程&#xff0c;分为通过云服务器ECS产品页下单购买和通过阿里云活动购买云服务器两种最常见的购买…

速锐得解码广汽智能数字技术车型埃安Y纯电动CAN数据DBC控制策略

随着电动化、智能化、信息化、数字化、网联化、共享化技术的不断应用与汽车行业出行趋势加深&#xff0c;为进一步巩固关键技术优势以及稳供控本、提升盈利能力&#xff0c;整车厂加速推进新能源产业链垂直整合。广汽埃安就是最为杰出的代表&#xff0c;他们不仅布局了芯片&…

大话设计模式之迪米特法则

迪米特法则&#xff0c;也称为最少知识原则&#xff08;Law of Demeter&#xff09;&#xff0c;是面向对象设计中的一个重要原则&#xff0c;其核心思想是降低耦合度、减少对象之间的依赖关系&#xff0c;从而使系统更加灵活、易于维护和扩展。 根据迪米特法则&#xff0c;一…

DataX-Oracle新增writeMode支持update

目录 前言 第一步下载源码 第二步修改源码 1、Oraclewriter 2、WriterUtil 2.1、修改getWriteTemplate方法 2.2、新增onMergeIntoDoString与getStrings方法 3、CommonRdbmsWriter 3.1、修改startWriteWithConnection 3.2、修改doBatchInsert 3.3、修改fillPreparedStatem…

Web Components使用(一)

在使用Web Components之前&#xff0c;我们先看看上一篇文章Web Components简介&#xff0c;其中提到了相关的接口、属性和方法。 正是这些接口、属性和方法才实现了Web Components的主要技术&#xff1a;Custom elements&#xff08;自定义元素&#xff09;、Shadow DOM&#…

C#手术麻醉信息系统全套商业源码,自主版权,支持二次开发 医院手麻系统源码

手术麻醉信息系统是HIS产品的中的一个组成部分&#xff0c;主要应用于医院的麻醉科&#xff0c;属于电子病历类产品。医院麻醉监护的功能覆盖整个手术与麻醉的全过程&#xff0c;包括手术申请与排班、审批、安排、术前、术中和术后的信息管理提供支持。 手术麻醉信息系统可与EM…

MySQL 数据库的日志管理、备份与恢复

一. 数据库备份 1.数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中&#xff0c;数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因&#xff1a; 程序错误人为,操作错误,运算错误,磁盘故障灾难&#xff08;如火灾、地震&#xff0…

Docker部署MinIO对象存储服务

1. 拉取MinIO镜像 # 下载镜像 docker pull minio/minio#查看镜像 docker images2. 创建目录 # 文件存储目录 mkdir -p /opt/minio/data# 配置文件 mkdir -p /opt/minio/config# 日志文件 mkdir -p /opt/minio/logs3. 创建Minio容器并运行 docker run \ -p 9000:9000 \ -p 90…

CSS(一)---【CSS简介、导入方式、八种选择器、优先级】

零.前言 本系列适用于零基础小白&#xff0c;亦或是初级前端工程师提升使用。 知识点较为详细&#xff0c;如果追求非常详细&#xff0c;请移步官方网站或搬运网站。 1.CSS简介 CSS全称&#xff1a;“Cascading Style Sheets”&#xff0c;中文名&#xff1a;“层叠样式表”…

Codeforces Round 937 (Div. 4)(D~G)

D - Product of Binary Decimals 题意&#xff1a; 思路&#xff1a;观察到n的范围很小&#xff0c;先求出所有可能的二进制十位数&#xff0c;然后dp把所有可能的值求出来。注意不能用求因子的方法来求解&#xff0c;因为这些二进制十位数不一定是素数&#xff0c;先除某个数…

车道线检测项目 | 基于lanenet实现的实时车道线检测

项目应用场景 面向自动驾驶场景的车道线检测场景&#xff0c;项目的特点是能够达到实时的车道线检测 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md (1) 安装依赖 pip3 install -r requirements.txt (2) 测试图片 python tools/test_lanenet.py --weights_pat…

|行业洞察·香氛|《小红书2023香水香氛营销宝典-71页》

报告内容的详细解读&#xff1a; 行业格局 预计到2025年&#xff0c;香水市场规模将超过300亿&#xff0c;小红书成为香水种草的重要平台。从2018年到2025年&#xff0c;市场规模持续增长&#xff0c;年增速保持在20%左右。香水市场的热度在节日节点尤为明显&#xff0c;如情…