Skip to content

Commit 399f9c2

Browse files
authored
[Azure AI Foundry] Add Azure AI Foundry Integration (#14281)
* Add Azure AI Foundry integration
1 parent c04910a commit 399f9c2

21 files changed

+4377
-0
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
/packages/azure_metrics/data_stream/monitor @elastic/obs-ds-hosted-services
123123
/packages/azure_metrics/data_stream/storage_account @elastic/obs-ds-hosted-services
124124
/packages/azure_openai @elastic/obs-infraobs-integrations
125+
/packages/azure_ai_foundry @elastic/obs-infraobs-integrations
125126
/packages/azure_network_watcher_nsg @elastic/security-service-integrations
126127
/packages/azure_network_watcher_vnet @elastic/security-service-integrations
127128
/packages/barracuda @elastic/security-service-integrations
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dependencies:
2+
ecs:
3+
reference: [email protected]
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Azure AI Foundry Integration
2+
3+
Azure AI Foundry provides a comprehensive suite of AI services that enable developers to build, deploy, and manage AI solutions efficiently. The Azure AI Foundry integration collects metrics through Azure Monitor, facilitating robust monitoring and operational insights.
4+
5+
## Data streams
6+
7+
### Metrics
8+
9+
The metrics data stream collects the cognitive service metrics that is specific to the Azure AI Foundry service.
10+
11+
#### Key Metrics
12+
13+
**Model HTTP Request Metrics:**
14+
- `Requests`: Total number of calls made to the model API over a period of time.
15+
16+
**Model HTTP Request Metrics:**
17+
- `Latency`: Measures time taken to process the first byte of response, last byte of response and the request latency.
18+
19+
**Model Usage Metrics:**
20+
- `Token Usage`: Number of prompt tokens processed (input), generated completion tokens (output) and the total tokens of a model.
21+
22+
#### Requirements
23+
24+
Before you start, check the [Authentication and costs](https://docs.elastic.co/integrations/azure_metrics#authentication-and-costs) section.
25+
26+
#### Setup
27+
28+
Follow these [step-by-step instructions](https://docs.elastic.co/integrations/azure_metrics#setup) on how to set up an Azure metrics integration.
29+
30+
#### Data stream specific configuration notes
31+
32+
`Period`:: (_string_) Reporting interval. Metrics will have a timegrain of 5 minutes, so the `Period` configuration option for `azure_ai_foundry` should have a value of `300s` or multiple of `300s`for relevant results.
33+
34+
`Resource IDs`:: (_[]string_) The fully qualified ID's of the resource, including the resource name and resource type. Has the format `/subscriptions/{guid}/resourceGroups/{resource-group-name}/providers/{resource-provider-namespace}/{resource-type}/{resource-name}`.
35+
Should return a list of resources.
36+
37+
`Resource Groups`:: (_[]string_) This option will return all Azure AI Foundry services inside the resource group.
38+
39+
If no resource filter is specified, then all Azure AI Foundry services inside the entire subscription will be considered.
40+
41+
The primary aggregation value will be retrieved for all the metrics contained in the namespaces. The aggregation options are `avg`, `sum`, `min`, `max`, `total`, `count`.
42+
43+
#### Metrics Reference
44+
45+
The Azure AI Foundry metrics provide insights into the performance and usage of your AI resources. These metrics help in monitoring and optimizing your deployments.
46+
47+
{{event "metrics"}}
48+
49+
**ECS Field Reference**
50+
51+
For more details on ECS fields, check the [ECS Field Reference](https://www.elastic.co/guide/en/ecs/current/ecs-field-reference.html) documentation.
52+
53+
{{fields "metrics"}}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
- version: "0.1.0"
2+
changes:
3+
- description: Initial release of Azure AI Foundry Integration.
4+
type: enhancement
5+
link: https://github.com/elastic/integrations/pull/14281
Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
{
2+
"events": [
3+
{
4+
"@timestamp": "2025-06-16T09:59:00.000Z",
5+
"ecs": {
6+
"version": "8.0.0"
7+
},
8+
"service": {
9+
"type": "azure"
10+
},
11+
"data_stream": {
12+
"namespace": "default",
13+
"type": "metrics",
14+
"dataset": "azure.ai_foundry"
15+
},
16+
"host": {
17+
"hostname": "docker-fleet-agent",
18+
"os": {
19+
"kernel": "6.10.14-linuxkit",
20+
"name": "Wolfi",
21+
"type": "linux",
22+
"family": "",
23+
"version": "20230201",
24+
"platform": "wolfi"
25+
},
26+
"containerized": false,
27+
"ip": [
28+
"172.18.0.7"
29+
],
30+
"name": "docker-fleet-agent",
31+
"mac": [
32+
"EE-87-F8-35-CB-E5"
33+
],
34+
"architecture": "aarch64"
35+
},
36+
"elastic_agent": {
37+
"id": "dd5751b2-98ee-4abe-a555-617ae627e4e2",
38+
"version": "8.18.1",
39+
"snapshot": false
40+
},
41+
"metricset": {
42+
"period": 300000,
43+
"name": "monitor"
44+
},
45+
"event": {
46+
"duration": 30818990806,
47+
"agent_id_status": "verified",
48+
"ingested": "2025-06-16T10:02:45Z",
49+
"module": "azure",
50+
"dataset": "azure.ai_foundry"
51+
},
52+
"azure": {
53+
"subscription_id": "321cabcb4-86e8-404f-a3d2-1dc9982f45ca",
54+
"timegrain": "PT1M",
55+
"resource": {
56+
"name": "ai-obshub687016784742",
57+
"id": "/subscriptions/321cabcb4-86e8-404f-a3d2-1dc9982f45ca/resourceGroups/rg-aifoundry-0034_ai/providers/Microsoft.CognitiveServices/accounts/ai-obshub687016784742",
58+
"type": "Microsoft.CognitiveServices/accounts",
59+
"group": "rg-aifoundry-0034_ai"
60+
},
61+
"namespace": "Microsoft.CognitiveServices/accounts",
62+
"ai_foundry": {
63+
"total_tokens": {
64+
"total": 78
65+
},
66+
"output_tokens": {
67+
"total": 31
68+
},
69+
"input_tokens": {
70+
"total": 47
71+
}
72+
},
73+
"dimensions": {
74+
"model_version": "1",
75+
"model_name": "Meta-Llama-3.1-405B-Instruct",
76+
"api_name": "AIServices",
77+
"model_deployment_name": "Meta-Llama-3.1-405B-Instruct",
78+
"region": "eastus2"
79+
}
80+
}
81+
},
82+
{
83+
"@timestamp": "2025-06-16T09:59:00.000Z",
84+
"ecs": {
85+
"version": "8.0.0"
86+
},
87+
"service": {
88+
"type": "azure"
89+
},
90+
"data_stream": {
91+
"namespace": "default",
92+
"type": "metrics",
93+
"dataset": "azure.ai_foundry"
94+
},
95+
"host": {
96+
"hostname": "docker-fleet-agent",
97+
"os": {
98+
"kernel": "6.10.14-linuxkit",
99+
"name": "Wolfi",
100+
"type": "linux",
101+
"family": "",
102+
"version": "20230201",
103+
"platform": "wolfi"
104+
},
105+
"containerized": false,
106+
"ip": [
107+
"172.18.0.7"
108+
],
109+
"name": "docker-fleet-agent",
110+
"mac": [
111+
"EE-87-F8-35-CB-E5"
112+
],
113+
"architecture": "aarch64"
114+
},
115+
"elastic_agent": {
116+
"id": "dd5751b2-98ee-4abe-a555-617ae627e4e2",
117+
"version": "8.18.1",
118+
"snapshot": false
119+
},
120+
"metricset": {
121+
"period": 300000,
122+
"name": "monitor"
123+
},
124+
"event": {
125+
"duration": 30818990806,
126+
"agent_id_status": "verified",
127+
"ingested": "2025-06-16T10:02:45Z",
128+
"module": "azure",
129+
"dataset": "azure.ai_foundry"
130+
},
131+
"azure": {
132+
"subscription_id": "321cabcb4-86e8-404f-a3d2-1dc9982f45ca",
133+
"timegrain": "PT1M",
134+
"resource": {
135+
"name": "ai-obshub687016784742",
136+
"id": "/subscriptions/321cabcb4-86e8-404f-a3d2-1dc9982f45ca/resourceGroups/rg-aifoundry-0034_ai/providers/Microsoft.CognitiveServices/accounts/ai-obshub687016784742",
137+
"type": "Microsoft.CognitiveServices/accounts",
138+
"group": "rg-aifoundry-0034_ai"
139+
},
140+
"namespace": "Microsoft.CognitiveServices/accounts",
141+
"ai_foundry": {
142+
"model_availability_rate": {
143+
"avg": 78.01
144+
}
145+
},
146+
"dimensions": {
147+
"model_version": "1",
148+
"model_name": "Meta-Llama-3.1-405B-Instruct",
149+
"api_name": "AIServices",
150+
"model_deployment_name": "Meta-Llama-3.1-405B-Instruct",
151+
"region": "eastus2"
152+
}
153+
}
154+
},
155+
{
156+
"@timestamp": "2025-06-16T09:59:00.000Z",
157+
"ecs": {
158+
"version": "8.0.0"
159+
},
160+
"service": {
161+
"type": "azure"
162+
},
163+
"data_stream": {
164+
"namespace": "default",
165+
"type": "metrics",
166+
"dataset": "azure.ai_foundry"
167+
},
168+
"host": {
169+
"hostname": "docker-fleet-agent",
170+
"os": {
171+
"kernel": "6.10.14-linuxkit",
172+
"name": "Wolfi",
173+
"type": "linux",
174+
"family": "",
175+
"version": "20230201",
176+
"platform": "wolfi"
177+
},
178+
"containerized": false,
179+
"ip": [
180+
"172.18.0.7"
181+
],
182+
"name": "docker-fleet-agent",
183+
"mac": [
184+
"EE-87-F8-35-CB-E5"
185+
],
186+
"architecture": "aarch64"
187+
},
188+
"elastic_agent": {
189+
"id": "dd5751b2-98ee-4abe-a555-617ae627e4e2",
190+
"version": "8.18.1",
191+
"snapshot": false
192+
},
193+
"metricset": {
194+
"period": 300000,
195+
"name": "monitor"
196+
},
197+
"event": {
198+
"duration": 30818990806,
199+
"agent_id_status": "verified",
200+
"ingested": "2025-06-16T10:02:45Z",
201+
"module": "azure",
202+
"dataset": "azure.ai_foundry"
203+
},
204+
"azure": {
205+
"subscription_id": "321cabcb4-86e8-404f-a3d2-1dc9982f45ca",
206+
"timegrain": "PT1M",
207+
"resource": {
208+
"name": "ai-obshub687016784742",
209+
"id": "/subscriptions/321cabcb4-86e8-404f-a3d2-1dc9982f45ca/resourceGroups/rg-aifoundry-0034_ai/providers/Microsoft.CognitiveServices/accounts/ai-obshub687016784742",
210+
"type": "Microsoft.CognitiveServices/accounts",
211+
"group": "rg-aifoundry-0034_ai"
212+
},
213+
"namespace": "Microsoft.CognitiveServices/accounts",
214+
"ai_foundry": {
215+
"provisioned_utilization": {
216+
"avg": 100
217+
}
218+
},
219+
"dimensions": {
220+
"model_version": "1",
221+
"model_name": "Meta-Llama-3.1-405B-Instruct",
222+
"api_name": "AIServices",
223+
"model_deployment_name": "Meta-Llama-3.1-405B-Instruct",
224+
"region": "eastus2"
225+
}
226+
}
227+
}
228+
]
229+
}

0 commit comments

Comments
 (0)