# Health

*Health* input plugin allows you to check how *healthy* a TCP server is. It does the check by issuing a TCP connection every a certain interval of time.

## Configuration Parameters

The plugin supports the following configuration parameters:

| Key            | Description                                                                                                                               |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Host           | Name of the target host or IP address to check.                                                                                           |
| Port           | TCP port where to perform the connection check.                                                                                           |
| Interval\_Sec  | Interval in seconds between the service checks. Default value is *1*.                                                                     |
| Internal\_Nsec | Specify a nanoseconds interval for service checks, it works in conjuntion with the Interval\_Sec configuration key. Default value is *0*. |
| Alert          | If enabled, it will only generate messages if the target TCP service is down. By default this option is disabled.                         |
| Add\_Host      | If enabled, hostname is appended to each records. Default value is *false*.                                                               |
| Add\_Port      | If enabled, port number is appended to each records. Default value is *false*.                                                            |

## Getting Started

In order to start performing the checks, you can run the plugin from the command line or through the configuration file:

### Command Line

From the command line you can let Fluent Bit generate the checks with the following options:

```bash
$ fluent-bit -i health://127.0.0.1:80 -o stdout
```

### Configuration File

In your main configuration file append the following *Input* & *Output* sections:

```python
[INPUT]
    Name          health
    Host          127.0.0.1
    Port          80
    Interval_Sec  1
    Interval_NSec 0

[OUTPUT]
    Name   stdout
    Match  *
```

## Testing

Once Fluent Bit is running, you will see some random values in the output interface similar to this:

```bash
$ fluent-bit -i health://127.0.0.1:80 -o stdout
Fluent-Bit v0.9.0
Copyright (C) Treasure Data

[2016/10/07 21:37:51] [ info] [engine] started
[0] health.0: [1475897871, {"alive"=>true}]
[1] health.0: [1475897872, {"alive"=>true}]
[2] health.0: [1475897873, {"alive"=>true}]
[3] health.0: [1475897874, {"alive"=>true}]
```
