160 likes | 327 Views
Grouper Maintenance. Shilen Patel Duke University. This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. Contents. Pruning Old Data Grouper Diagnostics Grouper Report Bad Membership Finder Unresolvable Subject Deletion Utility Logging
E N D
Grouper Maintenance Shilen Patel Duke University This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Contents Pruning Old Data Grouper Diagnostics Grouper Report Bad Membership Finder Unresolvable Subject Deletion Utility Logging Adding Loader Jobs Helping Developers and Architects
Pruning Old Data • 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)
Pruning Old Data (continued) • 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 < '1325376000000'
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)
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
Grouper Diagnostics 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 500. https://spaces.internet2.edu/display/Grouper/Grouper+diagnostics
Grouper Report • Configured in grouper-loader.properties • Primary properties: daily.report.quartz.cron = 0 0 7 * * ? daily.report.emailTo = email@domain.edu 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_timedesc
Bad Membership Finder Performs various checks for bad memberships and group sets. Produces GSH script to fix issues https://spaces.internet2.edu/display/Grouper/Bad+Membership+Finder+Utility
Unresolvable Subject Deletion Utility (USDU) Finds and optionally deletes memberships and privileges for unresolvable subjects. https://spaces.internet2.edu/display/Grouper/Unresolvable+Subject+Deletion+Utility+(USDU)
Logging Monitoring for errors (for instance in the UI) Example: https://spaces.internet2.edu/display/Grouper/Ongoing+Administration+Tasks
Adding Loader Jobs 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.
Helping Developers and Architects Granting access and delegating. Helping with design. Helping with visibility into namespace they are not allowed to access.
Quiz Click on the quiz link in the video description to reinforce your knowledge of this topic.
Thanks! • Further information: • Infosheets, mailing lists, wiki, downloads, etc.:www.internet2.edu/grouper • Grouper demo server: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.
Next Video in Grouper Online Training is: Grouper Advanced Topics This work licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.