## HPE iLO Telemetry service This section provides detail and examples specific to HPE iLO 5 and iLO 6 based servers. A generic presentation of the Redfish Telemetry service is presented in the [concepts section](/docs/concepts/redfishtelemetry) of this documentation. NOTE - HPE ilO 5 and iLO 6 implement the Redfish Telemetry service on **Intel** based servers **only**, except in HPE ProLiant DL20, HPE ProLiant ML30, and Micro server (Gen10/Gen10+/Gen11). AMD (Gen10 or Gen11), and ARM Gen11 servers don't provide this service. - Upgrading the iLO firmware to iLO 5 2.96/iLO 6 1.51 and above retains the subscriptions created prior to the upgrade. Warning - Downgrading the iLO firmware from iLO 5 2.96/iLO 6 1.51 deletes existing subscriptions. - The retry mechanism for metric report streaming is the same as for Events in case of any network issues or connection issue. All metric reports will be retried again after `DeliveryRetryIntervalInSeconds` duration for `DeliveryRetryAttempts` times. - During a connection issue when creating a subscription for eligible metrics while setting the frequency to stream every ten minutes, the queue will be full within an hour and all metric reports will be lost after that. Once the connection is re-established, the metric reports will be streamed back without sending the previous reports. - During a connection issue when creating a subscription for eligible metrics while setting the frequency to stream every hour, the queue will be full after sixteen hours and the metric reports will be lost after that. Once the connection is re-established, the metric reports will be streamed back without sending the previous reports. ## Metric report subscription Metric reports eligible for subscription are the ones listed under the Metric Report Definition Collection URI **and not** containing string **"Custom"** in their URI. The following list corresponds to the eligible metrics of iLO 5 2.96 and iLO 6 1.51. `/redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil/` `/redfish/v1/TelemetryService/MetricReportDefinitions/MemoryBusUtil/` `/redfish/v1/TelemetryService/MetricReportDefinitions/IOBusUtil/` `/redfish/v1/TelemetryService/MetricReportDefinitions/CPUICUtil/` `/redfish/v1/TelemetryService/MetricReportDefinitions/JitterCount/` `/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics/` `/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU0Freq/` `/redfish/v1/TelemetryService/MetricReportDefinitions/CPU0Power/` `/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU1Freq/` `/redfish/v1/TelemetryService/MetricReportDefinitions/CPU1Power/` `/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU2Freq/` `/redfish/v1/TelemetryService/MetricReportDefinitions/CPU2Power/` `/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU3Freq/` `/redfish/v1/TelemetryService/MetricReportDefinitions/CPU3Power/` The metric report subscription process is identical to an [event subscription](/docs/concepts/redfishevents/#event-subscription) with a POST request toward `/redfish/v1/EventService/Subscriptions/`. The metric reports that you want to subscribe to, has to be listed in the `MetricReportDefinitions` array for both iLO 5 and iLO 6. By default metric reports are sent every hour to the event listener. ### Subscribing to iLO 5 metric reports The body request to subscribe for Metric Reports of an HPE iLO 5 must contain `MetricReport` in the `EventTypes` array property. iLO 5 Subscription request body ```json { "Destination": "https://myeventreciever/eventreceiver", "EventTypes": [ "ResourceAdded", "ResourceRemoved", "ResourceUpdated", "StatusChange", "MetricReport", "Alert" ], "MetricReportDefinitions": [ "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPUUtil", "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPU0Power", "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPU1Power" ], "HttpHeaders": { "Header1": "HeaderValue1" }, "Context": "context string", "Oem": { "Hpe": { "DeliveryRetryIntervalInSeconds": 30, "RequestedMaxEventsToQueue": 20, "DeliveryRetryAttempts": 5, "RetireOldEventInMinutes": 10 } } } ``` iLO 5 Subscription detail ```json { "@odata.context": "/redfish/v1/$metadata#EventDestination.EventDestination", "@odata.etag": "W/"026C17EE"", "@odata.id": "/redfish/v1/EventService/Subscriptions/9", "@odata.type": "#EventDestination.v1_13_0.EventDestination", "Id": "9", "Context": "Public", "Description": "iLO Event Subscription", "Destination": "https://10.242.174.123:442/EventReceiver9", "EventTypes": [ "ResourceUpdated", "ResourceAdded", "ResourceRemoved", "Alert", "MetricReport", "StatusChange" ], "HttpHeaders": [], "MetricReportDefinitions": [ { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/MemoryBusUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/IOBusUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPUICUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/JitterCount" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU0Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU0Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU1Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU1Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU2Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU2Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU3Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU3Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics" } ], "Name": "Event Subscription", "Oem": { "Hpe": { "@odata.context": "/redfish/v1/$metadata#HpeEventDestination.HpeEventDestination", "@odata.type": "#HpeEventDestination.v2_1_0.HpeEventDestination", "DeliveryRetryAttempts": 300, "DeliveryRetryIntervalInSeconds": 600, "MutualAuthenticationEnabled": false, "RequestedMaxEventsToQueue": 3, "RetireOldEventInMinutes": 10 } }, "Protocol": "Redfish", "SubscriptionType": "RedfishEvent" } ``` ### Subscribing to iLO 6 metric reports The body request to subscribe for Metric Reports of an HPE iLO 6 must contain `MetricReport` in the `EventFormatType` property. iLO 6 Subscription request body ```json { "Destination": "https://myeventreciever/eventreceiver", "EventFormatType": "MetricReport", "MetricReportDefinitions": [ "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPUUtil", "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPU0Power", "/redfish/v1/Telemetryservice/MetricReportDefinitions/CPU1Power" ], "HttpHeaders": { "Header": "HeaderValue" }, "Context": "context string", "Oem": { "Hpe": { "DeliveryRetryIntervalInSeconds": 30, "RequestedMaxEventsToQueue": 20, "DeliveryRetryAttempts": 5, "RetireOldEventInMinutes": 10 } } } ``` iLO 6 Subscription detail ```json { "@odata.context": "/redfish/v1/$metadata#EventDestination.EventDestination", "@odata.etag": "W/"21500F92"", "@odata.id": "/redfish/v1/EventService/Subscriptions/4", "@odata.type": "#EventDestination.v1_13_0.EventDestination", "Id": "4", "Context": "Public", "Description": "iLO Event Subscription", "Destination": "https://16.242.161.71:435/EventReceiver9", "EventFormatType": "MetricReport", "HttpHeaders": [], "MetricReportDefinitions": [ { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/MemoryBusUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/IOBusUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPUICUtil" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/JitterCount" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU0Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU0Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU1Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU1Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU2Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU2Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgCPU3Freq" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU3Power" }, { "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics" } ], "Name": "Event Subscription", "Oem": { "Hpe": { "@odata.context": "/redfish/v1/$metadata#HpeEventDestination.HpeEventDestination", "@odata.type": "#HpeEventDestination.v2_1_0.HpeEventDestination", "DeliveryRetryAttempts": 100, "DeliveryRetryIntervalInSeconds": 300, "MutualAuthenticationEnabled": false, "RequestedMaxEventsToQueue": 3, "RetireOldEventInMinutes": 10 } }, "Protocol": "Redfish", "RegistryPrefixes": [], "SubscriptionType": "RedfishEvent" } ``` ## Metric report definitions The streaming frequency of each metric report, is decided by the configurations in the corresponding `/redfish/v1/TelemetryService/MetricReportDefinitions/{item}` URI. The following example specifies that metric report `CPUUtil` has to be sent once a day, starting on the first of June 2023 at one o'clock GMT. PATCH event ```json PATCH /redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil/ ``` PATCH Payload ```json { "MetricReportDefinitionType": "Periodic", "Schedule": { "RecurrenceInterval": "P1DT", "InitialStartTime": "2023-06-01T01:00:00Z" } } ``` `MetricReportDefinitionType` is set as `Periodic` when streaming is enabled. You can stop streaming specific metric reports either by not subscribing to it during the creation of the subscription or by configuring the `MetricReportDefinitionType` property under `MetricReportDefinition` for non custom URIs to `OnRequest` or `OnChange`. `RecurrenceInterval` determines the frequency of streaming. The default value is set to one hour, indicated by value `PT1H`. You can also configure other values like `PT10M`, `P1DT`, `P7DT` i.e., every 10 minutes, every day, or every week respectively. The sample rate for 10 minutes and every hour data is 20 second, 5 minutes for every day and 30 minutes for every week’s report. `InitialStartTime` if configured, determines the date and time for the first metric report to be streamed. By default, the metric report will be streamed when the subscription is created. NOTE - `PATCH` is supported only on these URIs which doesn’t contain the "Custom" string. A `PATCH` against a custom `MetricReportDefinitions` URI returns an error response. - The `PowerMetrics` metric report does not allow a `PATCH` on `RecurrenceInterval`.