diff --git a/agent_based/checkpoint_ia_adquery.py b/agent_based/checkpoint_ia_adquery.py
index 75592c633bc900bd32919d534b5a770e9ec65432..965f29b672ccafceb2f83be00799f570e216adb9 100644
--- a/agent_based/checkpoint_ia_adquery.py
+++ b/agent_based/checkpoint_ia_adquery.py
@@ -74,6 +74,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
 
 @dataclass
 class CheckpointIaDc:
+    index: int
     status_code: int
     status_str: str
     events: int
@@ -92,7 +93,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str,
     domains = {}
     for entry in string_table:
         try:
-            status, domain, ipaddr, events = entry
+            index, status, domain, ipaddr, events = entry
         except ValueError:
             return
 
@@ -102,6 +103,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str,
 
             domains[domain].update({
                 ipaddr: CheckpointIaDc(
+                    index=int(index),
                     status_code=int(status),
                     status_str=_dcstatus.get(status, f'unknown: {status}'),
                     events=int(events)
@@ -136,8 +138,8 @@ def check_checkpoint_ia_adquery(item, params, section: Dict[str, Dict[str, Check
             value = 0
         yield from check_levels(
             value=value,
-            label=f'DC {key} Events',
-            metric_name=f'checkpoint_ia_adquery_{dc_ip_address}',
+            label=f'DC{dc.index:02d} ({key}) Events',
+            metric_name=f'checkpoint_ia_adquery_dc_{dc.index}',
             render_func=lambda v: f'{v:.2f}/s',
             notice_only=True
         )
@@ -167,6 +169,7 @@ register.snmp_section(
     fetch=SNMPTree(
         base='.1.3.6.1.4.1.2620.1.38.25.1',  # CHECKPOINT-MIB::identityAwarenessADQueryStatusEntry
         oids=[
+            '1',  # identityAwarenessADQueryStatusTableIndex
             '2',  # identityAwarenessADQueryStatusCurrStatus
             '3',  # identityAwarenessADQueryStatusDomainName
             '4',  # identityAwarenessADQueryStatusDomainIP
@@ -184,7 +187,7 @@ register.snmp_section(
 
 register.check_plugin(
     name='checkpoint_ia_adquery',
-    service_name='Identity Awareness AD Domain %s',
+    service_name='IA AD Domain %s',
     discovery_function=discovery_checkpoint_ia_adquery,
     check_function=check_checkpoint_ia_adquery,
     check_default_parameters={
diff --git a/agent_based/checkpoint_identity_awareness.py b/agent_based/checkpoint_identity_awareness.py
index 8323114ac8a73daa669b3f6ad1e20b39081466ab..1cb6ee256a28845cdcae3d2655299fe556f49995 100644
--- a/agent_based/checkpoint_identity_awareness.py
+++ b/agent_based/checkpoint_identity_awareness.py
@@ -224,7 +224,7 @@ register.snmp_section(
 
 register.check_plugin(
     name='checkpoint_identity_awareness',
-    service_name='Identity Awareness status',
+    service_name='IA summary',
     discovery_function=discovery_checkpoint_identity_awareness,
     check_function=check_checkpoint_identity_awareness,
     check_default_parameters={
diff --git a/checkpoint_identity_awareness.mkp b/checkpoint_identity_awareness.mkp
index 6f955c27b3fe11a9f76208d9ac9cbabc7680c3ba..b6356f26bd3fca2b597d9a772cd0acd5aa7759e5 100644
Binary files a/checkpoint_identity_awareness.mkp and b/checkpoint_identity_awareness.mkp differ
diff --git a/web/plugins/metrics/checkpoint_ia_adquery.py b/web/plugins/metrics/checkpoint_ia_adquery.py
index 0aaf9e1cb2b2bf48c7db5f4440883491add6d855..cadbd0e9c64a83c9dd4e0e5953c856f267dded9d 100644
--- a/web/plugins/metrics/checkpoint_ia_adquery.py
+++ b/web/plugins/metrics/checkpoint_ia_adquery.py
@@ -17,93 +17,42 @@ from cmk.gui.plugins.metrics import (
     metric_info,
     graph_info,
     perfometer_info,
+    indexed_color,
 )
 
-metric_info['checkpoint_ia_adquery_summary'] = {
-    'title': _('Events summary'),
-    'unit': '1/s',
-    'color': '11/b',
-}
-# create one metric per dc
-metric_info['checkpoint_ia_adquery_dc_10_140_110_1'] = {
-    'title': _('SDACDOM401 (10.140.110.1)'),
-    'unit': '1/s',
-    'color': '12/a',
-}
-metric_info['checkpoint_ia_adquery_dc_10_140_110_2'] = {
-    'title': _('SDACDOM402 (10.140.110.2)'),
-    'unit': '1/s',
-    'color': '22/a',
-}
+_MAX_DCS = 48  # max colors ;-)
 
-metric_info['checkpoint_ia_adquery_dc_10_215_2_252'] = {
-    'title': _('SDACDOM02 (10.215.2.252)'),
-    'unit': '1/s',
-    'color': '22/a',
-}
-metric_info['checkpoint_ia_adquery_dc_10_215_2_253'] = {
-    'title': _('SDACDOM01 (10.215.2.253)'),
-    'unit': '1/s',
-    'color': '32/a',
-}
-metric_info['checkpoint_ia_adquery_dc_10_225_110_240'] = {
-    'title': _('SDACDNS01 (10.225.110.240)'),
+metric_info['checkpoint_ia_adquery_events_sum'] = {
+    'title': _('Events summary'),
     'unit': '1/s',
-    'color': '42/a',
+    'color': '26/a',
 }
 
-metric_info['checkpoint_ia_adquery_dc_10_250_1_112'] = {
-    'title': _('S250AD01 (10.250.1.112)'),
-    'unit': '1/s',
-    'color': '33/a',
-}
-metric_info['checkpoint_ia_adquery_dc_10_250_1_113'] = {
-    'title': _('S250AD02 (10.250.1.113)'),
-    'unit': '1/s',
-    'color': '43/a',
-}
-#
-#
-#
+for i in range(1, _MAX_DCS):
+    # generate different colors for each DC.
+    # unfortunately there are only 24 colors on our
+    # color wheel, times two for two shades each, we
+    # can only draw 48 differently colored graphs
+    metric_info[f'checkpoint_ia_adquery_dc_{i}'] = {
+        'title': _(f'DC{i:02d} Events'),
+        'unit': '1/s',
+        'color': indexed_color(i, _MAX_DCS),
+    }
 
+dc_metric = ([(f'checkpoint_ia_adquery_dc_{num:d}', 'stack') for num in range(_MAX_DCS, 0, -1)])
+dc_metric.insert(0, ('checkpoint_ia_adquery_events_sum', 'line'))
 
 graph_info['checkpoint_ia_adquery_dc'] = {
     'title': _('Check Point Identity Awareness AD queries'),
-    'metrics': [
-        ('checkpoint_ia_adquery_summary', 'line'),
-        ('checkpoint_ia_adquery_dc_10_250_1_112', 'stack'),
-        ('checkpoint_ia_adquery_dc_10_250_1_113', 'stack'),
-    ],
-    'optional_metrics': [
-        'checkpoint_ia_adquery_dc_10_250_1_112',
-        'checkpoint_ia_adquery_dc_10_250_1_113',
-    ],
+    'metrics': dc_metric,
+    'range': (0, None),
+    'optional_metrics': [f'checkpoint_ia_adquery_dc_{num:d}' for num in range(0, _MAX_DCS + 1)]
 }
 
-
-# graph_info.append({
-#     'title': _('Check Point Identity Awareness AD queries'),
-#     'metrics': [
-#         ('checkpoint_ia_adquery_summary', 'line'),
-#         ('checkpoint_ia_adquery_dc_10_140_110_1', 'stack'),
-#         ('checkpoint_ia_adquery_dc_10_140_110_2', 'stack'),
-#     ],
-# })
-
-# graph_info.append({
-#     'title': _('Check Point Identity Awareness AD queries'),
-#     'metrics': [
-#         ('checkpoint_ia_adquery_summary', 'line'),
-#         ('checkpoint_ia_adquery_dc_10_215_2_252', 'stack'),
-#         ('checkpoint_ia_adquery_dc_10_215_2_253', 'stack'),
-#         ('checkpoint_ia_adquery_dc_10_225_110_240', 'stack'),
-#     ],
-# })
-
 perfometer_info.append({
     'type': 'linear',
     'segments': [
-        'checkpoint_ia_adquery_summary',
+        'checkpoint_ia_adquery_events_sum',
     ],
     'total': 100,
 })