赞
踩
最近在安装wazuh服务器,但是系统自带的集成第三方告警一直尝试无法使用,最后只能自己编写脚本实现实时告警功能。
一、编写python脚本,匹配level 12以上的告警级别,发送到飞书机器人
#!/usr/local/bin/python3 # -*- coding: utf-8 -*- import sys import re import requests webhook_url = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxx" # 使用一个变量记录当前的日志段落 current_log = "" for line in sys.stdin: # 将每一行添加到当前的日志段落 current_log += line # 检查是否到达一个新的日志段落的末尾 if line.strip() == "": # 解析日志段落 match = re.search(r'Rule: \d+ \(level (12|13|14|15)\)', current_log) if match: alert_level = match.group(1) # 发送到飞书机器人 payload = { "msg_type": "text", "content": { "text": f"New Alert (Level {alert_level}):\n{current_log}" } } headers = {"Content-Type": "application/json"} response = requests.post(webhook_url, json=payload, headers=headers) # 打印HTTP响应码和响应内容(用于调试) print(f"HTTP Response Code: {response.status_code}") print(f"HTTP Response Content: {response.text}") if response.status_code == 200: print("Notification sent successfully.") else: print(f"Failed to send notification. Status code: {response.status_code}") # 重置当前的日志段落 current_log = ""
二、将编写好的脚本执行以下命令,放到后台执行。
nohup tail -n 0 -F /var/ossec/logs/alerts/alerts.log | python3 process_log.py > output.log 2>&1 & disown
三、可根据脚本进行修改,过滤匹配其他告警信息,以下是模拟攻击,触发告警,告警展示。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。