The MIM Portal health check report shows health check results spanning a range of time.
By limiting results to health checks with the archive flag, only health checks that triggered a workflow, as well as the first check of each hour are included.
Required Customization
If you have configured separate health checks for multiple sync environments or renamed the health check to something other than "MIM Portal Health" it will be necessary to revise the Name parameter query data set. It may also be useful to add a second report parameter for Server following the pattern of the Server Performance report.
If you have changed the list of probes, e.g. to check different endpoints for a load balancer it will be necessary to revise the report fields with the new probes/names.
Optional Customization
To allow user friendly formatting and styling of results the report must re-calculate the pass/fail condition of each of the resultant probes. If you have customized the pass/fail thresholds in the health check settings the same adjustments should be made to the report Style strips.
JSON Definition
Copy the following JSON into a text file, and upload to report settings. Requires 3.3.10 or later.
{ "Data": [ { "$type": "SoftwareIDM.ReportingModule.Models.Report, SoftwareIDM.ReportingModule", "Id": "0b187adf-5b10-4021-ab05-2c0620f517a9", "Name": "MIM Portal Health Check", "UserId": null, "UserProfile": false, "Tags": null, "Roles": null, "CacheExpiration": "01:00:00", "Description": "Health check report for MIM Sync status over time", "Parameters": [ { "$type": "SoftwareIDM.ReportingModule.Models.TextReportParameter, SoftwareIDM.ReportingModule", "Name": "Days", "Description": "Number of days of health checks to display", "Required": true, "Validation": "Double", "DefaultValue": "30" } ], "DataSets": [ { "$type": "SoftwareIDM.ReportingModule.Models.QueryData, SoftwareIDM.ReportingModule", "Aliases": null, "MapRule": "", "Name": "Health", "Type": "SoftwareIDM.PanelModel.Models.HealthCheck, SoftwareIDM.PanelModel", "Clauses": [ { "$type": "SoftwareIDM.PanelModel.Models.FilterClause, SoftwareIDM.PanelModel", "Field": "Archive", "Operation": "Eq", "Value": "true" }, { "$type": "SoftwareIDM.PanelModel.Models.FilterClause, SoftwareIDM.PanelModel", "Field": "TimeStamp", "Operation": "Gte", "Value": "AddTime(Now(), \"-\" + Days(Memo(\"Days\")))" }, { "$type": "SoftwareIDM.PanelModel.Models.FilterClause, SoftwareIDM.PanelModel", "Field": "Name", "Operation": "Eq", "Value": "\"MIM Portal Health\"" } ], "SubQueries": [] } ], "ReportSets": [], "Relations": [], "FieldProjections": [ { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "TimeStamp", "RelationName": "", "RelationSide": null, "ValueRule": "TimeTraveler(Id, null, context) + \"|\" + DateTimeFormat(TimeStamp, \"yyyy-MM-dd hh:mm:ss\")" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Passed", "RelationName": "", "RelationSide": null, "ValueRule": "If(Passed, \"Yes\", \"No\")" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Portal Available", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Portal Available.Value" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Service Running", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Service Running.StringValue" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "DB Available", "RelationName": "", "RelationSide": null, "ValueRule": "Data.DB Available.StringValue" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Backed Up", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Backed Up.Value" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Disk Space", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Disk Space.StringValue" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "DB Size", "RelationName": "", "RelationSide": null, "ValueRule": "Data.DB Size.StringValue" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Log Size", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Log Size.StringValue" }, { "$type": "SoftwareIDM.ReportingModule.Models.Projection, SoftwareIDM.ReportingModule", "Name": "Pending Requests", "RelationName": "", "RelationSide": null, "ValueRule": "Data.Pending Requests.Value" } ], "Transformations": [], "Styles": [ { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Passed" ], "ConditionRule": "Passed == \"Yes\"", "Bold": false, "Italic": false, "Hide": false, "TextColor": "g", "CellColor": "g" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Passed" ], "ConditionRule": "Passed == \"No\"", "Bold": false, "Italic": false, "Hide": false, "TextColor": "g", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Portal Available" ], "ConditionRule": "(Data.Portal Available >= 400) || (Data.Portal Available < 200)", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Schedule Running" ], "ConditionRule": "CoerceLong(ReplaceString(Data.Schedule Running, \" runs\", \"\")) == 0", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Service Running" ], "ConditionRule": "Data.Service Running != \"Running\"", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "DB Available" ], "ConditionRule": "Data.DB Available != \"Available\"", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Backed Up" ], "ConditionRule": "Data.Backed Up > Days(7)", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" }, { "$type": "SoftwareIDM.ReportingModule.Models.RowStyle, SoftwareIDM.ReportingModule", "Fields": [ "Pending Requests" ], "ConditionRule": "Data.Pending Requests > 10", "Bold": false, "Italic": false, "Hide": false, "TextColor": "r", "CellColor": "r" } ], "Sort": { "Field": "TimeStamp", "Direction": "Descending" } } ], "Count": 1 }
Comments
0 comments
Please sign in to leave a comment.