Skip to content

Commit

Permalink
[O365_metrics] Add teams_device_usage_user_counts data stream. (#12218)
Browse files Browse the repository at this point in the history
* [O365_metrics] Add teams_device_usage_user_counts data stream.
  • Loading branch information
ritalwar authored Jan 23, 2025
1 parent 23c367b commit 8d16e21
Show file tree
Hide file tree
Showing 14 changed files with 765 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@
/packages/o365_metrics/data_stream/outlook_activity @elastic/obs-infraobs-integrations
/packages/o365_metrics/data_stream/outlook_app_usage @elastic/obs-infraobs-integrations
/packages/o365_metrics/data_stream/sharepoint_site_usage @elastic/obs-infraobs-integrations
/packages/o365_metrics/data_stream/teams_device_usage_user_counts @elastic/obs-infraobs-integrations
/packages/o365_metrics/data_stream/teams_user_activity_user_counts @elastic/obs-infraobs-integrations
/packages/o365_metrics/data_stream/teams_user_activity_user_detail @elastic/security-service-integrations
/packages/o365_metrics/data_stream/viva_engage_groups_activity_group_detail @elastic/security-service-integrations
Expand Down
15 changes: 15 additions & 0 deletions packages/o365_metrics/_dev/build/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Following Microsoft 365 Graph Reports can be collected by Microsoft Office 365 M
| [Outlook Mailbox Usage Mailbox Detail](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/mailbox-usage?view=o365-worldwide) | [reportRoot: getMailboxUsageDetail](https://learn.microsoft.com/en-us/graph/api/reportroot-getmailboxusagedetail?view=graph-rest-1.0&tabs=http) | O365 mailbox quota status and mailbox usage detail metrics | `Period`-based |
| [SharePoint Site Usage Storage](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/sharepoint-site-usage-ww?view=o365-worldwide) | [reportRoot: getSharePointSiteUsageStorage](https://learn.microsoft.com/en-us/graph/api/reportroot-getsharepointsiteusagestorage?view=graph-rest-1.0&tabs=http) | Office 365 Sharepoint Site Usage metrics | `Period`-based |
| [SharePoint Site Usage Site Detail](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/sharepoint-site-usage-ww?view=o365-worldwide) | [reportRoot: getSharePointSiteUsageDetail](https://learn.microsoft.com/en-us/graph/api/reportroot-getsharepointsiteusagedetail?view=graph-rest-1.0&tabs=http) | Office 365 Sharepoint Site Usage metrics | `Period`-based |
| [Teams Device Usage User Counts](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/microsoft-teams-device-usage-preview?view=o365-worldwide) | [reportRoot: getTeamsDeviceUsageUserCounts](https://learn.microsoft.com/en-us/graph/api/reportroot-getteamsdeviceusageusercounts?view=graph-rest-1.0&tabs=http) | Office 365 Teams Device Usage User Counts metrics | `Period`-based |
| [Teams User Activity User Counts](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/microsoft-teams-user-activity-preview?view=o365-worldwide) | [reportRoot: getTeamsUserActivityUserCounts](https://learn.microsoft.com/en-us/graph/api/reportroot-getteamsuseractivityusercounts?view=graph-rest-1.0&tabs=http) | Office 365 Teams User Activity User Counts metrics | `Period`-based |
| [Teams User Activity User Detail](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/microsoft-teams-user-activity-preview?view=o365-worldwide) | [reportRoot: getTeamsUserActivityUserDetail](https://learn.microsoft.com/en-us/graph/api/reportroot-getteamsuseractivityuserdetail?view=graph-rest-1.0&tabs=http) | Microsoft 365 Teams User Activity User Detail | `Day`-based |
| [Viva Engage Groups Activity Group Detail](https://learn.microsoft.com/en-us/microsoft-365/admin/activity-reports/viva-engage-groups-activity-report-ww?view=o365-worldwide) | [reportRoot: getYammerGroupsActivityDetail](https://learn.microsoft.com/en-us/graph/api/reportroot-getyammergroupsactivitydetail?view=graph-rest-1.0&tabs=http) | Microsoft 365 Viva Engage Groups Activity | `Day`-based |
Expand Down Expand Up @@ -218,3 +219,17 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur
Please refer to the following [document](https://www.elastic.co/guide/en/ecs/current/ecs-field-reference.html) for detailed information on ECS fields.

{{fields "yammer_device_usage"}}


### Teams Device Usage User Counts

Get details about Teams device usage from [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/api/reportroot-getteamsdeviceusageusercounts?view=graph-rest-1.0&tabs=http).

{{event "teams_device_usage_user_counts"}}

**ECS Field Reference**

Please refer to the following [document](https://www.elastic.co/guide/en/ecs/current/ecs-field-reference.html) for detailed information on ECS fields.

{{fields "teams_device_usage_user_counts"}}

5 changes: 5 additions & 0 deletions packages/o365_metrics/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "0.4.0-next"
changes:
- description: Add `teams_device_usage_user_counts` data stream.
type: enhancement
link: https://github.com/elastic/integrations/pull/12218
- version: "0.3.0"
changes:
- description: Add `groups_activity_group_detail`, `onedrive_usage_account_detail`, `teams_user_activity_user_detail`, and `viva_engage_groups_activity_group_detail` data streams.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dynamic_fields:
"event.ingested": ".*"
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"events": [
{
"teamsdeviceusage": "{\"Android Phone\":\"10\",\"Chrome OS\":\"20\",\"Linux\":\"30\",\"Mac\":\"40\",\"Report Date\":\"2024-12-25\",\"Report Period\":\"7\",\"Web\":\"40\",\"Windows\":\"5\",\"Windows Phone\":\"8\",\"iOS\":\"2\",\"Report Refresh Date\":\"2024-12-31\"}"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"expected": [
{
"@timestamp": "2024-12-25",
"ecs": {
"version": "8.16.0"
},
"o365": {
"metrics": {
"teams": {
"device": {
"usage": {
"user": {
"counts": {
"android_phone": {
"count": 10
},
"chrome_os": {
"count": 20
},
"ios": {
"count": 2
},
"linux": {
"count": 30
},
"mac": {
"count": 40
},
"report": {
"date": "2024-12-25",
"period": {
"day": "7"
},
"refresh_date": "2024-12-31"
},
"web": {
"count": 40
},
"windows": {
"count": 5
},
"windows_phone": {
"count": 8
}
}
}
}
}
}
}
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
config_version: 2
interval: {{interval}}
auth.oauth2:
client.id: {{client_id}}
client.secret: {{client_secret}}
provider: azure
scopes:
{{#each token_scopes as |token_scope|}}
- {{token_scope}}
{{/each}}
endpoint_params:
grant_type: client_credentials
{{#if token_url}}
token_url: {{token_url}}/{{azure_tenant_id}}/oauth2/v2.0/token
{{else if azure_tenant_id}}
azure.tenant_id: {{azure_tenant_id}}
{{/if}}

resource.url: {{url}}
{{#if resource_ssl}}
resource.ssl:
{{resource_ssl}}
{{/if}}

{{#if enable_request_tracer}}
resource.tracer.filename: "../../logs/cel/http-request-trace-*.ndjson"
{{/if}}

tags:
{{#if preserve_original_event}}
- preserve_original_event
{{/if}}
{{#each tags as |tag|}}
- {{tag}}
{{/each}}
{{#contains "forwarded" tags}}
publisher_pipeline.disable_host: true
{{/contains}}
{{#if processors}}
processors:
{{processors}}
{{/if}}

state:
want_more: false
base:
tenant_id: "{{azure_tenant_id}}"
period: "{{period}}"

redact:
fields:
- base.tenant_id


program: |
state.with(
request(
"GET",
state.url + "/reports/getTeamsDeviceUsageUserCounts(period='" + state.base.period + "')"
).do_request().as(resp,
resp.StatusCode == 200
?
bytes(resp.Body).mime("text/csv; header=present").as(body, {
"events": body.map(e, {"teamsdeviceusage": e.encode_json()}),

})
:
{
"events": {
"error": {
"code": string(resp.StatusCode),
"id": string(resp.Status),
"message": "GET:"+(
size(resp.Body) != 0 ?
string(resp.Body)
:
string(resp.Status) + ' (' + string(resp.StatusCode) + ')'
),
},
},
"want_more": false,
}
)
)
Loading

0 comments on commit 8d16e21

Please sign in to comment.