我想开始密切监视我们的系统,以查看用户在谁以及在什么时间运行了查询。
目前,在HIST DB的表上,我们能够看到查询文本,用户名,日期,时间和客户端IP。但我们更感兴趣的是查看客户端主机名称。
当我们运行请求客户端主机名的查询时,输出是未知的。
下面是我们正在运行的查询以获取所需信息:
SELECT *
FROM NZ_QUERY_HISTORY
我们还可以查看或实现其他内容,以便我们能够看到客户端计算机名称。
仅供参考:当我们运行时:显示会话全部; 我们确实看到了客户端主机。
几年前开始使用netezza时,我们在查询历史数据库之上做了自己的视图,它不包括客户端的DNS名称(主机名(。我想我们把它省略了,因为它大部分时间都是空的。另一个猜测是,我们的 DNS 设置不允许对来自 netezza 主机的所有 IP 地址进行反向 DNS 查找。
相反,我们依靠:
- Clien IP 地址和 netezza 用户名
- 客户端计算机上的用户名和 IP 地址 总的来说,这是相当强大的
此外,我们在我们使用的客户端工具(sas、powercenter、业务对象等(的连接配置中添加了一些 pre sql,并向 4 个 'client_application_*' 变量添加尽可能多的信息。有关语法,请参阅此处:https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.dbu.doc/r_dbuser_set.html 对于 powercenter,我们添加了工作流、会话和其他名称...