Infinidat InfiniBox Monitoring
Last updated on 12 July, 2024Overview
LogicMonitor's Infinidat InfiniBox monitoring package leverages the InfiniBox REST API to monitor a large number of health, usage, and performance metrics for this enterprise storage system.
Setup Requirements
Add Resources Into Monitoring
Add your InfiniBox resource into monitoring. For more information on adding resources into monitoring, see Adding Devices.
Obtain Credentials
LogicMonitor must provide the appropriate credentials in order to successfully access the InfiniBox system's data. These credentials should belong to a read-only InfiniBox REST API user account. For more information on creating InfiniBox users, see InfiniBox user management.
Assign Properties to Resources
Several custom properties must be set on the InfiniBox resource within LogicMonitor. For more information on setting properties, see Resource and Instance Properties.
Property | Value | Required? |
infinidat.user | InfiniBox REST API username | Required |
infinidat.pass | InfiniBox REST API password | Required |
infinidat.port | Port 443 is set by default, but can be overridden by adding this property | Optional |
Import LogicModules
From the LogicMonitor public repository, import all Infinidat InfiniBox LogicModules, which are listed in the LogicModules in Package section of this support article. If these LogicModules are already present, ensure you have the most recent versions.
Note: Be sure to import the addCategory_InfinidatInfinibox PropertySource. In addition to adding the appropriate identifying category value of "InfinidatInfinibox" to the system.categories property, this LogicModule creates the InfiniBox performance monitoring collectors needed to gather metrics.
Once all LogicModules are imported (assuming all previous setup requirements have been met), data collection will automatically commence.
Special Considerations: Creating Custom Performance DataSources
By default, LogicMonitor's performance metric DataSources (these DataSources have names that end in "Performance") only gather system-wide performance metrics. However, custom DataSources can be created if the monitoring of more specific performance aspects is desired.
To accomplish this, perform the following steps:
- Open the addCategory_InfinidatInfiniBox PropertySource.
- Uncomment the template lines in the collector presence map to add a new InfiniBox collector property:
// Grab what's there def collectorPresenceMap = [ /* Template for adding a check for collectors MYCOLLECTOR : hostProps.get("auto.infinidat.MYCOLLECTOR.collector", "notPresent"), */ SAN_FC : hostProps.get("auto.infinidat.SAN_FC.collector", "notPresent"), SAN_iSCSI: hostProps.get("auto.infinidat.SAN_ISCSI.collector", "notPresent"), SAN_QOS : hostProps.get("auto.infinidat.SAN_QOS.collector", "notPresent"), NAS : hostProps.get("auto.infinidat.NAS.collector", "notPresent"), RMR : hostProps.get("auto.infinidat.RMR.collector", "notPresent") ]
Groovy - Uncomment the code in the service map to add the target metrics to the
generateCollectorStrings
function:def serviceMap = [ /* Add your metrics below "MYCOLLECTOR" : [ "metric1", "metric2", ], */ "SAN" : [ "throughput", "operation_size", "average_operation_size", "external_latency", "internal_latency", "external_latency_wout_err", "internal_latency_wout_err", "sections_read", "sections_read_from_cache", "sections_read_from_disk", "ops", "aborted_task", "errors" ], "SAN_QOS": [ "qos_latency", "approved_throughput", "approved_ios" ], "NAS" : [ "average_operation_size", "throughput", "latency", "sections_read", "sections_read_from_cache", "sections_read_from_ssd", "sections_read_from_disk", "ops" ], "RMR" : [ "ops", "average_operation_size", "throughput", "latency", "sections_read", "sections_read_from_cache", "sections_read_from_ssd", "sections_read_from_disk" ]
Groovy - Uncomment the below code to build the payload string:
/* tweak the payload before to fit what you're looking for https://support.infinidat.com/hc/en-us/articles/360002184398-InfiniBox-IO-Performance-Monitoring-Using-Live-Counters else if (service == "MYCOLLECTOR"){ def payload = "{\"filters\": {\"protocol_type\": \"${service}\"} ,\"type\": \"COUNTER\", \"collected_fields\": ${counters.collect { '"' + it + '"' }}}" if (collectorPresenceMap.get(service).toLowerCase() == "notpresent") { payloadMap.put(service, payload) // create a collector }else{ println "infinidat.${service}.collector=${collectorPresenceMap.get(service)}" // output valid collector } } */
Groovy - To build the corresponding DataSource, clone any of the InfinidatInfiniBox*Performance DataSources and change this line:
def collectorId = hostProps.get("auto.infinidat.rmr.collector", "notPresent")
to
def collectorId = hostProps.get("auto.infinidat.MYCOLLECTOR.collector", "notPresent")
- Your custom DataSource should automatically print out all of the counters available from the InfiniBox collector you created in the PropertySource.
LogicModules in Package
LogicMonitor's package for Infinidat InfiniBox consists of the following LogicModules. For full coverage, please ensure that all of these LogicModules are imported into your LogicMonitor platform.
Display Name | Type | Description |
addCategory_InfinidatInfiniBox | PropertySource | Discovers Infinidat InfiniBox devices and generates the collectors needed to monitor Infinidat InfiniBox devices. |
Infinidat InfiniBox Volumes | DataSource | Monitors volume usage for Infinidat InfiniBox devices. |
Infinidat InfiniBox UPS | DataSource | Infinidat InfiniBox UPS statistics and state including load, battery, status, and physical status. |
Infinidat InfiniBox System Health | DataSource | Monitors the health of the Infinidat InfiniBox systems. |
Infinidat InfiniBox SAN iSCSI Performance | DataSource | Performance counters for Infinidat InfiniBox SAN iSCSI. |
Infinidat InfiniBox SAN QoS Performance | DataSource | Performance counters for Infinidat InfiniBox SAN quality of service. |
Infinidat InfiniBox SAN FC Performance | DataSource | Perfomance counters for Infinidat InfiniBox SAN fiber channels. |
Infinidat InfiniBox RMR Performance | DataSource | Performance counters for Infinidat InfiniBox RMR. |
Infinidat InfiniBox Power Supplies | DataSource | Physical state of Infinidat InfiniBox power supplies. |
Infinidat InfiniBox Ports | DataSource | Port physical state and link status for Infinidat InfiniBox ports. |
Infinidat InfiniBox Pools | DataSource | Infinidat pool monitoring including capacity, state, and snapshot count. |
Infinidat InfiniBox PDUs | DataSource | Power consumption and state of Infinidat InfiniBox PDUs. |
Infinidat InfiniBox Nodes | DataSource | Monitors Infinidat InfiniBox individual node states. |
Infinidat InfiniBox NAS Performance | DataSource | Performance counters for Infinidat InfiniBox NAS. |
Infinidat InfiniBox Enclosures | DataSource | Enclosure physical state and drive count for Infinidat InfiniBox. |
Infinidat InfiniBox Drives | DataSource | Physical, state, logical state, and various stats of Infinidat InfiniBox drives. |
When setting datapoint thresholds on the various metrics tracked by this package's DataSources, LogicMonitor follows the technology owner's best practice KPI recommendations. If necessary, we encourage you to adjust these predefined thresholds to meet the unique needs of your environment. For more information on tuning datapoint thresholds, see Tuning Static Thresholds for Datapoints.