Model mismatch across cluster members-f5-all
Indeni will identify when two devices are part of a cluster and alert if the model of device in use is different.
Replace one of the devices to match the other.
How does this work?
This script uses the F5 REST API to retrieve the hardware model of the device. Indeni then compares the result to the same script run on other members of the same cluster.
Why is this important?
Two or more devices which operate as part of a single cluster must be running on the same hardware.
Without Indeni how would you find this?
Manual tracking by an administrator is usually the only method for knowing when two devices are not running on the same hardware.
name: f5-rest-mgmt-tm-sys-hardware description: Get hardware status metrics type: monitoring monitoring_interval: 5 minutes requires: vendor: f5 product: load-balancer rest-api: 'true' comments: hardware-element-status: why: | A critical aspect to track on a given device is the health of the hardware components. A power supply which stopped working or a dead fan can spell trouble down the line. how: | This alert uses the F5 iControl REST API to retrieve the health of the power components in a chassis. can-with-snmp: true can-with-syslog: false hardware-eos-date: why: | Ensuring the hardware being used is always within the vendor's list of supported models is critical. Otherwise, during a critical issue, the vendor may decline to provide technical support. indeni tracks the official list from F5 and updates this script to match. how: | This script uses the F5 iControl API to retrieve the current hardware model (the equivalent of running "show sys hardware" in TMSH), and based on the model and the F5 documentation at https://support.f5.com/csp/article/K4309 the correct end of support date is used. can-with-snmp: false can-with-syslog: false serial-numbers: why: | Capture the device's serial number. This makes inventory tracking and opening support cases with the vendor easier. how: | This script uses the F5 iControl API to retrieve the serial number. can-with-snmp: false can-with-syslog: false blade-state: why: | A blade that is not powered up could indicate a hardware issue. This could result in reduced performance, or in worst case system downtime. how: | This script uses the F5 iControl API to retrieve the state of the blades. can-with-snmp: true can-with-syslog: false model: why: | Two or more devices which operate as part of a single cluster must be running on the same hardware. how: | This script uses the F5 REST API to retrieve the hardware model of the device. Indeni then compares the result to the same script run on other members of the same cluster. can-with-snmp: false can-with-syslog: false steps: - run: type: HTTP command: /mgmt/tm/sys/hardware parse: type: JSON file: rest-mgmt-tm-sys-hardware.parser.1.json.yaml
// Deprecation warning : Scala template-based rules are deprecated. Please use YAML format rules instead. package com.indeni.server.rules.library.templatebased.crossvendor import com.indeni.server.rules.RuleContext import com.indeni.server.rules.library.templates.SnapshotComparisonTemplateRule import com.indeni.server.rules.RemediationStepCondition /** * */ case class CrossVendorCompareModel() extends SnapshotComparisonTemplateRule( ruleName = "cross_vendor_compare_model", ruleFriendlyName = "Clustered Devices: Model mismatch across cluster members", ruleDescription = "Indeni will identify when two devices are part of a cluster and alert if the model of device in use is different.", metricName = "model", isArray = false, alertDescription = "The members of a cluster of devices must have the same device models in use.", baseRemediationText = "Replace one of the devices to match the other.")( RemediationStepCondition.VENDOR_JUNIPER -> """|1. Run "show version" command to review device model, operating system and software version. |2. Each node of SRX must have the same hardware. |3. Each node of SRX chassis cluster must be running the same version of Junos. |4. Review the following article on Juniper tech support site: <a target="_blank" href=" https://kb.juniper.net/InfoCenter/index?page=content&id=KB15911&actp=METADATA">SRX Getting Started - Troubleshoot High Availability (HA)</a>""".stripMargin )