那么有人可以帮助我在安装了 SNMP 服务的客户端上配置以下 3 点吗?
一点背景知识:
我们有一个 OpenNMS 监控服务器,它监控我们组织中的所有其他服务器。从前几天开始,我们需要监控所有 ubuntu 服务器上的以下点。(因为我们组织中的所有 Linux 服务器都是 ubuntu。)
1.任何用户使用或尝试的所有命令的历史记录(每个用户 cli 的历史记录),包括基本信息。(如用户名、完整命令、使用命令的日期和时间、是否成功等)
2.过去 10 天未登录服务器的用户列表。
3.密码被锁定或认证密钥已过期的用户列表。
现在 OpenNMS 使用 snmp 和 snmp traps 监控所有服务器。
如果需要更多信息,请随时询问。提前致谢。
我们有一些关于 OpenNMS 服务器的其他信息:
OpenNMS Web 控制台
版本:1.10.10
服务器时间:2013 年 8 月 6 日星期二 13:14:21 IST
客户端时间:2013 年 8 月 6 日星期二 13:12:57 GMT+0530(印度标准时间)
Java 版本:1.6.0_27 Sun Microsystems Inc.
Java 虚拟机:20.0-b12 Sun Microsystems Inc.
操作系统:Linux 3.5.0-23-generic(amd64)
Servlet 容器:jetty/7.5.1.v20110908(Servlet Spec 2.5)
用户代理:Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/28.0.1500.95 Safari/537.36
数据库类型:PostgreSQL
数据库版本:9.1.9
答案1
您必须先编写一个自定义程序来收集所有信息。然后我建议您使用链接到该程序的 SNMP 库,然后通过 SNMP 陷阱发送数据结构。
一个例子是安装 Net-SNMP 库,编写一个 Perl 脚本来收集您想要的所有数据,然后使用该脚本中的 Net-SNMP Perl 模块发送带有数据的 SNMP 陷阱。
我认为发送带有用户 CLI 历史记录的 SNMP 陷阱是一个非常糟糕的主意。SNMP 陷阱通常是纯文本且不安全。