Completes the following:
- Deploys log analytics, app insights and storage accountp.
- Deploys management solutions for keyvaults, subscription activity, agent health, updates and VM insights.
- Deploys action groups and alerts for service health, keyvault admin and resource health for applicable core resources.
This command forms part of the Core Building Block.
Parameters
-SettingsFile
Required. (String) File path for the settings file to be converted into a settings object.
-SettingsObject
Required. (Object) Object containing the configuration values required to run this cmdlet.
-TagSettingsFile
Required. (String) File path for settings containing tags definition.
-WhatIf
(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.
-Confirm
(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.
Usage
Example 1
1
New-CmAzCoreMonitor -SettingsFile "c:/directory/settingsFile.yml"
Example 2
1
New-CmAzCoreMonitor -SettingsObject $settings
Settings
Beta documentation
The following schema documentation is automatically generated as part of a recent roadmap task. There may be inaccuracies or incomplete information while we flush out bugs; please refer to the packed project settings examples where necessary.Settings Root.
- Component
-
Value to determine what cmdlet should be dynamically loaded for these settings.
- Name
-
Becomes part of the generated names for all deployed resources.
- Location
-
Location for all resource deployments.
- AdvisorLowCPUThresholdPercentage
-
Set the cpu threshold for Azure Advisor.
- WorkspaceDataRetentionInDays
-
Log Analytics data retention in days.
Default:
90
- Service
-
Contains dependency and publish details for service location.
- Publish
-
Contains publish details for service location.
- ActionGroup
-
Global default value to publish on deployed resource type.
- KeyvaultAdminAlert
-
Value to publish on deployed resource type.
- ResourceHealthAlert
-
Value to publish on deployed resource type.
- ServiceHealthAlert
-
Value to publish on deployed resource type.
- AppInsights
-
Value to publish on deployed resource type.
- ResourceGroup
-
Value to publish on deployed resource type.
- Solution
-
Value to publish on deployed resource type.
- Storage
-
Value to publish on deployed resource type.
- Workspace
-
Value to publish on deployed resource type.
- Dependencies
-
Contains dependency details for service location.
- Keyvault
-
Dependency value to fetch existing resource type.
- Alerts
-
Details required to deploy all alerts.
- KeyvaultAdmin
-
Contains details required to deploy a activity log alert for administration operations on a key vault.
- ActionGroupName
-
Part of the name of the action group to link the alert to, needs to match the name of an action group below.
- Enabled
-
If the alert is enabled ot not.
- ResourceHealth
-
Contains details required to deploy a resource health alert for all applicable core resources.
- ActionGroupName
-
Part of the name of the action group to link the alert to, needs to match the name of an action group below.
- Enabled
-
If the alert is enabled ot not.
- ServiceHealth
-
Contains details required to deploy a service health alert for all services and all chosen locations...
- ActionGroupName
-
Part of the name of the action group to link the alert to, needs to match the name of an action group below.
- ImpactedLocations
-
Locations the service health alerts are applicable for.
- Enabled
-
If the alert is enabled ot not.
- ActionGroups
-
All details required to deploy multiple action groups.
- Name
-
Becomes part of the generated action group's name.
- Shortname
-
Friendly name for the action groups, used in emails/sms etc.
- Service
-
Contains dependency and publish details for service location.
- Publish
-
Contains publish details for service location.
- ActionGroup
-
Local overriding value to publish on deployed existing resource type.
- ArmRoles
-
All details required to deploy multiple arm role receivers.
- RoleId
-
Arm role receiver id.
- Emails
-
All details required to deploy multiple email receivers.
- EmailAddress
-
The email address of this receiver.
- Functions
-
All details required to deploy multiple azure function receivers.
- FunctionAppResourceId
-
Resource id of the azure function app.
- FunctionName
-
Name of the azure function app.
- HttpTriggerUrl
-
Url of the http trigger azure function.
- ITSM
-
All details required to deploy multiple itsm receivers.
- WorkspaceId
-
Log analytics workspace id.
- ConnectionId
-
Unique id of the ITSM's connection defined in log analytics workpace.
- TicketConfiguration
-
JSON blob for configuring the action of the ITSM.
- Region
-
Log analytics workspace location.
- LogicApps
-
All details required to deploy multiple logic apps receivers.
- ResourceId
-
Resource id of the existing logic app.
- CallbackUrl
-
The http trigger url of the existing logic app where the request is sent.
- Notifications
-
All details required to deploy multiple notification receivers.
- EmailAddress
-
Address for the azure mobile app.
- Runbooks
-
All details required to deploy multiple runbook receivers.
- AutomationAccountId
-
AThe resource id of the existing automation account.
- RunbookName
-
Name of the runbook in the above automation account.
- WebhookResourceId
-
Resource id of the webhook defined in the existing runbook.
- IsGlobalRunbook
-
If the runbook instance is global.
- ServiceUri
-
The uri where the webhooks are sent.
- SMS
-
All details required to deploy multiple sms receivers.
- CountryCode
-
Receiver's country code.
- PhoneNumber
-
Receiver's phone number.
- Voice
-
All details required to deploy multiple voice receivers.
- CountryCode
-
Receiver's country code.
- PhoneNumber
-
Receiver's phone number.
- Webhook
-
All details required to deploy multiple webhook receivers.
- ServiceUri
-
Where webhooks are dispatched to.
- UseAadAuth
-
Utilise aad authentication.
- ObjectId
-
Existing webhook app id.
- IdentifierUri
-
Uri for aad authentication.
- TenantId
-
Tenant id for aad authentication.
Examples
The following example files are automatically generated from the settings file schema definition to show how the specification can be used in practise. Cloudmarque can accept both JSON and YAML parameter files.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"component": "string",
"name": "string",
"location": "string",
"advisorLowCPUThresholdPercentage": 0,
"workspaceDataRetentionInDays": "90",
"service": {
"publish": {
"actionGroup": "string",
"keyvaultAdminAlert": "string",
"resourceHealthAlert": "string",
"serviceHealthAlert": "string",
"appInsights": "string",
"resourceGroup": "string",
"solution": "string",
"storage": "string",
"workspace": "string"
},
"dependencies": {
"keyvault": "string"
}
},
"alerts": {
"keyvaultAdmin": {
"actionGroupName": "string",
"enabled": "boolean"
},
"resourceHealth": {
"actionGroupName": "string",
"enabled": "boolean"
},
"serviceHealth": {
"actionGroupName": "string",
"impactedLocations": [
"string"
],
"enabled": "boolean"
}
},
"actionGroups": [
{
"name": "string",
"shortname": "string",
"service": {
"publish": {
"actionGroup": "string"
}
},
"armRoles": [
{
"roleId": "string"
}
],
"emails": [
{
"emailAddress": "string"
}
],
"functions": [
{
"functionAppResourceId": "string",
"functionName": "string",
"httpTriggerUrl": "string"
}
],
"itsm": [
{
"workspaceId": "string",
"connectionId": "string",
"ticketConfiguration": "string",
"region": "string"
}
],
"logicApps": [
{
"resourceId": "string",
"callbackUrl": "string"
}
],
"notifications": [
{
"emailAddress": "string"
}
],
"runbooks": [
{
"automationAccountId": "string",
"runbookName": "string",
"webhookResourceId": "string",
"isGlobalRunbook": true,
"serviceUri": "string"
}
],
"sms": [
{
"countryCode": "string",
"phoneNumber": "string"
}
],
"voice": [
{
"countryCode": "string",
"phoneNumber": "string"
}
],
"webhooks": [
{
"serviceUri": "string",
"useAadAuth": "boolean",
"objectId": "string",
"identifierUri": "string",
"tenantId": "string"
}
]
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
component: "string" # Optional
name: "string" # Mandatory
location: "string" # Mandatory
advisorLowCPUThresholdPercentage: 0 # Mandatory
workspaceDataRetentionInDays: "90" # Optional
service: # Mandatory
publish: # Mandatory
actionGroup: "string" # Optional
keyvaultAdminAlert: "string" # Mandatory
resourceHealthAlert: "string" # Mandatory
serviceHealthAlert: "string" # Mandatory
appInsights: "string" # Mandatory
resourceGroup: "string" # Mandatory
solution: "string" # Mandatory
storage: "string" # Mandatory
workspace: "string" # Mandatory
dependencies: # Mandatory
keyvault: "string" # Mandatory
alerts: # Mandatory
keyvaultAdmin: # Mandatory
actionGroupName: "string" # Mandatory
enabled: "boolean" # Optional
resourceHealth: # Mandatory
actionGroupName: "string" # Mandatory
enabled: "boolean" # Optional
serviceHealth: # Mandatory
actionGroupName: "string" # Mandatory
impactedLocations: # Optional
- "string"
enabled: "boolean" # Optional
actionGroups: # Optional
- name: "string" # Mandatory
shortname: "string" # Mandatory
service: # Optional
publish: # Optional
actionGroup: "string" # Optional
armRoles: # Optional
- roleId: "string" # Mandatory
emails: # Optional
- emailAddress: "string" # Mandatory
functions: # Optional
- functionAppResourceId: "string" # Mandatory
functionName: "string" # Mandatory
httpTriggerUrl: "string" # Mandatory
itsm: # Optional
- workspaceId: "string" # Mandatory
connectionId: "string" # Mandatory
ticketConfiguration: "string" # Mandatory
region: "string" # Mandatory
logicApps: # Optional
- resourceId: "string" # Mandatory
callbackUrl: "string" # Mandatory
notifications: # Optional
- emailAddress: "string" # Mandatory
runbooks: # Optional
- automationAccountId: "string" # Mandatory
runbookName: "string" # Mandatory
webhookResourceId: "string" # Mandatory
isGlobalRunbook: true # Mandatory
serviceUri: "string" # Optional
sms: # Optional
- countryCode: "string" # Mandatory
phoneNumber: "string" # Mandatory
voice: # Optional
- countryCode: "string" # Mandatory
phoneNumber: "string" # Mandatory
webhooks: # Optional
- serviceUri: "string" # Mandatory
useAadAuth: "boolean" # Optional
objectId: "string" # Optional
identifierUri: "string" # Optional
tenantId: "string" # Optional