在Lotus Domino和Domino Designer的环境中,"在线用户"通常指的是那些正在使用Web浏览器(Browser-based,简称BS)或者Notes客户端(Client-based,简称CS)访问Domino服务器的用户。获取在线用户的信息对于系统管理员来说是至关重要的,这有助于监控系统负载、优化资源分配以及进行故障排查。以下将详细介绍如何在Domino环境中获取在线用户,以及相关知识点。
1. **Lotus Domino架构基础**:
Lotus Domino是一款基于IBM的协作平台,它提供了电子邮件、日历、任务管理等功能,并支持Web应用程序的开发。其核心组件包括服务器、数据库、代理、设计元素等。在线用户是指与Domino服务器保持活动连接的用户,这可能通过Notes客户端或Web浏览器实现。
2. **查看CS在线用户**:
对于Notes客户端用户,管理员可以通过Domino Administrator工具的“实时统计”视图来查看。在这个视图中,可以找到当前登录的用户、他们的活动状态以及所使用的数据库等信息。此外,还可以使用Notes的“活动用户和会话”视图,以更详细的方式查看每个用户的会话信息。
3. **获取BS在线用户**:
要获取通过Web浏览器访问的用户,可以使用Domino服务器的HTTP任务(HTTP Task)统计数据。在Domino Administrator中,打开“服务器”->“当前服务器”->“任务”,找到HTTP任务并双击。这里会显示HTTP服务的相关统计,包括在线用户数量、请求次数等。此外,也可以通过LotusScript或Java编写脚本来实时获取Web会话信息。
4. **编程接口获取用户信息**:
- **LotusScript**:通过NotesSession对象的GetAllUsers方法可以获取所有在线用户,但不区分CS或BS。
- **Java API**:使用com.ibm.domino.napi.NotesThread类的getNotesUserNameList()方法,可以获取当前在线的Notes用户。若要获取Web用户,可以使用 Domino HTTP Session API (com.ibm.domino.napi.nsf.NSFSession) 的getHttpUserNameList()方法。
- ** Lotus Domino Formula Language**:在公式语言中,可以使用@UserNamesList函数获取所有在线用户,但同样不区分CS/BS。
5. **第三方工具**:
有些第三方工具,如IBM Tivoli Monitoring或IBM Control Desk,提供了更高级的监控功能,可以实时跟踪和报告在线用户,包括CS和BS用户。
6. **性能优化**:
了解在线用户数有助于系统优化。过多的在线用户可能导致服务器性能下降,因此需要合理配置服务器资源,如内存、CPU等,以应对高峰时段的用户负载。
7. **安全和审计**:
监控在线用户也有助于安全管理。例如,可以检查异常登录行为,或者定期审计用户活动,确保数据的安全性和合规性。
8. **日志分析**:
通过对Domino服务器日志文件(log.nsf)的分析,也可以获取到用户登录和活动的详细信息,虽然这种方式比较繁琐,但在特定情况下是必要的。
总结来说,获取Domino中的在线用户信息是通过多种途径实现的,包括使用Domino Administrator工具、编程接口(LotusScript、Java API、Formula Language)以及第三方监控软件。这些信息对于管理和优化Domino环境至关重要,确保了系统的稳定运行和服务质量。