Virtual systems restarted (uptime low)-f5-all

Virtual systems restarted (uptime low)-f5-all
0

Virtual systems restarted (uptime low)-f5-all

Vendor: f5

OS: all

Description:
Indeni will alert when a virtual system has restarted.

Remediation Steps:
Determine why the virtual system(s) was restarted.

How does this work?
This script uses the F5 iControl REST API to retrieve the current uptime of vCMP guests.

Why is this important?
Keeping track of vCMP guest uptimes can help trigger alerts if they are suddenly restarted due to a system failure.

Without Indeni how would you find this?
This metric is available by logging into the device with SSH, entering TMSH and executing “show vcmp guest”.

f5-rest-mgmt-tm-vcmp-guest-stats

name: f5-rest-mgmt-tm-vcmp-guest-stats
description: Extract status of deployed vCMP guests
type: monitoring
monitoring_interval: 10 minutes
requires:
    vendor: f5
    product: load-balancer
    rest-api: 'true'
    vsx: 'true'
comments:
    vs-state:
        why: |
            Keeping track of vCMP guest states will enable alerting for when a VM has failed.
        how: |
            This script uses the F5 iControl REST API to retrieve the current status of vCMP guests.
        without-indeni: |
            This metric is available by logging into the device with SSH, entering TMSH and executing "show vcmp guest".
        can-with-snmp: false
        can-with-syslog: false
    uptime-milliseconds:
        why: |
            Keeping track of vCMP guest uptimes can help trigger alerts if they are suddenly restarted due to a system failure.
        how: |
            This script uses the F5 iControl REST API to retrieve the current uptime of vCMP guests.
        without-indeni: |
            This metric is available by logging into the device with SSH, entering TMSH and executing "show vcmp guest".
        can-with-snmp: false
        can-with-syslog: false
steps:
-   run:
        type: HTTP
        command: /mgmt/tm/sys/clock
    parse:
        type: JSON
        file: rest-mgmt-tm-vcmp-guest-stats.parser.1.json.yaml
-   run:
        type: HTTP
        command: /mgmt/tm/vcmp/guest/stats
    parse:
        type: JSON
        file: rest-mgmt-tm-vcmp-guest-stats.parser.2.json.yaml

cross_vendor_uptime_low_vsx

// 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.apidata.time.TimeSpan
import com.indeni.apidata.time.TimeSpan.TimePeriod
import com.indeni.server.rules.RuleContext
import com.indeni.server.rules.library.templates.TimeThresholdOnDoubleMetricWithItemsTemplateRule
import com.indeni.server.sensor.models.managementprocess.alerts.dto.AlertSeverity
import com.indeni.server.rules.ThresholdDirection
import com.indeni.server.rules.RemediationStepCondition

/**
  *
  */
case class cross_vendor_uptime_low_vsx() extends TimeThresholdOnDoubleMetricWithItemsTemplateRule(
      ruleName = "cross_vendor_uptime_low_vsx",
      ruleFriendlyName = "All Devices (VSX): Virtual systems restarted (uptime low)",
      ruleDescription = "Indeni will alert when a virtual system has restarted.",
      severity = AlertSeverity.CRITICAL,
      metricName = "uptime-milliseconds",
      threshold = TimeSpan.fromMinutes(60),
      metricUnits = TimePeriod.MILLISECOND,
      thresholdDirection = ThresholdDirection.BELOW,
      applicableMetricTag = "vs.name",
      alertItemsHeader = "Affected Virtual Systems",
      alertItemDescriptionFormat = "The current uptime is %.0f seconds which seems to indicate the virtual system has restarted.",
      alertItemDescriptionUnits = TimePeriod.SECOND,
      alertDescription = "Some virtual systems on this device have restarted recently. Review the list below.",
      baseRemediationText = "Determine why the virtual system(s) was restarted."
    )(
      RemediationStepCondition.VENDOR_CISCO ->
        """|
       |1. Use the "show version" or "show system reset-reason" NX-OS commands to display the reason for the reload
       |2. Use the "show cores" command to determine if a core file was recorded during the unexpected reboot
       |3.  Run the "show process log" command to display the processes and if a core was created.
       |4.  With the show logging command, review the events that happened close to the time of reboot
    """.stripMargin
    )