type=page
status=published
title=create-http-health-checker
next=create-http-lb.html
prev=create-http.html
~~~~~~

= create-http-health-checker

[[create-http-health-checker-1]][[GSRFM00026]][[create-http-health-checker]]

== create-http-health-checker

Creates a health-checker for a specified load balancer configuration

[[sthref235]]

=== Synopsis

[source]
----
asadmin [asadmin-options] create-http-health-checker [--help]
[--url "/"]
[--interval 30] [--timeout 10]
[--config config_name] target
----

[[sthref236]]

=== Description

The `create-http-health-checker` subcommand creates a health checker for
a specified load balancer configuration. A health checker is unique for
the combination of target and load balancer configuration.


[NOTE]
====
This subcommand is only applicable to {productName}. This
subcommand is not applicable to {productName}.
====


[[sthref237]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--url`::
  The URL to ping to determine whether the instance is healthy.
`--interval`::
  The interval in seconds the health checker waits between checks of an
  unhealthy instance to see whether it has become healthy. The default
  value is 30 seconds. A value of 0 disables the health checker.
`--timeout`::
  The interval in seconds the health checker waits to receive a response
  from an instance. If the health checker has not received a response in
  this interval, the instance is considered unhealthy.
`--config`::
  The load balancer configuration for which you create the
  health-checker. If you do not specify a configuration, the subcommand
  creates a health checker for every load balancer configuration
  associated with the target. If no configuration references the target,
  the subcommand fails.

[[sthref238]]

=== Operands

target::
  Specifies the target to which the health checker applies. +
  Valid values are:

  * cluster_name- The name of a target cluster.
  * instance_name- The name of a target server instance.

[[sthref239]]

=== Examples

[[GSRFM477]][[sthref240]]

==== Example 1   Creating a Health Checker for a Load Balancer Configuration

This example creates a health checker for a load balancer configuration
named `mycluster-http-lb-config` on a cluster named `mycluster`.

[source]
----
asadmin> create-http-health-checker --config mycluster-http-lb-config mycluster

Command create-http-health-checker executed successfully.
----

[[sthref241]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref242]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:delete-http-health-checker.html#delete-http-health-checker-1[`delete-http-health-checker`(1)]


