Infinidat InfiniBox Monitoring

Last updated on 17 March, 2023

Overview

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:

  1. Open the addCategory_InfinidatInfiniBox PropertySource.
  2. 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

  3. 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

  4. 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

  5. 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")

  6. 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.

In This Article