Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 116 additions & 0 deletions Workbooks/Communication Services/Overview/Overview.workbook
Original file line number Diff line number Diff line change
Expand Up @@ -1589,6 +1589,122 @@
"margin": "0",
"padding": "0"
}
},
{
"type": 12,
"content": {
"version": "NotebookGroup/1.0",
"groupType": "editable",
"items": [
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "ACSOptOutManagementOperations\r\n| extend StatusCodeWithName = case(\r\n ResultSignature == \"200\", \"200 - OK\",\r\n ResultSignature == \"400\", \"400 - Bad Request\",\r\n ResultSignature == \"401\", \"401 - Unauthorized\",\r\n ResultSignature == \"403\", \"403 - Forbidden\",\r\n ResultSignature == \"404\", \"404 - Not Found\",\r\n ResultSignature == \"405\", \"405 - Method Not Allowed\",\r\n ResultSignature == \"429\", \"429 - Too Many Requests\",\r\n ResultSignature == \"500\", \"500 - Internal Server Error\",\r\n ResultSignature == \"502\", \"502 - Bad Gateway\",\r\n ResultSignature == \"503\", \"503 - Service Unavailable\",\r\n strcat(ResultSignature, \" - Unknown\")\r\n)\r\n| where TimeGenerated {time_range:query}\r\n| extend temp0 = case(Country <> '', Country, 'UNKNOWN')\r\n| extend Country = temp0\r\n| where Country in ({country})\r\n| extend temp0 = case(PhoneNumber <> '', PhoneNumber, 'None')\r\n| extend PhoneNumber = temp0\r\n| where PhoneNumber in ({phone_number})\r\n| where OperationName == \"AddOptOutEntry\"\r\n| summarize count() by StatusCodeWithName\r\n| render piechart",
"size": 3,
"title": "AddOptOutEntry API requests by ResultSignature",
"noDataMessage": "No results for given time range.",
"queryType": 0,
"resourceType": "microsoft.communication/communicationservices"
},
"customWidth": "33",
"name": "add-opt-out"
},
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "ACSOptOutManagementOperations\r\n| extend StatusCodeWithName = case(\r\n ResultSignature == \"200\", \"200 - OK\",\r\n ResultSignature == \"400\", \"400 - Bad Request\",\r\n ResultSignature == \"401\", \"401 - Unauthorized\",\r\n ResultSignature == \"403\", \"403 - Forbidden\",\r\n ResultSignature == \"404\", \"404 - Not Found\",\r\n ResultSignature == \"405\", \"405 - Method Not Allowed\",\r\n ResultSignature == \"429\", \"429 - Too Many Requests\",\r\n ResultSignature == \"500\", \"500 - Internal Server Error\",\r\n ResultSignature == \"502\", \"502 - Bad Gateway\",\r\n ResultSignature == \"503\", \"503 - Service Unavailable\",\r\n strcat(ResultSignature, \" - Unknown\")\r\n)\r\n| where TimeGenerated {time_range:query}\r\n| extend temp0 = case(Country <> '', Country, 'UNKNOWN')\r\n| extend Country = temp0\r\n| where Country in ({country})\r\n| extend temp0 = case(PhoneNumber <> '', PhoneNumber, 'None')\r\n| extend PhoneNumber = temp0\r\n| where PhoneNumber in ({phone_number})\r\n| where OperationName == \"CheckOptOutStatus\"\r\n| summarize count() by StatusCodeWithName\r\n| render piechart",
"size": 3,
"title": "CheckOptOutStatus API requests by ResultSignature",
"noDataMessage": "No results for given time range.",
"queryType": 0,
"resourceType": "microsoft.communication/communicationservices"
},
"customWidth": "33",
"name": "remove-opt-out"
},
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "ACSOptOutManagementOperations\r\n| extend StatusCodeWithName = case(\r\n ResultSignature == \"200\", \"200 - OK\",\r\n ResultSignature == \"400\", \"400 - Bad Request\",\r\n ResultSignature == \"401\", \"401 - Unauthorized\",\r\n ResultSignature == \"403\", \"403 - Forbidden\",\r\n ResultSignature == \"404\", \"404 - Not Found\",\r\n ResultSignature == \"405\", \"405 - Method Not Allowed\",\r\n ResultSignature == \"429\", \"429 - Too Many Requests\",\r\n ResultSignature == \"500\", \"500 - Internal Server Error\",\r\n ResultSignature == \"502\", \"502 - Bad Gateway\",\r\n ResultSignature == \"503\", \"503 - Service Unavailable\",\r\n strcat(ResultSignature, \" - Unknown\")\r\n)\r\n| where TimeGenerated {time_range:query}\r\n| extend temp0 = case(Country <> '', Country, 'UNKNOWN')\r\n| extend Country = temp0\r\n| where Country in ({country})\r\n| extend temp0 = case(PhoneNumber <> '', PhoneNumber, 'None')\r\n| extend PhoneNumber = temp0\r\n| where PhoneNumber in ({phone_number})\r\n| where OperationName == \"RemoveOptOutEntry\"\r\n| summarize count() by StatusCodeWithName\r\n| render piechart",
"size": 3,
"title": "RemoveOptOutEntry API requests by ResultSignature",
"noDataMessage": "No results for given time range.",
"queryType": 0,
"resourceType": "microsoft.communication/communicationservices"
},
"customWidth": "33",
"name": "check-opt-out"
}
]
},
"name": "gropu--opt-out-api"
},
{
"type": 12,
"content": {
"version": "NotebookGroup/1.0",
"groupType": "editable",
"items": [
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "ACSSMSIncomingOperations\r\n| extend StatusCodeWithName = case(\r\n ResultSignature == \"200\", \"200 - OK\",\r\n ResultSignature == \"400\", \"400 - Bad Request\",\r\n ResultSignature == \"401\", \"401 - Unauthorized\",\r\n ResultSignature == \"403\", \"403 - Forbidden\",\r\n ResultSignature == \"404\", \"404 - Not Found\",\r\n ResultSignature == \"405\", \"405 - Method Not Allowed\",\r\n ResultSignature == \"429\", \"429 - Too Many Requests\",\r\n ResultSignature == \"500\", \"500 - Internal Server Error\",\r\n ResultSignature == \"502\", \"502 - Bad Gateway\",\r\n ResultSignature == \"503\", \"503 - Service Unavailable\",\r\n strcat(ResultSignature, \" - Unknown\")\r\n)\r\n| where OperationName contains \"SMSDeliveryReportFetched\"\r\n| where TimeGenerated {time_range:query}\r\n| extend temp0 = case(Country <> '', Country, 'UNKNOWN')\r\n| extend Country = temp0\r\n| where Country in ({country})\r\n| extend temp0 = case(PhoneNumber <> '', PhoneNumber, 'None')\r\n| extend PhoneNumber = temp0\r\n| where PhoneNumber in ({phone_number})\r\n| summarize count() by StatusCodeWithName\r\n| render piechart",
"size": 3,
"title": "Delivery Report API requests by ResultSignature",
"noDataMessage": "No results for given time range.",
"timeContext": {
"durationMs": 86400000
},
"queryType": 0,
"resourceType": "microsoft.communication/communicationservices"
},
"customWidth": "33",
"name": "delivery-report-api-by-result-signature"
},
{
"type": 3,
"content": {
"version": "KqlItem/1.0",
"query": "ACSSMSIncomingOperations\r\n| where TimeGenerated {time_range:query}\r\n| where OperationName contains \"SMSDeliveryReportFetched\"\r\n| extend temp0 = case(NumberType <> '', NumberType, 'None')\r\n| extend NumberType = temp0\r\n| where NumberType in ({number_type})\r\n| extend temp0 = case(Country <> '', Country, 'UNKNOWN')\r\n| extend Country = temp0\r\n| where Country in ({country})\r\n| extend temp0 = case(PhoneNumber <> '', PhoneNumber, 'None')\r\n| extend PhoneNumber = temp0\r\n| where PhoneNumber in ({phone_number})\r\n| summarize count() by MessageId\r\n| summarize avg(count_)\r\n| extend rate=avg_count_\r\n| extend label=\"\"",
"size": 3,
"title": "Average Delivery Report API requests per message ID",
"noDataMessage": "No results for given time range.",
"queryType": 0,
"resourceType": "microsoft.communication/communicationservices",
"visualization": "tiles",
"tileSettings": {
"titleContent": {
"columnMatch": "label",
"formatter": 1
},
"leftContent": {
"columnMatch": "avg_count_",
"formatter": 12,
"formatOptions": {
"palette": "auto"
},
"numberFormat": {
"unit": 17,
"options": {
"maximumSignificantDigits": 3,
"maximumFractionDigits": 2
}
}
},
"showBorder": false,
"size": "auto"
}
},
"customWidth": "33",
"name": "dlr-api-requests-per-message-id"
}
]
},
"name": "group--delivery-report-api"
}
]
},
Expand Down