Collector Installation
Checklist Before You Start
Section titled “Checklist Before You Start”- Microsoft 365 tenant with Teams calling activity
- Microsoft Entra app registration with Graph permissions (see Azure Permissions)
- Admin consent granted for
CallRecords.Read.All,Reports.Read.All,ServiceHealth.Read.All - Collector host with outbound access to
graph.microsoft.com,login.microsoftonline.com, and your backend endpoint - Valid license file (see License)
- Download collector binary from the latest release
Build Your Config
Section titled “Build Your Config”Start from template and set at least:
microsoft_authentication: graph: tenant_id: "<tenant-id>" client_id: "<client-id>" client_secret: "<secret>" # or client_certificate_path
license: filepath: /etc/ms-teams-observability-agent/license.json
output: dynatrace: enabled: true dynatrace_tenant_id: "<env>" dynatrace_api_token: "dt0c01..."
collection_config: interval_collection_minutes: 10 max_call_duration_hours: 5 features: calls_collection: enabled: trueFull settings reference: Configuration Reference
Validate and Test
Section titled “Validate and Test”-
Validate file structure and business rules:
Terminal window ms-teams-agent validate --config ./config.yaml -
Test Graph auth and exporters:
Terminal window ms-teams-agent test-connection --config ./config.yaml -
Run one dry cycle:
Terminal window ms-teams-agent run --config ./config.yaml --dry-run
✅ Success criteria:
validatereturns no errortest-connectionconfirms Graph authentication and backend connectivitydry-runcompletes one full cycle without errors
❌ If this fails:
flowchart TD
A[Build config.yaml] --> B[validate]
B -->|Errors| C[Fix YAML / credentials]
C --> B
B -->|OK| D[test-connection]
D -->|Fail| E[Fix auth or network]
E --> D
D -->|OK| F["run --dry-run"]
F --> G["run --config (production)"]
Start the Collector
Section titled “Start the Collector”ms-teams-agent run --config ./config.yaml.\ms-teams-agent.exe run --config .\config.yamlService Automation (Linux)
Section titled “Service Automation (Linux)”For persistent production execution, install as a systemd service:
sudo ms-teams-agent service enable-service --config /absolute/path/config.yamlsudo ms-teams-agent service statusSee Service Management for Linux service operation.
Verify Ingestion
Section titled “Verify Ingestion”- Agent logs:
tail -f logs/agent.log- State snapshot:
ms-teams-agent state show- Backend verification:
- Dynatrace: check app overview for real tenant data
- Splunk: check
ms_teamsindex receives events
✅ Success criteria:
- Collector logs show successful collection cycles
ms-teams-agent state showreports valid state- Backend receives at least one
MSTeams_*record
❌ If this fails:
- Collector Troubleshooting
- Verify backend configuration and network connectivity