diff --git a/CHANGELOG.md b/CHANGELOG.md index 85c60e4..2b49191 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ project adheres to [Semantic Versioning](http://semver.org/) and this change log is based on the [Keep a CHANGELOG](http://keepachangelog.com/) project. ## Unreleased +- Added HPE DL380 Gen10 support +- Enhanced drive metrics collection for DL380 model servers to include NVME, Storage Disk Drives, and Logical Drives ## Fixed - Cisco UCS C220 - add additional edge cases when collecting memory metrics [#2](https://github.com/Comcast/fishymetrics/issues/2) diff --git a/README.md b/README.md index 5dd840f..812b4e3 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ exports them via HTTP for Prometheus consumption. Current device models supported - HP Moonshot +- HP DL380 - HP DL360 - HP DL20 - Cisco UCS C220 M5 @@ -131,7 +132,7 @@ comcast/fishymetrics:latest ## Prometheus Configuration The fishymetrics exporter needs to be passed the address as a parameter, this can be -done with relabelling. available module options `["moonshot", "dl360", "dl20", "c220", "s3260m4", "s3260m5"]` +done with relabelling. available module options `["moonshot", "dl360", "dl20", "dl380", "c220", "s3260m4", "s3260m5"]` Example config: ```YAML diff --git a/cmd/fishymetrics/main.go b/cmd/fishymetrics/main.go index c3dc4aa..3a6b5ee 100644 --- a/cmd/fishymetrics/main.go +++ b/cmd/fishymetrics/main.go @@ -40,6 +40,7 @@ import ( "github.com/comcast/fishymetrics/config" "github.com/comcast/fishymetrics/hpe/dl20" "github.com/comcast/fishymetrics/hpe/dl360" + "github.com/comcast/fishymetrics/hpe/dl380" "github.com/comcast/fishymetrics/hpe/moonshot" "github.com/comcast/fishymetrics/logger" "github.com/comcast/fishymetrics/middleware/muxprom" @@ -138,6 +139,8 @@ func handler(ctx context.Context, w http.ResponseWriter, r *http.Request) { switch moduleName { case "moonshot": exporter = moonshot.NewExporter(r.Context(), target, uri) + case "dl380": + exporter = dl380.NewExporter(r.Context(), target, uri) case "dl360": exporter = dl360.NewExporter(r.Context(), target, uri) case "dl20": @@ -150,7 +153,7 @@ func handler(ctx context.Context, w http.ResponseWriter, r *http.Request) { exporter, err = s3260m5.NewExporter(r.Context(), target, uri) default: log.Error("'module' parameter does not match available options", zap.String("module", moduleName), zap.String("target", target), zap.Any("trace_id", r.Context().Value("traceID"))) - http.Error(w, "'module' parameter does not match available options: [moonshot, dl360, dl20, c220, s3260m4, s3260m5]", http.StatusBadRequest) + http.Error(w, "'module' parameter does not match available options: [moonshot, dl360, dl380, dl20, c220, s3260m4, s3260m5]", http.StatusBadRequest) return } diff --git a/cmd/fishymetrics/templates.go b/cmd/fishymetrics/templates.go index 485e767..fbb7b40 100644 --- a/cmd/fishymetrics/templates.go +++ b/cmd/fishymetrics/templates.go @@ -1,5 +1,5 @@ /* - * Copyright 2023 Comcast Cable Communications Management, LLC + * Copyright 2024 Comcast Cable Communications Management, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -56,6 +56,7 @@ const indexTmpl string = `