PING

Выполняет ICMP ping до указанного хоста. Возвращает все данные о результате работы

Параметры

  • host='okerr.com' - адрес хоста, на который будут отправлены пинги.
  • count='3' - количество пингов, которые будут отправлены.
  • timeout ='1000' - таймаут в миллисекундах

Сама по себе команда не устанавливает статус OK или ERR, но предоставляет информацию, по которой можно гибко отслеживать проблему на серверной части. (Например, ошибка - если потерян хотя бы 1 пакет из 10, или если потеряно 3 из 3, или если значение max_rtt слишком большое).

Примеры

$ sudo okerrclient --dry -s PING JDUMP
{
    "avg_rtt": "227.674",
    "destination": "okerr.com",
    "destination_ip": "78.47.38.118",
    "max_rtt": "313.856",
    "min_rtt": "174.075",
    "packet_lost": 0
}

$ sudo okerrclient --dry -s PING SEQDUMP
Sequence name 'braconnier': #140132388247600 no parent
lastcmd: SEQDUMP
route:
details: okerr.com (78.47.38.118) rtt: 190.209/201.132/222.353 lost: 0
except: None
method: None
tags: []
variables: {}
data (100/146): {'avg_rtt': '201.132', 'destination_ip': '78.47.38.118', 'max_rtt': '222.353', 'destination': 'okerr ...

Пример скрипта ping_google из стандартной библиотеки:

NAME $_name:ping_google
TAG ping
METHOD numerical maxlim=1
EXCEPT 999
PING host=google.com timeout=1000 count=3
FORMAT $packet_lost

Исходно, скрипт будет оповещать о проблеме если будет потеряно более 1 пакета из 3. Таймаут ожидания - 1000 миллисекунд (1 секунда). Любое время RTT (меньшее таймаута) считается допустимым, но с минимальными изменениями скрипта или индикатора можно подстроить проверку "под себя" (например, ошибкой считается если среднее время RTT из 10 пингов будет больше какого-то предела).