2015-06-16 7 views
2

Im, использующий gocraft/health, чтобы проверить работоспособность моего сервиса и получить показатели каждого конечного пункта. Im usin Опросник JSON, чтобы получить метрики.Golang: healthd and healthtop библиотеки «gocraft/health»

sink := health.NewJsonPollingSink(time.Minute*5, time.Minute*5) 
stream.AddSink(sink) 

Я хочу использовать healthtop и healthd здесь Link они объясняют, как.

Я установил переменные среды: export HEALTHD_MONITORED_HOSTPORTS=:5001 HEALTHD_SERVER_HOSTPORT=:5002 healthd , как они сказали

после того, как они сказали «Теперь вы можете запустить его». как, они не дали никакой команды, чтобы сделать это. Я не понимал, что они означают.

Я перешел на src/github.com/gocraft/health/cmd/healthd. Я нашел main.go, когда я запускаю это я получил, что в консоли

[[email protected] healthd]$ go run main.go 
    [2015-06-17T23:04:20.871743758Z]: job:general event:starting kvs:[health_host_port::5002 monitored_host_ports::5001,:5002 server_host_port::5002] 
    [2015-06-17T23:04:20.87810814Z]: job:poll status:success time:4 ms kvs:[host_port::5002] 
    [2015-06-17T23:04:20.881896459Z]: job:poll status:success time:8 ms kvs:[host_port::5001] 
    [2015-06-17T23:04:20.882338024Z]: job:recalculate status:success time:231 μs 
    [2015-06-17T23:04:23.275370787Z]: job:recalculate status:success time:6 μs 
    [2015-06-17T23:04:30.875230839Z]: job:poll status:success time:1573 μs kvs:[host_port::5002] 
    [2015-06-17T23:04:30.881415193Z]: job:poll status:success time:7 ms kvs:[host_port::5001] 
. 
. 

, но не reslute на этих конечных точек

локальный: 5002/работы: списки лучших рабочих мест

localhost: 5002/hosts: Списки всех контролируемых хозяев и их статусы

это дало мне { "Ошибка": "not_found"}

excepte это локальный: 5002/здоровье Я получил этот JSON товару

{ 
    "instance_id": "sd-69536.1291", 
    "interval_duration": 3600000000000, 
    "aggregations": [ 
     { 
      "interval_start": "2015-06-18T01:00:00+02:00", 
      "serial_number": 48, 
      "jobs": { 
       "general": { 
        "timers": {}, 
        "events": { 
         "starting": 1 
        }, 
        "event_errs": {}, 
        "count": 0, 
        "nanos_sum": 0, 
        "nanos_sum_squares": 0, 
        "nanos_min": 0, 
        "nanos_max": 0, 
        "count_success": 0, 
        "count_validation_error": 0, 
        "count_panic": 0, 
        "count_error": 0, 
        "count_junk": 0 
       }, 
       "poll": { 
        "timers": {}, 
        "events": {}, 
        "event_errs": {}, 
        "count": 24, 
        "nanos_sum": 107049159, 
        "nanos_sum_squares": 6.06770682813009e+14, 
        "nanos_min": 1581783, 
        "nanos_max": 8259442, 
        "count_success": 24, 
        "count_validation_error": 0, 
        "count_panic": 0, 
        "count_error": 0, 
        "count_junk": 0 
       }, 
       "recalculate": { 
        "timers": {}, 
        "events": {}, 
        "event_errs": {}, 
        "count": 23, 
        "nanos_sum": 3501601, 
        "nanos_sum_squares": 6.75958305123e+11, 
        "nanos_min": 70639, 
        "nanos_max": 290877, 
        "count_success": 23, 
        "count_validation_error": 0, 
        "count_panic": 0, 
        "count_error": 0, 
        "count_junk": 0 
       } 
      }, 
      "timers": {}, 
      "events": { 
       "starting": 1 
      }, 
      "event_errs": {} 
     } 
    ] 
} 

, но не знаю, что этот результат означает, потому что он не имеет любое отношение с моим
localhost: 5001/health EndPoint, который должен нормализовать агрегат, как они сказали.

+0

поздно на вечеринку, но конечные точки здоровья являются, например, http: // localhost: 5002/healthd/jobs или/healthd/aggregations (на основе 'HEALTHD_SERVER_HOSTPORT =: 5002') – petrkotek

ответ

1

Что вы загрузили, это двоичный код, поэтому вы можете просто вызвать его с помощью healthd, если вы находитесь в правильном каталоге, они фактически предоставляют этот пример;

HEALTHD_MONITORED_HOSTPORTS=:5020 HEALTHD_SERVER_HOSTPORT=:5032 healthd 

Который не ставит ENV вар столько, как вызов healthd с этими двумя значениями (экспорт или что-то необходимо будет сохраняться изменения за пределы одной команды). healthtop более четко заявляет, что это такое, но как вы можете видеть по их пути, они оба команды gocraft/health/cmd/healthtop. У них есть несколько примеров использования healthtop from bash, не столь явного о healthd, но это то же самое.

Если вы запустили эту команду (как вы видите в своем вопросе), вы можете попробовать healthtop jobs или что-то в этом роде. Я не знаю тонны об этом проекте и не хочу его исследовать, но из того, что я могу сказать, healthd - это просто услуга, которая собирает результаты с различных конечных точек /health и делает их доступными в API. Похоже, они намереваются использовать healthtop, чтобы просмотреть его.

Также обратите внимание на это;

Отлично! Чтобы получить представление о типе данных healthd, вы можете вручную перейти к: /jobs: Списки топ-заданий /aggregations: Предоставляет временные ряды агрегатов /aggregations/total: Сбрасывает все агрегации временных рядов в одну совокупность. /hosts: список всех контролируемых хостов и их статусов. Однако просмотр исходного JSON просто для того, чтобы дать вам представление о данных. См. Следующий раздел ...

Я не уверен, что такое домен (localhost: 5032, если вы работаете локально?), Но вы, вероятно, должны просто иметь возможность перейти на localhost: 5032/jobs и см. healthd работает и что-то делает. Также проверьте свои приложения, чтобы подтвердить, что они работают. Не ожидайте выхода из него напрямую, вот что такое healthtop.

+0

BTW, делая' VAR = val VAR2 = val2 command' является sh/bash-ism, который не будет работать в других средах/оболочках. Общий способ сделать это - через 'env', то есть: env VAR = val VAR2 = val2 command'. Это будет (должно) работать на всех POSIX-системах. –

+0

вы сказали: «Я могу просто вызвать его с помощью healthd, если вы в правильной директории», в какой директории. – abdel

+0

@DaveC это то, что я сделал 'export HEALTHD_MONITORED_HOSTPORTS =: 5001 HEALTHD_SERVER_HOSTPORT =: 5002 healthd ' – abdel

 Смежные вопросы

  • Нет связанных вопросов^_^