Grouper Maintenance Shilen Patel Duke University This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Pruning Old Data Grouper Diagnostics Grouper Report Bad Membership Finder Unresolvable Subject Deletion Utility Logging Adding Loader Jobs Helping Developers and Architects 2 Contents
Pruning unused folders Old application groups, former courses, etc. GSH Command: obliterateStem(stem name, testOnlyBoolean, deleteFromPointInTimeBoolean) Example: Check: obliterateStem(“duke:appTest1”, true, false) Delete: obliterateStem(“duke:appTest1”, false, false) Optionally delete from PIT after change log daemon runs: obliterateStem(“duke:appTest1”, false, true) 3 Pruning Old Data
Pruning user audit Delete directly from table: grouper_audit_entry created_on column is milliseconds from epoch. Time based pruning: delete from grouper_audit_entry where created_on < ' ' 4 Pruning Old Data (continued)
Pruning point in time audit Tables that start with “grouper_pit_”. Delete PIT log data for objects that have been deleted and processed by the change log. Examples: gsh 0% // delete objects that ended before a given date gsh 0% edu.internet2.middleware.grouper.pit.PITUtils.deleteInactiveRecords(new Date(), true); gsh 1% gsh 2% // delete objects that have ended below a given stem gsh 2% edu.internet2.middleware.grouper.pit.PITUtils.deleteInactiveObjectsInStem("test", true) 5 Pruning Old Data (continued)
Pruning change log Configured in grouper-loader.properties Property: loader.retain.db.change_log_entry.days=14 Pruning daemon logs Configured in grouper-loader.properties Property: loader.retain.db.logs.days=7 6 Pruning Old Data (continued)
Health of Grouper reported via Grouper WS. Checks memory, various connections, and daemon jobs. Returns HTTP code 200 if everything is okay. Otherwise returns HTTP code Grouper+diagnosticshttps://spaces.internet2.edu/display/Grouper/ Grouper+diagnostics 7 Grouper Diagnostics
Configured in grouper-loader.properties Primary properties: daily.report.quartz.cron = * * ? daily.report. To = daily.report.saveInDirectory = /home/grouper/reports/ Provides basic information about your Grouper install. Reports unresolvable subjects, bad memberships, and jobs with errors. Query database for details on a job failure: select * from grouper_loader_log where status <> 'SUCCESS' order by started_time desc 8 Grouper Report
Performs various checks for bad memberships and group sets. Produces GSH script to fix issues Bad+Membership+Finder+Utilityhttps://spaces.internet2.edu/display/Grouper/ Bad+Membership+Finder+Utility 9 Bad Membership Finder
Finds and optionally deletes memberships and privileges for unresolvable subjects. Unresolvable+Subject+Deletion+Utility+(USD U) Unresolvable+Subject+Deletion+Utility+(USD U) 10 Unresolvable Subject Deletion Utility (USDU)
Monitoring for errors (for instance in the UI) Example: Ongoing+Administration+Tasks Ongoing+Administration+Tasks 11 Logging
By default, only admins can add loader jobs. You can add them using the Admin UI, Web Services, or GSH. New loader jobs require the daemon to be restarted. 12 Adding Loader Jobs
Granting access and delegating. Helping with design. Helping with visibility into namespace they are not allowed to access. 13 Helping Developers and Architects
Click on the quiz link in the video description to reinforce your knowledge of this topic.quiz link 14 Quiz
Thanks! Further information: Infosheets, mailing lists, wiki, downloads, etc.: Grouper demo server: grouperdemo.internet2.edu/ grouperdemo.internet2.edu/ Grouper Online Training Home: spaces.internet2.edu/x/IIGfAQ This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 15
Next Video in Grouper Online Training is: Grouper Advanced Topics This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.