mysql - 无法分析 OSSEC 中的 MySQL 错误日志
问题描述
我正在尝试分析在我的 OSSEC 代理上生成的 MySQL 错误日志并使用 OSSEC 服务器发出警报。
这是添加到代理端/var/ossec/etc/ossec.conf的代码块,用于从代理读取MySQL的错误日志:
<localfile>
<log_format>mysql_log</log_format>
<location>/var/log/mysql/error.log</location>
</localfile>
这样做之后,我重新启动了代理和服务器,但无法测试代理端生成的任何错误日志,例如:
2020-09-15T04:09:24.164859Z 12 [Note] Access denied for user 'root'@'localhost' (using password: YES)
根据警告下的文档https://ossec-docs.readthedocs.io/en/latest/docs/programs/ossec-logtest.html ,我们需要将 MySQL log: 添加到为 ossec-logtest 生成的日志中。
当我们将这些日志发送到 OSSEC 服务器以从代理进行分析时,这将自动添加。
ossec-logtest 在将 MySQL log: 添加到开头后工作正常,但它们不能实时工作。
谁能帮我解决这个问题。
解决方案
ossec-logtest 触发警报的事实意味着 mysql 解码器和规则工作正常
检查代理
MySql 正在运行。
systemctl status mysqld.service
MySql 配置(日志级别和输出文件)允许记录那种事件。看这里
如果该值大于 1,则将中止的连接写入错误日志,并写入新连接尝试的拒绝访问错误。
- MySql 正在有效地记录“拒绝访问”:
grep "Access denied" /var/log/mysql/error.log
- Ossec 及其进程运行正常:
/var/ossec/bin/ossec-control status
检查经理
log_alert_level
/var/ossec/etc/ossec.conf 中的字段小于等于 9(日志级别显示在您的 ossec-logtest 中)
推荐阅读
- c# - NUnit 创建的测试实例比添加的参数多
- google-cloud-platform - 如何在 GCP 中杀死进程
- javascript - 如何在 Chromium 扩展中使用键盘快捷键更改 HTML 视频的播放速度?
- wordpress - 由于不允许的 MIME 类型(“image/png”),Google Ads 脚本被阻止
- maven - 使用 docker-compose.yml Dockerizing Multi-maven 项目
- sql - 我们如何从 netezza db 表中获取列的完整记录。?默认情况下,我只得到 1000 条记录
- android - Kotlin 变量值与我分配的不同(从另一个活动类获取)
- matlab - 如何在 App Designer 中绘制 simulink 输出?
- java - Android-Stripe 在创建帐户时添加缺少的参数
- javascript - 使用 CDK 在 API Gateway 方法响应中指定内容类型