Skip to content

Commit ea1c38d

Browse files
authored
Merge pull request #78321 from bwren/am-manage-access
Azure Monitor update to manage cost per Dale
2 parents 14c8b3f + e3a58f1 commit ea1c38d

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

articles/azure-monitor/platform/manage-cost-storage.md

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.service: azure-monitor
1111
ms.workload: na
1212
ms.tgt_pltfrm: na
1313
ms.topic: conceptual
14-
ms.date: 04/26/2019
14+
ms.date: 05/30/2019
1515
ms.author: magoedte
1616
ms.subservice:
1717
---
@@ -146,29 +146,40 @@ Higher usage is caused by one, or both of:
146146

147147
## Understanding nodes sending data
148148

149-
To understand the number of computers (nodes) reporting data each day in the last month, use
149+
To understand the number of computers reporting heartbeats each day in the last month, use
150150

151151
`Heartbeat | where TimeGenerated > startofday(ago(31d))
152152
| summarize dcount(Computer) by bin(TimeGenerated, 1d)
153153
| render timechart`
154154

155-
To get a list of computers sending **billed data types** (some data types are free), leverage the `_IsBillable` [property](log-standard-properties.md#_isbillable):
155+
To get a list of computers which will be billed as nodes if the workspace is in the legacy Per Node pricing tier, look for nodes which are sending **billed data types** (some data types are free).
156+
To do this, use the `_IsBillable` [property](log-standard-properties.md#_isbillable) and use the leftmost field of the fully qualified domain name. This returns the list of computers with billed data:
156157

157158
`union withsource = tt *
158159
| where _IsBillable == true
159160
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
160161
| where computerName != ""
161162
| summarize TotalVolumeBytes=sum(_BilledSize) by computerName`
162163

163-
Use these `union withsource = tt *` queries sparingly as scans across data types are expensive to execute. This query replaces the old way of querying per-computer information with the Usage data type.
164+
The count of billable nodes seen can be estimated as:
164165

165-
This can be extended to return the count of computers per hour that are sending billed data types (which is how Log Analytics calculates billable nodes for the legacy Per Node pricing tier):
166+
`union withsource = tt *
167+
| where _IsBillable == true
168+
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
169+
| where computerName != ""
170+
| billableNodes=dcount(computerName)`
171+
172+
> [!NOTE]
173+
> Use these `union withsource = tt *` queries sparingly as scans across data types are expensive to execute. This query replaces the old way of querying per-computer information with the Usage data type.
174+
175+
A more accurate calculation of what will actually be billed is to get the count of computers per hour that are sending billed data types.
176+
(For workspaces in the legacy Per Node pricing tier, Log Analytics calculates the number of nodes which need to be billed on an hourly basis.)
166177

167178
`union withsource = tt *
168179
| where _IsBillable == true
169180
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
170181
| where computerName != ""
171-
| summarize dcount(computerName) by bin(TimeGenerated, 1h) | sort by TimeGenerated asc`
182+
| summarize billableNodes=dcount(computerName) by bin(TimeGenerated, 1h) | sort by TimeGenerated asc`
172183

173184
## Understanding ingested data volume
174185

@@ -192,24 +203,19 @@ To see the **size** of billable events ingested per computer, use the `_BilledSi
192203
```kusto
193204
union withsource = tt *
194205
| where _IsBillable == true
195-
| summarize Bytes=sum(_BilledSize) by Computer | sort by Bytes nulls last
206+
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
207+
| summarize Bytes=sum(_BilledSize) by computerName | sort by Bytes nulls last
196208
```
197209

198210
The `_IsBillable` [property](log-standard-properties.md#_isbillable) specifies whether the ingested data will incur charges.
199211

200-
To see the **count** of events ingested per computer, use
201-
202-
```kusto
203-
union withsource = tt *
204-
| summarize count() by Computer | sort by count_ nulls last
205-
```
206-
207-
To see the count of billable events ingested per computer, use
212+
To see the count of **billable** events ingested per computer, use
208213

209214
```kusto
210215
union withsource = tt *
211216
| where _IsBillable == true
212-
| summarize count() by Computer | sort by count_ nulls last
217+
| extend computerName = tolower(tostring(split(Computer, '.')[0]))
218+
| summarize eventCount=count() by computerName | sort by count_ nulls last
213219
```
214220

215221
If you want to see counts for billable data types are sending data to a specific computer, use:
@@ -394,4 +400,4 @@ When you receive an alert, use the steps in the following section to troubleshoo
394400
- To configure an effective event collection policy, review [Azure Security Center filtering policy](../../security-center/security-center-enable-data-collection.md).
395401
- Change [performance counter configuration](data-sources-performance-counters.md).
396402
- To modify your event collection settings, review [event log configuration](data-sources-windows-events.md).
397-
- To modify your syslog collection settings, review [syslog configuration](data-sources-syslog.md).
403+
- To modify your syslog collection settings, review [syslog configuration](data-sources-syslog.md).

0 commit comments

Comments
 (0)