我使用gocraft/health来检查我的服务的健康状况,并获得每个endPoint的指标。我是在JSON轮询池中获取度量的。
sink := health.NewJsonPollingSink(time.Minute*5, time.Minute*5)
stream.AddSink(sink)我想用,healthtop和healthd在这里
我修复了环境变量:export HEALTHD_MONITORED_HOSTPORTS=:5001 HEALTHD_SERVER_HOSTPORT=:5002 healthd,正如他们所说的
在他们说“现在你可以运行了”之后。怎么,他们没有命令我真的不明白他们的意思。
我导航到src/github.com/gocraft/health/cmd/healthd.我在运行时找到了main.go,我在控制台上找到了它。
[openrtb@sd-69536 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]
.
.但是在这些端点上
本地主机:5002/作业:列出顶级职务
本地主机:5002/host:列出所有受监视的主机及其状态
它给了我{“错误”:"not_found"}
除了这个localhost:5002/health,我得到了这个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 )应该像他们所说的那样恢复正常。
发布于 2015-06-16 21:15:11
您下载的是一个二进制文件,所以您可以使用healthd调用它,如果您位于正确的目录中,它们实际上提供了这个示例;
HEALTHD_MONITORED_HOSTPORTS=:5020 HEALTHD_SERVER_HOSTPORT=:5032 healthd这并不是用这两个值来设置env,而是调用healthd (除了一个命令之外,还需要导出或其他东西来保持更改)。healthtop更清楚地说明了它是什么,但是正如您可以从它们的路径中看到的,它们都是命令gocraft/health/cmd/healthtop。他们有几个使用bash的healthtop的例子,不太清楚关于healthd,但它是一样的。
如果您运行该命令(如您在问题中所示),那么您可能希望尝试healthtop jobs或其他类似的操作。我对这个项目不太了解,也不想研究它,但据我所知,healthd只是一个从各个/health端点收集结果并在API上提供的服务。他们似乎打算让您使用healthtop在其之上查看报告。
还请注意这一点;
太棒了!要了解数据健康服务的类型,可以手动导航到: /jobs: Lists jobs /aggregations:提供聚合/聚合的时间序列/总体:将所有时间序列聚合压缩为一个聚合。/hosts:列出所有受监视的主机及其状态。但是,查看原始JSON只是为了让您了解数据。见下一节..。
我不确定域是什么(localhost:5032,如果您正在本地运行?)但是,您可能只需转到localhost:5032/作业,就可以看到healthd正在运行并在做一些事情。此外,检查你的应用程序,以确定它已经启动和运行。不要直接期待它的任何输出,这就是healthtop的目的。
https://stackoverflow.com/questions/30877603
复制相似问题