db2 - DB2Audit 工具不能正常工作
问题描述
我正在使用 db2audit 工具来监控数据库和实例活动。我配置了数据路径,但数据库的实时日志在该位置不可用。
而且我还没有为数据库配置审计策略,但它正在生成实时日志,并且 db2audit 存档也适用于该数据库。我不知道使用审计策略分配和审计数据库的用例是什么。
所以我的问题是,1. 为什么没有在数据路径中生成实时日志。(由于数据路径中没有活动日志文件,db2audit 归档也无法工作) 2. db2audit 归档工作并且即使没有配置 db2audit 策略也会生成活动日志文件。是什么原因。db2audit start 是否会开始对所有数据库进行审计而不考虑审计策略?
db2audit 描述:
DB2 审计设置:
审核活动:“真”
记录审计事件:“BOTH”
日志检查事件:“BOTH”
记录对象维护事件:“BOTH”
记录安全维护事件:“BOTH”
记录系统管理员事件:“BOTH”
记录验证事件:“BOTH”
记录上下文事件:“BOTH”
在审计错误时返回 SQLCA:“FALSE”
审计数据路径:“/home/test/db2logs/active/”
审计存档路径:“/home/test/db2logs/”
ls -l在数据路径上。
-rw------- 1 测试测试 9000 Dec 30 10:19 db2audit.db.SELVASK1.log.0
-rw------- 1 测试测试 8394 Dec 30 10:18 db2audit.db.SELVASK.log.0
这 2 个数据库(SELVASK、SELVASK1)没有审计策略。
SELECT COUNT(1) FROM SYSCAT.AUDITUSE WHERE OBJECTTYPE='' 对于两个数据库的输出
1
0
选择了 1 条记录。
我在 db2diag.log 中找到了这个。尝试存档数据库时会发生这种情况,并且无法按预期创建存档文件。
2019-12-26-15.27.25.376000+330 I317589969F856 LEVEL: Warning
PID : 13144 TID : 8160 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB :
APPHDL : 0-104 APPID: *LOCAL.DB2.191226095725
AUTHID : SYSTEM HOSTNAME: DESKTOP-R9O62O0
EDUID : 8160 EDUNAME: db2agent (instance) 0
FUNCTION: DB2 UDB, bsu security, sqlexDb2auditArchiveRename, probe:350
RETCODE : ZRC=0x860F000A=-2045837302=SQLO_FNEX "File not found."
DIA8411C A file "" could not be found.
DATA #1 : Hexdump, 47 bytes
0x00000027407FACF2 : 433A 5C73 656C 7661 5C65 6C61 7465 7374 C:\selva\elatest
0x00000027407FAD02 : 5C64 6174 615C 6462 3261 7564 6974 2E64 \data\db2audit.d
0x00000027407FAD12 : 622E 5445 5354 3132 332E 6C6F 672E 30 b.TEST_DB.log.0
2019-12-27-20.52.20.159033+330 I1729969E910 LEVEL: Warning
PID : 15851 TID : 140506994566912 PROC : db2sysc 0
INSTANCE: test NODE : 000 DB :
APPHDL : 0-3707 APPID: *LOCAL.test.191227152221
AUTHID : TEST HOSTNAME: ubuntu18
EDUID : 2851 EDUNAME: db2agent (instance) 0
FUNCTION: DB2 UDB, bsu security, sqlexDb2auditArchiveRename, probe:350
RETCODE : ZRC=0x860F000A=-2045837302=SQLO_FNEX "File not found."
DIA8411C A file "" could not be found.
DATA #1 : Hexdump, 51 bytes
0x00007FCA557F8DF0 : 2F68 6F6D 652F 7465 7374 2F64 6232 6C6F /home/test/db2lo
0x00007FCA557F8E00 : 6773 2F61 6374 6976 652F 6462 3261 7564 gs/active/db2aud
0x00007FCA557F8E10 : 6974 2E64 622E 454C 4154 4553 542E 6C6F it.db.TEST_DB.lo
0x00007FCA557F8E20 : 672E 30 g.0
解决方案
这是一篇好文章:
[Db2] 用于 db2audit 实例和数据库级审计的简单测试用例 shell 脚本
https://www.ibm.com/support/pages/node/1075779
我建议您查看并尝试按照首先描述的步骤进行操作。一旦发现它有效,请尝试通过参考该文章底部的手册页来修改要审核的内容。
这是数据库级审计页面的关键部分:
db2audit configure reset
db2audit configure scope all status both errortype normal
db2audit configure datapath $HOME/temp/db2audit
db2audit configure archivepath $HOME/temp/db2audit
db2audit describe
### start and stop database level auditing ###
db2 -v "create audit policy DB_Policy1 categories all status both error type normal"
db2 -v "audit database using policy DB_Policy1"
db2audit start
db2 -v "create table t1 (c1 int, c2 int)"
db2 -v "insert into $USER.t1 values (1,1)"
db2 -v "select * from $USER.t1"
db2 -v "delete from $USER.t1"
db2 -v "audit database remove policy"
db2audit stop
希望这可以帮助。
推荐阅读
- create-react-app - create -react-app 不完全工作
- python - 如何将 1 个变量中包含的多个字符串组合成 1 个字符串
- python - Python重新缩放/转换数据
- javascript - Animate.css 转换不会为每个元素重复它
- c++ - 难道拷贝构造函数不能调用另一个拷贝构造函数?
- python - 使用 python 在无头 chrome 中设置浏览器语言环境
- asp.net-core - Razor tag helper bool 单选按钮客户端“必需”验证
- selenium - 如何使用 selenium 从 li 计算和获取文本
- c# - 在 Task.Run 中使用 Task.Delay
- excel - 如何在忽略空格的情况下使用带有 3 个参数的 IF 函数