学校IdP日志是CARSI联盟的基础运行数据之一,在帮助学校了解本单位CARSI服务运行情况的同时,为联盟的运维、监测和后续发展决策提供了第一手资料,也是IdP上线时需要检查的功能之一。学校管理员可通过CARSI会员自服务系统https://mgmt.carsi.edu.cn 查看本单位IdP服务统计数据、监测服务运行状态、了解本校师生的SP访问情况。
1.IdP日志分类
IdP日志安装在logs目录下,默认路径/opt/shibboleth-idp/logs,主要有四个日志文件:
- idp-process.log:记录了IdP启动及运行过程所有的日志,如遇到idp运行故障,查看此日志文件来排查
- idp-warn.log:记录了IdP启动及运行过程中日志级别为warn的日志
- idp-consent-audit.log:当配置用户隐私保护后,会记录用户隐私保护内容的日志
idp-audit.log:审计日志,记录用户访问某个sp的日志,从IdP4.3.1版本开始日志中仅存储用户加密uid。不加密uid由学校idp本地留存,不上传北京大学服务器。
(注: 从IdP4.3.1版本以后,日志中使用了加密uid,在mgmt中,在按用户统计中将会显示用户加密后的UID,如果学校想在mgmt中显示正常的学工号,可以通过修改audit.xml文档中中%UID为%u,如下。)<util:map id="shibboleth.AuditFormattingMap"> <entry key="Shibboleth-Audit" value="%T|%b|%I|%SP|%P|%IDP|%bb|%III|%u|%ac|%attr|%n|%i|%a|%s|%PAIRWISEID|%AFFILIATION|" /> </util:map>
注意:根据《网络安全法》要求,IdP至少保留180天的日志记录,目前默认为180天,如需要更改,请将/opt/shibboleth-idp/conf/logback.xml中的idp.loghistory:-180修改成其他数字,如idp.loghistory:-360,保留360天的日志。
2.IdP日志分析配置
两种方案,任选其一即可。
方案一:
日志生成脚本已经由安装脚本提前下载好并放在相应的目录下,只需要添加定时任务,每个小时生成日志文件即可。
#添加定时任务,执行sudo crontab -e 并增加以下作业任务。 [carsi@www ~]$ sudo crontab -e 0 */1 * * * sh /opt/shibboleth-idp/bin/auditlog.sh >/dev/null 2>&1
方案二:
使用root账号登录,拷贝日志生成脚本到 /etc/cron.hourly目录下,同时修改脚本的执行权限。
[root@www ~]# cp /opt/shibboleth-idp/bin/auditlog.sh /etc/cron.hourly/ [root@www ~]# chmod 755 /etc/cron.hourly/auditlog.sh
3.nginx日志保留时间配置
nginx日志默认保留180天,nginx日志所在位置/var/log/nginx/,主要包括2个日志文件
- access.log:nginx访问日志
- error.log:nginx错误信息记录日志
修改nginx日志保留时间操作如下,daily表示日志每天记录一个,rotate 180,表示保留最近180天的日志。
[carsi@www ~]$ sudo vi /etc/logrotate.d/nginx /var/log/nginx/*log { create 0664 nginx root daily rotate 180 missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true endscript }
注意:如果学校已经采购日志采集设备,建议将CARSI日志集中存储。