Skip to content

Ping ​

Sends one ICMP echo request (ping) to a host for every record it receives and emits the result. Use it for simple availability checks of servers and network devices.

Pins ​

PinKindTypesDescription
InputinputanyEach record triggers one ping. The input content is not used.
OutputoutputViaducta.Plugins.PingPlugin.PingReplyResult of the ping.
Continuecontinuesame as inputCalled after Output with the original input data and metadata.

Configuration ​

FieldTypeDefaultDescription
AddressstringIP address or host name to ping.
Timeoutinteger (seconds)20How long to wait for the echo reply. 0 or less means 60 seconds.

Behaviour ​

  • For every input record one ping is sent synchronously; the component blocks until the reply arrives or the timeout expires.
  • Output receives a PingReply with:
    • Address: the address that replied (as text),
    • RoundtripTime: round-trip time in milliseconds,
    • Status: name of the .NET IPStatus value, e.g. Success, TimedOut, DestinationHostUnreachable.
  • After Output, Continue is called with the original input.
  • A timeout or unreachable host is not an error: check Status (for example with a filter on Status == "Success").

Notes ​

  • PingReply.IsTimeout is never set (always false); use Status = TimedOut instead.
  • A host name that cannot be resolved throws an exception instead of producing a PingReply.
  • ICMP may be blocked by firewalls or require privileges on some Linux hosts; a failing ping does not prove that a TCP service is down.
  • Address comes only from the configuration, not from the input record; to ping several hosts, use one component per host.

Example ​

json
{ "Address": "192.168.1.10", "Timeout": 5 }

Timer → Ping → Decision router (Status is not Success) → Mail client

Viaducta documentation