首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戈朗:图书馆“健康与健康”的健康之冠

戈朗:图书馆“健康与健康”的健康之冠
EN

Stack Overflow用户
提问于 2015-06-16 20:31:42
回答 1查看 175关注 0票数 2

我使用gocraft/health来检查我的服务的健康状况,并获得每个endPoint的指标。我是在JSON轮询池中获取度量的。

代码语言:javascript
复制
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,我在控制台上找到了它。

代码语言:javascript
复制
    [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响应

代码语言:javascript
复制
{
    "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 )应该像他们所说的那样恢复正常。

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 21:15:11

您下载的是一个二进制文件,所以您可以使用healthd调用它,如果您位于正确的目录中,它们实际上提供了这个示例;

代码语言:javascript
复制
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的目的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30877603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档