Data Archive Jump Start<!-- .SOKMKBArticle div.margin { padding: 10px 40px 40px 30px; color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; } .SOKMKBArticle div.fed{ background-color: #f5f8fa; border: 1px solid; border-color: #bfbfbf; padding: 10px; } .SOKMKBArticle .FedRestricted{ background-color: #c00000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .CustRestricted{ background-color: #ff0000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNRestricted{ background-color: #ea700d; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNConfidential{ background-color: #ffc000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .Public{ background-color: #00b050; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle table.tocTable { border: 1px solid; border-color: #f2f2f2; background-color: #f2f2f2; padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } .SOKMKBArticle table.noteTable { align: left; border: none; border-color: #81b5a1; background-color: #f2f2f2; width: 100%; border-spacing: 2; font-size: 11px; } .SOKMKBArticle table.internalTable { border-top: 1px solid; border-left: 1px solid; border-color: #81b5a1; width: 100%; border-spacing: 1px; } .SOKMKBArticle .sp td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle .sphr td { border-right: 1px solid; border-bottom: 1px solid; border-color: #81b5a1; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .SOKMKBArticle .sh td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #81b5a1; color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle th { padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #ffffff; height: 20px; } .SOKMKBArticle td { border-color: #81b5a1; margin: 5px 5px 5px 5px; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #283d40; } .SOKMKBArticle p { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle li { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; line-height: 1.5; } .SOKMKBArticle pre { font-family: Courier New; } .SOKMKBArticle div { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle hr { border-top-width: 1px; border-top-style: solid; border-top-color: #81b5a1; } .SOKMKBArticle a { color: #81b5a1; } .SOKMKBArticle a.two:link { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:visited { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:hover { color: #ffffff; background-color: #259b8a; } .SOKMKBArticle .button { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle .title { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #81b5a1; font-size: 30pt; } .SOKMKBArticle .hd1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle h1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; font-weight: normal; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle .hd2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; text-decoration: none; } .SOKMKBArticle h2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; font-weight: normal; text-decoration: none; } .SOKMKBArticle .hd3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle h3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle .hd4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle h4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle .hd5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle h5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle .hd6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle h6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle details { font-size: 10pt; } .SOKMKBArticle details[open] summary ~ * { animation: sweep .5s; margin-top: 0; padding-top: 10px; } @keyframes sweep { 0% {opacity: 0; margin-top: -10px} 100% {opacity: 1; margin-top: 0px} } .SOKMKBArticle summary { cursor: pointer; outline: none; margin-bottom: 3px; } .SOKMKBArticle .summary { background-color: #81b5a1; font-size: 10px; color: white; cursor: pointer; padding: 5px; width: 100%; border: none; text-align: left; outline: none; vertical-align: top; } --> Get Well Knowledge Article Data Archive Jump Start A step-by-step guide to archiving CMDB data Data Archive Jump Start The archive application moves data that is no longer needed during daily operations from the CMDB tables to a set of archive tables. Benefits of using archive tables include: Records stay available in case questions arise later (vs Deletion)Record retention can be configured to meet regulatory requirementsDaily use of the CMDB can continue without the distraction of non-active recordsMuch lower risk than simply deleting incomplete or duplicate recordsFeature is an included part of the platform with no separate licenseArchival and Destruction (optional) can be automated Documentation Links Data ManagementData ArchiveData Archive rulesDestroy Rules Quick Setup Play This play is designed to assist in quickly configuring Data Archive to assist with cleaning the CMDB. Goal We can add a simple true/false field to the CMDB which will allow us to match a Data Archive Rule, triggering archival of any record we no longer need immediate access to. Play Steps Add a field to the CMDB Navigate to Configuration > CI Class ManagerClick the Open Hierarchy button Select Configuration Item at the very top Click on Attributes on the left, then click on Added on the right Scroll to the bottom of the list, and double-click on "Insert a new row..." Enter the following values for the new row... Column label = Ready to archiveColumn name = u_ready_to_archive (should auto-populate from label)Type = True/False (do NOT leave it as the default: String) Click Save. This may take a moment or two depending on system load at the time Sort the list of fields by Column name in reverse (downward arrow) to locate the new recordDouble-click the empty space for Default value and populate it with "false" (without the quotes), and click the green checkmark/circle to save Create a Data Archive Rule Some facts about Data Archive Rules & the CMDB Table Hierarchy When an Archive Rule is activated (active=true), all of the necessary archive tables are immediately createdChoosing a parent class (cmdb_ci, cmdb_ci_hardware or others high up in the hierarchy) will result in one archive table per child table (there are many child tables)These new archive tables will match each CI class with a prefix of "ar_" ie: ar_cmdb_ci_hardwareThe field we added above is on cmdb_ci, but we can place the archive rules on more specific classesPlacing different rules on various tables will allow fine-tuned control using different conditions for matching the rulesIt is recommended to start with just one rule at the cmdb_ci_hardware or cmdb_ci_appl table, each of which will have 70-115 extended tables Navigate to System Archiving > Archive RulesClick NewComplete the form as shown: Name = Hardware Archive RuleTable = Hardware (beware there's 2 of these, trial & error might be required)Description = Archive rule for Hardware CIs marked as Ready to archive = trueActive = Leave this un-checked for the momentConditions = Ready to archive IS true If the Ready to archive field is not present in the condition builder, swap the drop-down for Table to the other Hardware entry. (alm_hardware and cmdb_ci_hardware are both labeled Hardware) Save the record, or click Submit and then re-open itReview the form fields to ensure they are correct in relation to Step 3 aboveWhen you are satisfied with the rule, click the Active checkbox, and Save/Update the record Data Archive happens at the top of each hour - bare this in mind when you are later confirming that archival is taking placeWhen a rule is moved to active, a possibly large number of tables are created in the background (see list of facts above) Validation To test or use the Data Archive Rule, we will manually set the Ready to archive field on a few records. Play Steps Navigate to any List View for the CDMB (cmdb_ci_hardware.list)Configure the columns in the view to add Ready to archive fieldIf necessary, click New to create a dummy Configuration ItemOtherwise, filter for a list of Configuration Items which are candidates for archivalUsing List Edit, switch the Ready to archive field on the chosen Configuration Items to TrueWait for the top of the hour to pass - System Log entries will show TableCleaner as the source when the archive rules are processedConfirm that the Configuration Items marked to archive are no longer present when the List View is refreshedNavigate to the same table with the ar_ prefix (ar_cmdb_ci_hardware.list)Confirm that records are now present in the archive table for each of the selected items to archive Follow-on Task Suggestions There are a few suggested ways to make Data Archive easier to use or more secure, depending on the needs of each customer. Add a UI Action (button) to toggle the Ready to archive field valueAdd role based security (ACLs) around Reading the records in the archive tablesMarking the items Ready to archive Use Ready to archive attribute when performing Remediate Duplicate Tasks (see KB0829103) Engagement Questions Each company should follow their own policies regarding data retention!