【Consul】Consul实践指导-telemetry
2016-08-25 20:07
603 查看
Consul Agent 能够搜集不同lib库和子系统运行时的性能指标。这些指标都是基于间隔10秒测试1分钟得到的结果。
本文中将telemetry翻译为“遥测”。
查看这些数据,必须向Consul进程发送信号:Unix平台,发送USR1信号,Windows平台发送BREAK信号。一旦Consul接收到信号,会把遥测信息发送到agent的stderr。
遥测信息可以帮助调试或深入了解Consul正在做什么。
另外,如果提供了telemetry配置选项(http://blog.csdn.net/younger_china/article/details/52243738),遥测信息将被传输到statsite或statsd服务器,它可以输出到其他存储设备中(?)。
下面是遥测输出信息:
原文https://www.consul.io/docs/agent/telemetry.html
本文中将telemetry翻译为“遥测”。
查看这些数据,必须向Consul进程发送信号:Unix平台,发送USR1信号,Windows平台发送BREAK信号。一旦Consul接收到信号,会把遥测信息发送到agent的stderr。
遥测信息可以帮助调试或深入了解Consul正在做什么。
另外,如果提供了telemetry配置选项(http://blog.csdn.net/younger_china/article/details/52243738),遥测信息将被传输到statsite或statsd服务器,它可以输出到其他存储设备中(?)。
下面是遥测输出信息:
[2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.num_goroutines': 19.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.alloc_bytes': 755960.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.malloc_count': 7550.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.free_count': 4387.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.heap_objects': 3163.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.total_gc_pause_ns': 1151002.000 [2014-01-29 10:56:50-0800 PST][G] 'consul-agent.runtime.total_gc_runs': 4.000 [2014-01-29 10:56:50-0800 PST][C] 'consul-agent.agent.ipc.accept': Count: 5 Sum: 5.000 [2014-01-29 10:56:50-0800 PST][C] 'consul-agent.agent.ipc.command': Count: 10 Sum: 10.000 [2014-01-29 10:56:50-0800 PST][C] 'consul-agent.serf.events': Count: 5 Sum: 5.000 [2014-01-29 10:56:50-0800 PST][C] 'consul-agent.serf.events.foo': Count: 4 Sum: 4.000 [2014-01-29 10:56:50-0800 PST][C] 'consul-agent.serf.events.baz': Count: 1 Sum: 1.000 [2014-01-29 10:56:50-0800 PST][S] 'consul-agent.memberlist.gossip': Count: 50 Min: 0.007 Mean:0.020 Max: 0.041 Stddev: 0.007 Sum: 0.989 [2014-01-29 10:56:50-0800 PST][S] 'consul-agent.serf.queue.Intent': Count: 10 Sum: 0.000 [2014-01-29 10:56:50-0800 PST][S] 'consul-agent.serf.queue.Event': Count: 10 Min: 0.000 Mean: 2.500Max: 5.000 Stddev: 2.121 Sum: 25.000
1.1.1 Key指标
当遥测被传送到外部存储时,时间间隔被定义为存储的刷新间隔。否则,间隔可以被假定为10秒时,传送可用通过上述描述的信号触发。1.1.2 Agent health
如下的指标可以用过监控指定consul agent的健康状况。Metric | Description | Unit | Type |
consul.runtime.num_goroutines | 跟踪运行goroutines的数量,可以作为负载压力大小的标识。这个数据会时不时的冲高,一般是稳定的 | number of goroutines | gauge |
consul.runtime.alloc_bytes | Consul进程分配的内存字节数,这个数据会时不时的冲高,一般是稳定的 | bytes | gauge |
consul.runtime.heap_objects | Heap上分配的对象的数目,可作为内存压力大小的标识。这个数据会时不时的冲高,一般是稳定的 | number of objects | gauge |
1.1.3 Server health
consul服务器的健康状态的度量工具:Metric | Description | Unit | Type |
consul.raft.state.leader | Leader变化词素。如果leader频繁改变则表示服务器负载过大导致不能满足Raft的要求,意味着服务器见网络存在问题。 | leadership transitions / interval | counter |
consul.raft.state.candidate | Consul服务器启动选举的次数,如果Leader没有变化,意味着可能是单一服务器或是网络连接存在问题。 | election attempts / interval | counter |
consul.raft.apply | 在一定时间间隔内发生Raft事务的测试,衡量cosnul服务器的写负载大小 | raft transactions / interval | counter |
consul.raft.commitTime | 计算提交一个Raft log到leader的时间长短 | ms | timer |
consul.raft.leader.dispatchLog | 计算leader写日志磁盘的时间长短 | ms | timer |
consul.raft.replication.appendEntries | 计算复制日志记录到Follower的时间,可衡量consul server的压力负载,及服务期间的通信性能。 | ms | timer |
consul.raft.leader.lastContact | 计算consul server最后一次连接leader的时间(为0标识自身为leader),可以衡量Raft子系统的响应时间。 | ms | timer |
1.1.4 Cluster health
Cluster健康状态的度量工具:Metric | Description | Unit | Type |
consul.memberlist.msg.suspect | 当Consul怀疑某一Server故障时,通过Gossip协议随机探查的次数,意味着可能是agent负载过重,或网络问题,配置问题等导致agent服务连接其他的的agent。 | suspect messages received / interval | counter |
consul.serf.member.flap | Consul0.7版本机以上版本支持,当某一Agent被标记dead,然后在短时间内恢复。意味着超载的代理,网络问题,或配置错误等导致Agent无法连接其他agent。 | flaps / interval | counter |
consul.serf.events | Agent在一定时间间隔内处理事件的数目,consul内部采用per-event计数。consul.serf.events.<event name>. | events / interval | counter |
consul.dns.domain_query.<agent> | 通过DNS查找服务花费的时长 | ms | timer |
consul.dns.ptr_query.<agent> | 反向DNS查找花费的时间 | ms | timer |
consul.http.<verb>.<path> | (eg.consul.http.GET.v1.kv._) 完成指定HTTP请求花费的时间。 | ms | timer |
相关文章推荐
- 【Consul】Consul实践指导-telemetry
- 【Consul】Consul实践指导-Watch机制
- 【Consul】Consul实践指导-DNS接口
- 【Consul】Consul实践指导-DNS接口
- 【Consul】Consul实践指导-Encryption配置
- 【Consul】Consul实践指导-RPC机制
- 【Consul】Consul实践指导-Agent
- 【Consul】Consul实践指导-Encryption配置
- 【Consul】Consul实践指导-RPC机制
- 【Consul】Consul实践指导-Agent
- 【Consul】Consul实践指导-配置文件
- 【Consul】Consul实践指导-配置文件
- 【Consul】Consul实践指导-健康检查(Checks)
- 【Consul】Consul实践指导-HTTP API
- 【Consul】Consul实践指导-健康检查(Checks)
- 【Consul】Consul实践指导-HTTP API
- Consul实践指导-DNS接口
- 【Consul】Consul实践指导-服务注册(Service)
- 【Consul】Consul实践指导-服务注册(Service)
- 【Consul】Consul实践指导-Watch机制