Default Action On Service Down used-f5-False

Default Action On Service Down used-f5-False
0

Default Action On Service Down used-f5-False

Vendor: f5

OS: False

Description:
The default option for “Action On Service Down” is “None”, which maintains connections to pool member even when the monitor fails, but does not create new connections.\nIf using a good monitor that is able to determine the status of the member however, the better option in most cases is “Reject”, which instead resets the existing connection and forces the client to establish a new one. This ensures that the client has an optimal chance of connecting to a functioning pool member.\nindeni will alert when the device configuration does not follow this best practice.

Remediation Steps:
Read more about “Action On Service Down” at https://support.f5.com/csp/article/K15095

How does this work?
This alert uses the iControl REST interface to extract the option “Action On Service Down” for all configured pools.

Why is this important?
The default option is “None”, which maintains connections to pool member even when the monitor fails, but does not create new connections. The better option in most cases however, is “Reject” which instead resets the existing connection and forces the client to establish a new one. This, coupled with good monitors ensures that the client has an optimal chance of connecting to a functioning pool member.

Without Indeni how would you find this?
An administrator could manually check member availabilty by logging on to the web interface of the device and clicking on “Local Traffic” -> “Pools” and for each pool in the list verify the option “Action On Service Down”.

f5-rest-mgmt-tm-ltm-pool

Failed to fetch the data: https://bitbucket.org/indeni/indeni-knowledge/src/master/parsers/src/f5/ltm/rest-mgmt-tm-ltm-pool.ind

f5_action_on_service_down

// Deprecation warning : Scala template-based rules are deprecated. Please use YAML format rules instead.

package com.indeni.server.rules.library.templatebased.f5

import com.indeni.ruleengine.expressions.conditions.{Equals => RuleEquals, Not => RuleNot, Or => RuleOr}
import com.indeni.ruleengine.expressions.data.SnapshotExpression
import com.indeni.server.rules.RuleContext
import com.indeni.server.rules.library.templates.SingleSnapshotValueCheckTemplateRule
import com.indeni.server.rules.library.RuleHelper

/**
  *
  */
case class f5_action_on_service_down() extends SingleSnapshotValueCheckTemplateRule(
  ruleName = "f5_action_on_service_down",
  ruleFriendlyName = "F5 Devices: Default Action On Service Down used",
  ruleDescription = "The default option for \"Action On Service Down\" is \"None\", which maintains connections to pool member even when the monitor fails, but does not create new connections.\nIf using a good monitor that is able to determine the status of the member however, the better option in most cases is \"Reject\", which instead resets the existing connection and forces the client to establish a new one. This ensures that the client has an optimal chance of connecting to a functioning pool member.\nindeni will alert when the device configuration does not follow this best practice.",
  metricName = "f5-default-action-on-service-down",
  applicableMetricTag = "name",
  alertItemsHeader = "Pools Affected",
  alertDescription = "The default option for \"Action On Service Down\" is \"None\", which maintains connections to pool member even when the monitor fails, but does not create new connections.\nIf using a good monitor that is able to determine the status of the member however, the better option in most cases is \"Reject\", which instead resets the existing connection and forces the client to establish a new one. This ensures that the client has an optimal chance of connecting to a functioning pool member.\nAs with many things, there are exceptions to this, see the link below for more information.\n\nThis alert was added per the request of <a target=\"_blank\" href=\"https://se.linkedin.com/in/patrik-jonsson-6527932\">Patrik Jonsson</a>.",
  baseRemediationText = "Read more about \"Action On Service Down\" at https://support.f5.com/csp/article/K15095",
  complexCondition = RuleEquals(RuleHelper.createComplexStringConstantExpression("true"), SnapshotExpression("f5-default-action-on-service-down").asSingle().mostRecent().value().noneable))()