A new empty SQL database. DS for SCOM writes its audit entries to a table which is automatically created in this database.
The SquaredUp application pool account needs the db_owner permission on the database, as it needs to create the table schema. The connection is established using the IIS worker process identity.
SquaredUp DS uses the application pool identity account to retrieve data, NOT the account with which you log on to SquaredUp DS. By default the application pool identity is set to NetworkService, but you may have changed this. See How to check and modify the application pool identity and make a note of the application pool identity account for use in the next steps:
If the application pool identity is running as a custom account then add the relevant roles for this custom account.
If the application pool is set to NETWORK SERVICE and SquaredUp DS is installed on the same server as the database you are accessing then add the relevant role for the NT AUTHORITY\NETWORK SERVICE account.
If the application pool is set to NETWORK SERVICE and SquaredUp DS is NOT installed on the same server as the database you are accessing then add the relevant role for the SquaredUp server's AD computer account (for example, domain\mywebserver$)
Specify your connection string, in this format: Server=<SQLservername>;Database=<AuditingDatabaseName>;Trusted_Connection=True;
Click apply changes > Enable > confirm.
Add the Audit dashboard pack (if you have an EAM edition license or above) by clicking the Import Audit Pack button a the bottom of the System > Auditing page. The Auditing dashboards will appear on the navigation bar for admins. Alternatively, you can explore the auditing information on the fly by clicking Explore see Audit Explorer.
When auditing is first setup it will automatically create a new SQL table named AuditEvent with the following schema:
Column name
Description
ProductFeature
The feature of the product the audit event relates to e.g. Dashboard, TeamFolder, Authentication
Operation
The operation that occurred for the feature e.g. Add, Delete, Read
OperationCategory
If the operation was a read, write or session
Username
The name of the user that performed the action
SessionId
The ID of the session the user was in when the action occurred
NodeId
The ID of the DS for SCOM server that added the entry
Timestamp
When the action occurred.Timestamp is stored in UTC time format.
EventParameters
JSON object with supplementary data relating to the event e.g. ID of the object action was taken on. The JSON object varies based on the ProductFeature and Operation
On the auditing systems page you can also configure which type of events you wish to audit.
By default, only Session and Write events are logged. Read events (viewing dashboards) can be enabled manually.
Category
Default
Description
write
Enabled
These are events that make changes to dashboards and configurations
session
Enabled
These are events that only make temporary changes like a user logging in
read
Disabled
These are events where users have looked at dashboards. Only the first view of a dashboard is logged, does not include perspectives.
Auditing currently supports the following events:
ProductFeature
Operation
OperationCategory
Description
Authentication
Login
Session
When a user successfully logs into DS for SCOM
Logout
Session
When a user explicitly logs out from DS for SCOM or their user session expires
NamedUser
Add
Write
A user is added to the named user list
Delete
Write
A user is removed from the named user list (either allowed or blocked)
Block
Write
A user is added as blocked on the named user list
Acquire
Session
A user successfully gained a named user license
Declined
Session
A user was denied a named user license
License
Add
Write
A new DS for SCOM license was added
Delete
Write
A DS for SCOM license was removed
Provider
Add
Write
A new Web API or SQL provider was added
Modify
Write
An existing Web API or SQL provider was edited
Delete
Write
A Web API or SQL provider was deleted
Connections
Modify
Write
The SCOM data warehouse setting was changed
PowerShellProfile
Add
Write
A new PowerShell profile was added
Modify
Write
An existing PowerShell profile was edited
Delete
Write
A PowerShell profile was deleted
PowerShellRunAs
Add
Write
A new PowerShell RunAs was added
Modify
Write
An existing PowerShell RunAs was edited
Delete
Write
A PowerShell RunAs was deleted
Dashboard
Publish
Write
A new or existing dashboard was published
Unpublish
Write
An existing dashboard was unpublished
Delete
Write
A published dashboard was moved to the Recycle Bin or a draft was deleted
Read
Read
A dashboard was viewed
ToggleOpenAccess
Write
Open Access was enabled or disabled on a dashboard
Move
Write
A dashboard was moved
Perspective
Publish
Write
A new or existing perspective was published
Unpublish
Write
An existing perspective was unpublished
Delete
Write
A published perspective was moved to the Recycle Bin or a draft was deleted
Folder
Add
Write
A new folder was created
Modify
Write
An existing folder was renamed
Delete
Write
A folder was deleted
TeamFolder
Add
Write
A new Team Folder was created
Delete
Write
A Team Folder was deleted
Modify
Write
A Team Folder was renamed
ModifyPermissions
Write
Permissions on a Team Folder were modified
NavigationBar
Modify
Write
The Navigation Bar was edited
EnterpriseApplication
Add
Write
An Enterprise Application was created
Modify
Write
An existing Enterprise Application was modified
RecycleBin
DeleteItem
Write
An item in the Recycle Bin was permanently deleted
The dashboards added by the Auditing Dashboard Pack allow admins to view commonly used auditing information, such as users, dashboards and perspectives, folders, Enterprise Applications and Administration information. These dashboards can of course be edited or you can create your own new dashboards.
When auditing is enabled for the first time a new SQL Provider is added to the ≡ > System > Integrations page named Audit. This allows you to create SQL tiles targeting the auditing database. It has a special connection string that follows the connection string configured in the ≡ > System > Auditing page.
You can also explore auditing information by creating graphs on the fly, using the Explore button at the bottom of the ≡ > System > Auditing page or the explore audit events button at the top of the auditing dashboards. The data and graph can also be exported to Excel.
Search: Select the type of object you'd like to show auditing data about, and then enter the name of the object: This searches the audit database, rather than the live SquaredUp environment. This means an existing dashboard that has not yet had an audit event will not be returned in the search results. However, a dashboard that is no longer present in the product, but has an audit event regarding its deletion, will be searchable.
User - Enter a username
Content - Enter a dashboard or perspective name
Team Folder - Enter the name of a Team Folder
Enterprise Application - Enter the EA name
Filter: Optionally, you can filter further by selecting from the dynamically generated dropdown list, or leave it to the default setting to show all events.
Visualize:
Grid columns
Grid columns opens the grid designer, where you can show or hide columns, change the order of columns, edit column names or add custom columns.
Property names that contain hyphens (for example properties.name-with-hyphens) can't be processed due to a JavaScript limitation. If you want to use a property that contains a hyphen, you have two options:
If you have access to the data source and can change the name of the property, change the name of the property to a name without hyphens. For example, if your Elasticsearch query uses a property (an aggregation, a grouping or any other property you want to use) with a name that contains a hyphen, you can either access your Elasticsearch instance and change the name there or you can overwrite the name in the query dsl field.
If you can't change the name of the property, you need to enter the property name in the following format: Original property name: {{properties.name-with-hyphens.value}} New format: {{properties['name-with-hyphens'].value}}
Grid options
Row link
Allows you to turn the graph item(s) into links. You can either enter plain text to create a fixed link (URL always stays the same) or use dynamic properties to create a dynamic link.
Dynamic links make use of dynamic properties which are inserted as part of the URL. This creates a template URL that will be resolved to an actual URL based on the items properties.
For example, if you want to link to tickets in your ticket system and the format of the URL for tickets in your system is https://www.my-system/ticket-123, where 123 is the ticket ID, you can use the dynamic property that contains the ticket ID and enter the dynamic URL https://www.my-system/ticket-{{ticketID}}.
For scalars, you can only use the dynamic property value in dynamic links, which means the link changes when the value of the scalar changes. Since a scalar is just one item, it would also make sense to use a fixed link, for example the link to the website of which you are displaying the response time.
For status icon or bars and the rows of a grid, you usually want to use a dynamic link since you get multiple items or rows that represent different things. You can use any of the dynamic properties the mustache picker offers you.
Dynamic mustache properties and values you need to change according to your instance are highlighted in bold.
Property names that contain hyphens (for example properties.name-with-hyphens) can't be processed due to a JavaScript limitation. If you want to use a property that contains a hyphen, you have two options:
If you have access to the data source and can change the name of the property, change the name of the property to a name without hyphens. For example, if your Elasticsearch query uses a property (an aggregation, a grouping or any other property you want to use) with a name that contains a hyphen, you can either access your Elasticsearch instance and change the name there or you can overwrite the name in the query dsl field.
If you can't change the name of the property, you need to enter the property name in the following format: Original property name: {{properties.name-with-hyphens.value}} New format: {{properties['name-with-hyphens'].value}}
Show column headers
You can choose between showing or hiding the header for all columns.
Expand rows automatically
Activate this checkbox if you want the row height to expand automatically based on the row content, for example if your grid uses increased text size, images, emojis etc.
Limit number of results displayed
You can set a limit of the initial number of results displayed in the grid. If you have set a limit and there are more results to display, users will see a "show all" button below the grid.
Font size
Use the slider to adjust the font size.
Tip for column sizing: You can change the column width directly in the grid by clicking on the divider lines between columns and dragging them to the width you want. You need to show column headers (by activating the show column headers check box) to be able to change the column width. Resizing columns while in edit mode affects how the grid looks by default when users open the dashboard. Users can temporarily change the column sizes by dragging them, but those changes only last until they leave the page.
Key path
Specifying a key path allows you to customize the displayed value. For example, username, will display the username of the first result. Other possible key path values can be seen as column headers in the Grid view.
Scalar
Font size
Allows you to set the font size of the value in the tile.
Alignment
Select the scalar text alignment. Choose from left, center or right.
Unit
Allows you to add a unit to the value displayed in the Scalar tile. For example, if your value shows a time in milliseconds, you can enter "ms" or if your value shows pageviews, you can enter "pageviews".
Value formatter
Allows you to format the value by using the mustache picker. For example, you can round the value up or down or convert it.
Color
Conditional formatting:
You can display the data in different colors based on values you define here. For example, you can display the data in green when the value is below 100 and in red when it is above 100.
Click on add to configure a condition.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the value property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Value is greater than something, less than something, etc. For example: {{value < 10}} (The color you pick will be used if the value is less than 10)
Value is present in the result (scalar tiles only) For example: value.IndexOf('error') != -1 (The color you pick will be used if the string value "error" is present in the results)
Value matches one of the regular expressions you defined (scalar tiles only) For example: value.match(/healthy|good|up/) (The color you picked will be used if the string values are healthy, good, or up)
Display:
Here you decide how the color is used:
Tile background
Highlight the tile in the color you defined.
Text foreground
Display the text in the color you defined.
Link options
Allows you to turn the graph item(s) into links. You can either enter plain text to create a fixed link (URL always stays the same) or use dynamic properties to create a dynamic link.
Dynamic links make use of dynamic properties which are inserted as part of the URL. This creates a template URL that will be resolved to an actual URL based on the items properties.
For example, if you want to link to tickets in your ticket system and the format of the URL for tickets in your system is https://www.my-system/ticket-123, where 123 is the ticket ID, you can use the dynamic property that contains the ticket ID and enter the dynamic URL https://www.my-system/ticket-{{ticketID}}.
For scalars, you can only use the dynamic property value in dynamic links, which means the link changes when the value of the scalar changes. Since a scalar is just one item, it would also make sense to use a fixed link, for example the link to the website of which you are displaying the response time.
For status icon or bars and the rows of a grid, you usually want to use a dynamic link since you get multiple items or rows that represent different things. You can use any of the dynamic properties the mustache picker offers you.
Dynamic mustache properties and values you need to change according to your instance are highlighted in bold.
You can use mustache and JavaScript to group audit events. For example {{operation}}
Data Range
The Data Range option allows you to choose the range of data the graph will display. For line graphs, this means the data on the y-axis.
percentage
Shows 0 to 100
fit to data
Shows the data minimum to data maximum
fit to data (from zero)
Shows from 0 to the data maximum
custom
Allows you to specify the min and max
custom fit
Allows you to specify the min and max limits, so that data outside your settings will not be shown. If all the data falls within your specified ranges then the y-axis range will fit to the data rather than your caps.
Sort
Sort allows you to change the order of the results displayed. You can sort by value (ascending or descending) or label (alphabetically ascending or descending).
Value
Value formatter
Allows you to format the value by using the mustache picker. For example, you can round the value up or down or convert it.
Label
Allows you to change the label of the results.
auto
Choose this option if you want to use the default label that has been created automatically.
custom
Here you can change the label to a custom label. You can use static text and dynamic properties. Use the mustache picker to select dynamic properties from the response data to use them as labels.
If you turn color matching on, one item (a specific resource, object, site, anything you are displaying in your graphs) is shown in the same color in different graphs on one dashboard or one perspective. You can use either color matching or custom colors (colors based on values), they cannot both be used at the same time.
custom colors
Setting colors based on values
You can display the data in different colors based on values you define here. For example, you can display the data in green when the value is below 100 and in red when it is above 100.
Click on add to configure a condition.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the value property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Value is greater than something, less than something, etc. For example: {{value < 10}} (The color you pick will be used if the value is less than 10)
Value is present in the result (scalar tiles only) For example: value.IndexOf('error') != -1 (The color you pick will be used if the string value "error" is present in the results)
Value matches one of the regular expressions you defined (scalar tiles only) For example: value.match(/healthy|good|up/) (The color you picked will be used if the string values are healthy, good, or up)
You are able to combine value matching with label matching.
Setting colors based on labels
You can display the data in different colors based on labels. For example, you can display data in green for a specific user.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the label property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Condition is true if the label contains something For example: {{label.indexOf('SQL') != -1}} (The color you pick will be used if the label contains 'SQL')
Condition is true if the label contains multiple things For example: {{label.match(/C:|D:|E:/) != null}} (The color you pick will be used if the label contains 'C:', 'D:' or 'E:')
Condition is true if the label contains multiple things with multiple variations For example: {{label.match(/^[Ss]erver[0-9]+$/) != null}} (The color you pick will be used if the label is 'Server' or 'server' with a number after it)
You are able to combine label matching with value matching.
Group
You can use mustache and JavaScript to group audit events. For example {{operation}}
Sort
Sort allows you to change the order of the results displayed. You can sort by value (ascending or descending) or label (alphabetically ascending or descending).
Value formatter
Allows you to format the value by using the mustache picker. For example, you can round the value up or down or convert it.
Display
Size mode:
Default
Displays the donut scaled to the height of the tile.
Fill
Enlarges the donut to use the whole width of the tile. If you chose the fill option and show the legend, you can define the size of the legend with a slider.
Show legend:
Allows you to show or hide the legend of the graph.
Table or Inline:
Show the legend as a separate table or as labels pointing to the segments. When using Inline you can also hide the segment values, and use the slider to change the size of the labels.
Show zero values in legend:
Will show legend items for values of zero which are otherwise missing from the donut.
Fixed height scrollable legend:
Sets the legend to a fixed height where you can scroll through the items. This means that the tile doesn't become too large if there are many items.
Display mode:
Allows you to switch between displaying absolute values or percentages.
Color palette:
Here you can choose between different color palettes.
Note: If there are more items than colors, the colors repeat from the beginning.
Tip for displaying priorities or health states: If you want to display priorities or health states from a data source that doesn't enrich the data with information about priority or health (like the SQL tile or external APIs), use the custom color option and map the results to the correct color. This way, you can make sure that healthy or low priority results are displayed in green, unhealthy or high priority results are displayed in red, etc. If you use the color palettes Priorities, Health1, or Health2 the colors get assigned depending on how the results are sorted, which doesn't guarantee that the colors make sense for the priority or state they represent.
General
10 different colors without specific meaning
Priorities
5 different colors representing 5 different priority states
Health1
3 different colors representing 3 different health states (red=unhealthy, green=healthy, gray=unknown)
Health2
4 different colors representing 4 different health states (red=critical, orange=unhealthy, green=healthy, gray=unknown)
Pastel
10 different pastel colors without specific meaning
Blue
4 different shades of blue from dark to light
Orange
4 different shades of orange from dark to light
Green
4 different shades of green from dark to light
Pink
4 different shades of pink from dark to light
Custom
Setting colors based on values
You can display the data in different colors based on values you define here. For example, you can display the data in green when the value is below 100 and in red when it is above 100.
Click on add to configure a condition.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the value property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Value is greater than something, less than something, etc. For example: {{value < 10}} (The color you pick will be used if the value is less than 10)
Value is present in the result (scalar tiles only) For example: value.IndexOf('error') != -1 (The color you pick will be used if the string value "error" is present in the results)
Value matches one of the regular expressions you defined (scalar tiles only) For example: value.match(/healthy|good|up/) (The color you picked will be used if the string values are healthy, good, or up)
You are able to combine value matching with label matching.
Setting colors based on labels
You can display the data in different colors based on labels. For example, you can display data in green for a specific user.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the label property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Condition is true if the label contains something For example: {{label.indexOf('SQL') != -1}} (The color you pick will be used if the label contains 'SQL')
Condition is true if the label contains multiple things For example: {{label.match(/C:|D:|E:/) != null}} (The color you pick will be used if the label contains 'C:', 'D:' or 'E:')
Condition is true if the label contains multiple things with multiple variations For example: {{label.match(/^[Ss]erver[0-9]+$/) != null}} (The color you pick will be used if the label is 'Server' or 'server' with a number after it)
You are able to combine label matching with value matching.
Group
You can use mustache and JavaScript to group audit events. For example {{operation}}
Threshold
You can choose to apply a threshold line at a specified value, and whether you wish to fill above or below this value, or just show the line. For example, for free disk space you might want to fill below the line to highlight when space goes below a particular threshold. For processor information you might want to fill above the line to highlight when processor percentage goes above that threshold. The threshold is also shown on the drilldown view.
Max, min, avg
When drilled-down to view a graph, you can select the min, max and avgoptions for each object (displayed to the right of the graph), which displays a line cutting horizontally across the graph a each of the selected value points.
Data range
The Data Range option allows you to choose the range of data the graph will display. For line graphs, this means the data on the y-axis.
percentage
Shows 0 to 100
fit to data
Shows the data minimum to data maximum
fit to data (from zero)
Shows from 0 to the data maximum
custom
Allows you to specify the min and max
custom fit
Allows you to specify the min and max limits, so that data outside your settings will not be shown. If all the data falls within your specified ranges then the y-axis range will fit to the data rather than your caps.
Display
Height:
Allows you to set the height of the tile with a slider.
Show hover details:
Shows the value for all lines at any point you hover. There may not be a value exactly where you hover so the value is interpolated from the values either side.
Show points:
Shows where the data points are on the line. Useful to identify missing points, or detail for changing data.
Show trend
Enable the Show Trend Linestoggle to display a trend line for the line graph data. Disable the toggle to hide the trend line.
Custom colors:
You can display the data in different colors based on labels. For example, you can display data in green for a specific user.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the label property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Condition is true if the label contains something For example: {{label.indexOf('SQL') != -1}} (The color you pick will be used if the label contains 'SQL')
Condition is true if the label contains multiple things For example: {{label.match(/C:|D:|E:/) != null}} (The color you pick will be used if the label contains 'C:', 'D:' or 'E:')
Condition is true if the label contains multiple things with multiple variations For example: {{label.match(/^[Ss]erver[0-9]+$/) != null}} (The color you pick will be used if the label is 'Server' or 'server' with a number after it)
Label
Allows you to change the label of the results.
Show legend:
Allows you to show or hide the legend of the graph.
Label:
auto
Choose this option if you want to use the default label that has been created automatically.
custom
Here you can change the label to a custom label. You can use static text and dynamic properties. Use the mustache picker to select dynamic properties from the response data to use them as labels.
Allows you to format the value by using the mustache picker. For example, you can round the value up or down or convert it.
Group
You can use mustache and JavaScript to group audit events. For example {{operation}}
Threshold
You can choose to apply a threshold line at a specified value, and whether you wish to fill above or below this value, or just show the line. For example, for free disk space you might want to fill below the line to highlight when space goes below a particular threshold. For processor information you might want to fill above the line to highlight when processor percentage goes above that threshold. The threshold is also shown on the drilldown view.
Data range
The Data Range option allows you to choose the range of data the graph will display. For line graphs, this means the data on the y-axis.
percentage
Shows 0 to 100
fit to data
Shows the data minimum to data maximum
fit to data (from zero)
Shows from 0 to the data maximum
custom
Allows you to specify the min and max
custom fit
Allows you to specify the min and max limits, so that data outside your settings will not be shown. If all the data falls within your specified ranges then the y-axis range will fit to the data rather than your caps.
Display
Height:
Allows you to set the height of the tile with a slider.
Show hover details:
Shows the value for all lines at any point you hover. There may not be a value exactly where you hover so the value is interpolated from the values either side.
Solid bars:
Show the bars as solid color or translucent.
Custom colors:
You can display the data in different colors based on labels. For example, you can display data in green for a specific user.
Click on select color.... to open the color picker. Select the color for this condition.
Enter your condition in the field next to the color. You can use the label property and manipulate it with JavaScript String and Regex APIs. When you click on the mustache picker, you'll get some examples:
Condition is true if the label contains something For example: {{label.indexOf('SQL') != -1}} (The color you pick will be used if the label contains 'SQL')
Condition is true if the label contains multiple things For example: {{label.match(/C:|D:|E:/) != null}} (The color you pick will be used if the label contains 'C:', 'D:' or 'E:')
Condition is true if the label contains multiple things with multiple variations For example: {{label.match(/^[Ss]erver[0-9]+$/) != null}} (The color you pick will be used if the label is 'Server' or 'server' with a number after it)
Label
Allows you to change the label of the results.
Show legend:
Allows you to show or hide the legend of the graph.
Label:
auto
Choose this option if you want to use the default label that has been created automatically.
custom
Here you can change the label to a custom label. You can use static text and dynamic properties. Use the mustache picker to select dynamic properties from the response data to use them as labels.
Allows you to format the value by using the mustache picker. For example, you can round the value up or down or convert it.
Timeframe: The timeframe picker at the top of the screen can be used to adjust the graph timeframe. Timeframes up to 12 months and custom are supported
Minimize the editor: Beneath the config editor is an arrow , clicking this arrow will minimize the config panel, allowing the output to fill the screen. This is useful for taking screenshots of the result or for viewing more columns in a grid.
Export to Excel: Auditing data can be exported to Excel using the Export to Excel button shown at the top right of the screen:
The current status of auditing can be viewed in ≡ > System > Auditing. Auditing can be in one of several states:
When auditing is not enabled the status will be as follows:
When auditing is enabled and functions correctly the following is displayed:
If auditing failed to startup correctly, which occurs during DS for SCOM starting up or an auditing configuration change, then no auditing will take place and a red banner will be displayed. Auditing can fail to start up for a number of reasons including misconfiguration or issues communicating with the SQL server. Here’s an example of what it can look like:
If one or more audit events failed to record correctly a warning message is displayed and it is noted in the DS for SCOM log, see Where to find log files. This can indicate auditing may or may not be working (for example the SQL server has unexpectedly become unavailable). The date and time of the last error is also included in the message. Here’s an example message:
Auditing is supported in HA mode and both DS for SCOM instances will read and write to the same audit table. The server that adds an audit entry is distinguished by the NodeId.
When changing settings (including enable/disable) in HA mode the settings are not automatically reflected on both servers. The server you change the settings on will be updated immediately, but you need to wait 1 minute then recycle the application pool of the other server to take effect. If you don’t recycle the application pool of the other server it will continue to use the old settings or have auditing in the incorrect state.