Skip to content

Commit a55e9ee

Browse files
Add support of memory and LocksAndThreads .NET CLR metrics (#12070)
* add support of memory and LocksAndThreads .NET CLR metrics * update PR id in changelog * add instruction for asp.net installation to iis integration docs * update field descriptioon * revert kibana version chhange * fix iis package changelog * fix iis pachage manifest version * add missing unit types for application_pool fields
1 parent b88f6cf commit a55e9ee

File tree

6 files changed

+171
-4
lines changed

6 files changed

+171
-4
lines changed

packages/iis/_dev/build/docs/README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,22 @@ The fields reported are:
141141

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

144-
{{fields "application_pool"}}
144+
{{fields "application_pool"}}
145+
146+
# Installing ASP.NET for `net_clr` Metrics
147+
To ensure `net_clr` metrics appear, it is necessary to install ASP.NET. Follow the steps below to install ASP.NET on your IIS server.
148+
149+
## Steps to Install ASP.NET
150+
1. **Select the IIS server**:
151+
- Open the IIS Manager.
152+
- Select the server node in the left-hand Connections pane.
153+
2. **Click on `Manage`**:
154+
- In the right-hand Actions pane, click on `Manage`.
155+
3. **Select `Add Roles and Features`**:
156+
- This will open the Add Roles and Features Wizard.
157+
4. **On `Server Roles`, select the following options**:
158+
- Navigate to `Web Server (IIS) > Web Server > Application Development`.
159+
- Check the boxes for:
160+
- `.NET Extensibility`
161+
- `ASP.NET`
162+
For more detailed instructions, please refer to the [official documentation](https://learn.microsoft.com/en-us/iis/application-frameworks/scenario-build-an-aspnet-website-on-iis/configuring-step-1-install-iis-and-asp-net-modules).

packages/iis/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "1.21.1-next"
3+
changes:
4+
- description: Add support of memory and LocksAndThreads .NET CLR metrics.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/12070
27
- version: "1.21.0"
38
changes:
49
- description: Add support for Kibana `9.0.0`.

packages/iis/data_stream/application_pool/fields/fields.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,72 @@
8282
metric_type: gauge
8383
description: |
8484
Number of filters per sec.
85+
- name: exceptions_thrown_per_sec
86+
type: float
87+
description: >
88+
Number of Exceptions Thrown / sec.
89+
- name: memory
90+
type: group
91+
description: >
92+
Memory overview.
93+
fields:
94+
- name: bytes_in_all_heaps
95+
type: float
96+
unit: byte
97+
description: >
98+
Number of bytes in all heaps.
99+
- name: gen_0_collections
100+
type: float
101+
description: >
102+
Number of Gen 0 Collections.
103+
- name: gen_1_collections
104+
type: float
105+
description: >
106+
Number of Gen 1 Collections.
107+
- name: gen_2_collections
108+
type: float
109+
description: >
110+
Number of Gen 2 Collections.
111+
- name: total_committed_bytes
112+
type: float
113+
unit: byte
114+
description: >
115+
Number of total committed bytes.
116+
- name: allocated_bytes_per_sec
117+
type: float
118+
unit: byte
119+
description: >
120+
Allocated Bytes/sec.
121+
- name: gen_0_heap_size
122+
type: float
123+
description: >
124+
Gen 0 heap size.
125+
- name: gen_1_heap_size
126+
type: float
127+
description: >
128+
Gen 1 heap size.
129+
- name: gen_2_heap_size
130+
type: float
131+
description: >
132+
Gen 2 heap size.
133+
- name: large_object_heap_size
134+
type: float
135+
description: >
136+
Large Object Heap size.
137+
- name: time_in_gc_perc
138+
type: float
139+
description: >
140+
% Time in GC.
141+
- name: locks_and_threads
142+
type: group
143+
description: >
144+
LocksAndThreads overview.
145+
fields:
146+
- name: contention_rate_per_sec
147+
type: float
148+
description: >
149+
Contention Rate / sec.
150+
- name: current_queue_length
151+
type: float
152+
description: >
153+
Current Queue Length.

packages/iis/data_stream/application_pool/sample_event.json

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,28 @@
1919
"application_pool": {
2020
"name": "DefaultAppPool",
2121
"net_clr": {
22-
"total_exceptions_thrown": 0
22+
"total_exceptions_thrown": 0,
23+
"finallys_per_sec": 0,
24+
"exceptions_thrown_per_sec": 0,
25+
"locks_and_threads": {
26+
"current_queue_length": 0,
27+
"contention_rate_per_sec": 0
28+
},
29+
"memory": {
30+
"gen_2_heap_size": 0,
31+
"large_object_heap_size": 0,
32+
"gen_1_heap_size": 0,
33+
"gen_1_collections": 0,
34+
"gen_0_heap_size": 0,
35+
"bytes_in_all_heaps": 0,
36+
"total_committed_bytes": 0,
37+
"gen_0_collections": 0,
38+
"gen_2_collections": 0,
39+
"allocated_bytes_per_sec": 0,
40+
"time_in_gc_perc": 0
41+
},
42+
"filters_per_sec": 0,
43+
"throw_to_catch_depth_per_sec": 0
2344
},
2445
"process": {
2546
"handle_count": 466,

packages/iis/docs/README.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,28 @@ An example event for `application_pool` looks as following:
559559
"application_pool": {
560560
"name": "DefaultAppPool",
561561
"net_clr": {
562-
"total_exceptions_thrown": 0
562+
"total_exceptions_thrown": 0,
563+
"finallys_per_sec": 0,
564+
"exceptions_thrown_per_sec": 0,
565+
"locks_and_threads": {
566+
"current_queue_length": 0,
567+
"contention_rate_per_sec": 0
568+
},
569+
"memory": {
570+
"gen_2_heap_size": 0,
571+
"large_object_heap_size": 0,
572+
"gen_1_heap_size": 0,
573+
"gen_1_collections": 0,
574+
"gen_0_heap_size": 0,
575+
"bytes_in_all_heaps": 0,
576+
"total_committed_bytes": 0,
577+
"gen_0_collections": 0,
578+
"gen_2_collections": 0,
579+
"allocated_bytes_per_sec": 0,
580+
"time_in_gc_perc": 0
581+
},
582+
"filters_per_sec": 0,
583+
"throw_to_catch_depth_per_sec": 0
563584
},
564585
"process": {
565586
"handle_count": 466,
@@ -607,8 +628,22 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur
607628
| host.os.build | OS build information. | keyword | | |
608629
| host.os.codename | OS codename, if any. | keyword | | |
609630
| iis.application_pool.name | application pool name | keyword | | |
631+
| iis.application_pool.net_clr.exceptions_thrown_per_sec | Number of Exceptions Thrown / sec. | float | | |
610632
| iis.application_pool.net_clr.filters_per_sec | Number of filters per sec. | float | | gauge |
611633
| iis.application_pool.net_clr.finallys_per_sec | The number of finallys per sec. | float | | gauge |
634+
| iis.application_pool.net_clr.locks_and_threads.contention_rate_per_sec | Contention Rate / sec. | float | | |
635+
| iis.application_pool.net_clr.locks_and_threads.current_queue_length | Current Queue Length. | float | | |
636+
| iis.application_pool.net_clr.memory.allocated_bytes_per_sec | Allocated Bytes/sec. | float | byte | |
637+
| iis.application_pool.net_clr.memory.bytes_in_all_heaps | Number of bytes in all heaps. | float | byte | |
638+
| iis.application_pool.net_clr.memory.gen_0_collections | Number of Gen 0 Collections. | float | | |
639+
| iis.application_pool.net_clr.memory.gen_0_heap_size | Gen 0 heap size. | float | | |
640+
| iis.application_pool.net_clr.memory.gen_1_collections | Number of Gen 1 Collections. | float | | |
641+
| iis.application_pool.net_clr.memory.gen_1_heap_size | Gen 1 heap size. | float | | |
642+
| iis.application_pool.net_clr.memory.gen_2_collections | Number of Gen 2 Collections. | float | | |
643+
| iis.application_pool.net_clr.memory.gen_2_heap_size | Gen 2 heap size. | float | | |
644+
| iis.application_pool.net_clr.memory.large_object_heap_size | Large Object Heap size. | float | | |
645+
| iis.application_pool.net_clr.memory.time_in_gc_perc | % Time in GC. | float | | |
646+
| iis.application_pool.net_clr.memory.total_committed_bytes | Number of total committed bytes. | float | byte | |
612647
| iis.application_pool.net_clr.throw_to_catch_depth_per_sec | Throw to catch depth count per sec. | float | | gauge |
613648
| iis.application_pool.net_clr.total_exceptions_thrown | Total number of exceptions thrown. | long | | counter |
614649
| iis.application_pool.process.cpu_usage_perc | The CPU usage percentage. | float | s | gauge |
@@ -621,3 +656,22 @@ Please refer to the following [document](https://www.elastic.co/guide/en/ecs/cur
621656
| iis.application_pool.process.virtual_bytes | Memory virtual bytes. | float | byte | gauge |
622657
| iis.application_pool.process.working_set | Memory working set. | float | | |
623658
| service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | | |
659+
660+
661+
# Installing ASP.NET for `net_clr` Metrics
662+
To ensure `net_clr` metrics appear, it is necessary to install ASP.NET. Follow the steps below to install ASP.NET on your IIS server.
663+
664+
## Steps to Install ASP.NET
665+
1. **Select the IIS server**:
666+
- Open the IIS Manager.
667+
- Select the server node in the left-hand Connections pane.
668+
2. **Click on `Manage`**:
669+
- In the right-hand Actions pane, click on `Manage`.
670+
3. **Select `Add Roles and Features`**:
671+
- This will open the Add Roles and Features Wizard.
672+
4. **On `Server Roles`, select the following options**:
673+
- Navigate to `Web Server (IIS) > Web Server > Application Development`.
674+
- Check the boxes for:
675+
- `.NET Extensibility`
676+
- `ASP.NET`
677+
For more detailed instructions, please refer to the [official documentation](https://learn.microsoft.com/en-us/iis/application-frameworks/scenario-build-an-aspnet-website-on-iis/configuring-step-1-install-iis-and-asp-net-modules).

packages/iis/manifest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: iis
22
title: IIS
3-
version: "1.21.0"
3+
version: "1.21.1-next"
44
description: Collect logs and metrics from Internet Information Services (IIS) servers with Elastic Agent.
55
type: integration
66
icons:

0 commit comments

Comments
 (0)