数据加速器 GooseFS 监控指南

Goosefs 监控指标记录了客户端、集群、Master 节点、 Worker 节点、进程的运行状态。1. 按照统计维度,监控指标可以分成以下四大类。

相关产品
数据加速器 GooseFS 产品页,含版本规格、价格与购买入口。

一、监控指标概述

·Gauge:记录一个事件的瞬时数值,该数值可增可减,一般用来反映系统运行状态。

·Meter:统计事件频率,即固定时间周期内事件的发生次数,如每分钟、每5分钟,每15分钟内的请求数。

·Counter:统计事件发生的总次数,与 Gauge 不同的点在于该数值只增不减,一般用来记录访问请求次数等数据。

·Timer:统计事件的频率和分布情况,该指标可以认为 Histogram 指标和 Meter 指标的结合,Histogram 指标用于统计耗时分布,Meter 指标用于统计 QPS;如果需要同时统计频率和耗时的时候可以使用该指标。

注意:更多监控指标分类可参见 Metrics Library 文档。GooseFS 目前提供的监控指标只有上述4种类型。

2. 按照数据采集来源,监控指标可以分为以下两大类:

·集群状态指标:集群状态指标包括了 Cluster、Master 和 Worker 维度的监控数据,这些监控指标可以反应整个集群及集群下的每个节点的运行状态。这类指标的记录格式如下:

Master.[metricName].[tag1].[tag2]…[Worker_ip].[metricName].[tag1].[tag2]…

·进程处理指标:进程处理指标用于详细记录集群中的请求次数、延迟、CPU 消耗、RPC 调用次数等信息,这类指标可以推送到第三方监控工具中展示。这类指标的记录格式如下:

[processType].[metricName].[tag1].[tag2]…[hostName]

二、Cluster 监控指标

GooseFS 集群化部署时,客户端和 Worker 节点会周期性地通过心跳将监控指标发送到 Master 节点,可以通过 goosefs.master.worker.heartbeat.interval 和 goosefs.user.metrics.heartbeat.interval 分别设置 Worker 节点和客户端监控指标的心跳周期。

Cluster 级别的监控指标列表如下:

指标名称 指标类型 指标描述
Cluster.BytesReadDomain COUNTER GooseFS集群Worker节点的总DomainSocket读流量数值。
Cluster.BytesReadDomainThroughput GAUGE GooseFS集群Worker节点的总DomainSocket读带宽数值。
Cluster.BytesReadLocal COUNTER GooseFS集群客户端节点的总本地短路读流量数值。
Cluster.BytesReadLocalThroughput GAUGE GooseFS集群客户端节点的总本地短路读吞吐数值。
Cluster.BytesReadPerUfs COUNTER GooseFS集群Worker节点从某个指定的底层存储读数据的流量数值。
Cluster.BytesReadRemote COUNTER GooseFS集群Worker节点的总Remote读流量数值,该数值等于只包含GooseFS集群的缓存读流量和从底层存储读流量,不包含短路读流量及DomainSocket读流量。
Cluster.BytesReadRemoteThroughput GAUGE GooseFS集群Worker节点的总Remote读带宽数值,该数值等于只包含GooseFS集群的缓存读带宽和从底层存储读带宽,不包含短路读带宽及DomainSocket读带宽。
Cluster.BytesReadUfsAll COUNTER GooseFS集群Worker节点从所有底层存储读数据的流量数值。
Cluster.BytesReadUfsThroughput GAUGE GooseFS集群Worker节点从所有底层存储读数据的吞吐数值。
Cluster.BytesWrittenDomain COUNTER GooseFS集群Worker节点的总DomainSocket写流量数值。
Cluster.BytesWrittenDomainThroughput GAUGE GooseFS集群Worker节点的总DomainSocket写带宽数值。
Cluster.BytesWrittenLocal COUNTER GooseFS集群Worker节点的总本地短路写流量数值。
Cluster.BytesWrittenLocalThroughput GAUGE GooseFS集群Worker节点的总本地短路写吞吐数值。
Cluster.BytesWrittenPerUfs COUNTER GooseFS集群Worker节点往某个指定的底层存储写数据的流量数值。
Cluster.BytesWrittenRemote COUNTER GooseFS集群Worker节点的总Remote写流量数值,该数值等于只包含GooseFS集群的写缓存流量和往底层存储写数据流量,不包含短路写流量及DomainSocket写流量。
Cluster.BytesWrittenRemoteThroughput GAUGE GooseFS集群Worker节点的总Remote写吞吐数值,该数值等于只包含GooseFS集群的写缓存吞吐和往底层存储写数据吞吐,不包含短路写吞吐及DomainSocket写吞吐。
Cluster.BytesWrittenUfsAll COUNTER GooseFS集群Worker节点从所有底层存储写数据的流量数值。
Cluster.BytesWrittenUfsThroughput GAUGE GooseFS集群Worker节点从所有底层存储写数据的吞吐数值。
Cluster.CapacityFree GAUGE GooseFS集群Worker节点的总可用缓存容量数值。
Cluster.CapacityTotal GAUGE GooseFS集群Worker节点的总缓存容量数值。
Cluster.CapacityUsed GAUGE GooseFS集群Worker节点的总已用缓存容量数值。
Cluster.RootUfsCapacityFree GAUGE GooseFS集群远端存储的总可用容量数值。
Cluster.RootUfsCapacityTotal GAUGE GooseFS集群远端存储的总容量数值。
Cluster.RootUfsCapacityUsed GAUGE GooseFS集群远端存储的总已用容量数值。
Cluster.Workers GAUGE GooseFS集群的总Worker节点数量。

三、Master 监控指标

Master 监控指标有两大类,其一是默认指标,Master 运行过程中会默认记录这些指标;其二是动态监控指标。默认的 Master 监控指标如下:

指标名称 指标类型 指标描述
Master.CompleteFileOps COUNTER CompleteFile操作的总请求次数。
Master.CreateDirectoryOps COUNTER CreateDirectory操作的总请求次数。
Master.CreateFileOps COUNTER CreateFile操作的总请求次数。
Master.DeletePathOps COUNTER Delete操作的总请求次数。
Master.DirectoriesCreated COUNTER CreateDirectory操作的总成功请求次数。
Master.EdgeCacheEvictions GAUGE 已清理的元数据EdgeCache。EdgeCache负责管理元数据从(parentId,childName)到childId的映射。
Master.EdgeCacheHits GAUGE 已命中的元数据EdgeCache。 EdgeCache负责管理元数据从(parentId,childName)到childId的映射。
Master.EdgeCacheLoadTimes GAUGE 元数据EdgeCache的加载次数。 EdgeCache负责管理元数据从(parentId,childName)到childId的映射。
Master.EdgeCacheMisses GAUGE 未命中的元数据EdgeCache。EdgeCache负责管理元数据从(parentId,childName)到childId的映射。
Master.EdgeCacheSize GAUGE 元数据EdgeCache的总大小。 EdgeCache负责管理元数据从(parentId,childName)到childId的映射。
Master.EdgeLockPoolSize GAUGE Master节点EdgeLockPool的大小。
Master.FileBlockInfosGot COUNTER GetFileBlockInfo操作的总请求次数
Master.FileInfosGot COUNTER GetFileInfo操作的总成功请求次数。
Master.FilesCompleted COUNTER CompleteFile的总成功请求次数。
Master.FilesCreated COUNTER CreateFile的总成功请求次数。
Master.FilesFreed COUNTER FreeFile的总成功请求次数。
Master.FilesPersisted COUNTER 已持久化到底层存储的总文件数。
Master.FilesPinned GAUGE 当前已锁定的缓存文件数。
Master.FreeFileOps COUNTER FreeFile操作的总请求次数。
Master.GetFileBlockInfoOps COUNTER GetFileBlockInfo的总请求次数。
Master.GetFileInfoOps COUNTER GetFileInfo的总请求次数。
Master.GetNewBlockOps COUNTER GetNewBlock的总请求次数。
Master.InodeCacheEvictions GAUGE 元数据缓存中inodes的总淘汰次数。
Master.InodeCacheHits GAUGE 元数据缓存中inodes的总命中次数。
Master.InodeCacheLoadTimes GAUGE 元数据缓存中inodes的总加载次数。
Master.InodeCacheMisses GAUGE 元数据缓存中inodes的总Miss次数。
Master.InodeCacheSize GAUGE 已缓存的Inodes总数。
Master.InodeLockPoolSize GAUGE Master inode 的lock pool大小。
Master.JournalFlushFailure COUNTER journal flush 的总失败次数。
Master.JournalFlushTimer TIMER journal flush 的计时器统计次数。
Master.JournalGainPrimacyTimer TIMER journal gain primacy 的计时器统计次数。
Master.LastBackupEntriesCount GAUGE 元数据备份的元数据日志中所记录的元数据条目总数。该参数用于记录元数据的备份情况,并在需要时作为恢复节点的参考。
Master.LastBackupRestoreCount GAUGE 元数据恢复时记录的元数据条目总数。该参数用于记录元数据的恢复情况。
Master.LastBackupRestoreTimeMs GAUGE 元数据恢复的处理时长。
Master.LastBackupTimeMs GAUGE 元数据备份的处理时长。
Master.ListingCacheSize GAUGE Master节点的listing cache大小。
Master.MountOps COUNTER Mount操作的总请求次数。
Master.NewBlocksGot COUNTER GetNewBlock操作的总成功请求次数。
Master.PathsDeleted COUNTER Delete操作的总成功请求次数。
Master.PathsMounted COUNTER Mount操作的总成功请求次数。
Master.PathsRenamed COUNTER Rename操作的总成功请求次数。
Master.PathsUnmounted COUNTER Unmount操作的总成功请求次数。
Master.RenamePathOps COUNTER Rename操作的总请求次数。
Master.SetAclOps COUNTER SetAcl操作的总请求次数。
Master.SetAttributeOps COUNTER SetAttribute的总请求次数。
Master.TotalPaths GAUGE GooseFS命名空间中的总文件和目录数量。
Master.UfsJournalCatchupTimer TIMER GooseFS底层存储的journal catchup计时统计次数。
Master.UfsJournalFailureRecoverTimer TIMER GooseFS底层存储的journal failure recover计时统计次数。
Master.UfsJournalInitialReplayTimeMs GAUGE GooseFS底层存储的journal initial replay处理时长。
Master.UnmountOps COUNTER Unmount操作的总请求次数。

动态指标如下:

指标名称 指标类型 指标描述
Master.CapacityTotalTier GAUGE GooseFS各缓存层级的容量大小。
Master.CapacityUsedTier GAUGE GooseFS各缓存层级的已用容量大小。
Master.CapacityFreeTier GAUGE GooseFS各缓存层级的可用容量大小。
Master.UfsSessionCount-Ufs: COUNTER GooseFS 当前已打开的 UFS 会话数量。
Master.PerUfsOp.UFS: TIMER GooseFS 主 Master 节点对 UFS 的所有操作数量。

四、Worker 监控指标

Worker 监控指标有两大类,其一是默认指标,Worker 运行过程中会默认记录这些指标;其二是动态监控指标。默认的 Worker 监控指标如下:

指标名称 指标类型 指标描述
Worker.AsyncCacheDuplicateRequests COUNTER 指定Worker节点收到的重复异步缓存请求的总数。
Worker.AsyncCacheFailedBlocks COUNTER 指定Worker节点异步缓存失败的block数量。
Worker.AsyncCacheRemoteBlocks COUNTER 需要从远端资源中异步缓存的block数量。
Worker.AsyncCacheRequests COUNTER 指定Worker节点收到的异步缓存请求总数。
Worker.AsyncCacheSucceededBlocks COUNTER 指定Worker节点收到的成功的异步缓存请求总数。
Worker.AsyncCacheUfsBlocks COUNTER 需要从本地资源中异步缓存的block数量。
Worker.BlockRemoverBlocksToRemovedCount COUNTER 指定Worker节点被asynchronous block remover清理的block数量。
Worker.BlockRemoverRemovingBlocksSize GAUGE 指定Worker节点正在被asynchronous block remover清理的block数量。
Worker.BlockRemoverTryRemoveBlocksSize GAUGE 指定Worker节点已经被asynchronous block remover清理的block数量。
Worker.BlockRemoverTryRemoveCount COUNTER 指定Worker节点即将被asynchronous block remover清理的block数量。
Worker.BlocksAccessed COUNTER 指定Worker节点所有数据块被访问的总次数。
Worker.BlocksCached GAUGE 指定Worker节点中缓存的数据块总数。
Worker.BlocksCancelled COUNTER 指定Worker节点中释放的临时数据块总数。
Worker.BlocksDeleted COUNTER 指定Worker节点中被外部请求删除的数据块总数。
Worker.BlocksEvicted COUNTER 指定Worker节点中淘汰的数据块总数。
Worker.BlocksLost COUNTER 指定Worker节点中丢失的数据块总数,包含。
Worker.BlocksPromoted COUNTER 指定Worker节点中数据块转移到不同缓存层的次数。
Worker.BytesReadDomain COUNTER 指定Worker节点中被domain read的总读流量。
Worker.BytesReadDomainThroughput METER 指定Worker节点中被domain read的总读带宽。
Worker.BytesReadPerUfs COUNTER 指定Worker节点从底层存储中读取文件的流量数值。
Worker.BytesReadRemote COUNTER 指定Worker节点的Remote读流量数值,该数值等于只包含该节点的读缓存流量和从底层存储读数据流量,不包含短路读流量及DomainSocket的读流量。
Worker.BytesReadRemoteThroughput METER 指定Worker节点的Remote读吞吐数值,该数值等于只包含该节点的读缓存吞吐和从底层存储读数据吞吐,不包含短路读吞吐及DomainSocket的读吞吐。
Worker.BytesReadUfsThroughput METER 指定Worker节点从所有底层存储中读数据吞吐数值。
Worker.BytesWrittenDomain COUNTER 指定Worker节点中,通过Domain socket方式写入GooseFS的写流量数值。
Worker.BytesWrittenDomainThroughput METER 指定Worker节点中,通过Domain socket方式写入GooseFS的写吞吐数值。
Worker.BytesWrittenPerUfs COUNTER 指定Worker节点往指定底层存储中写数据吞吐数值。
Worker.BytesWrittenRemote COUNTER 指定Worker节点的Remote写流量数值,该数值等于只包含该节点的写缓存流量和往底层存储写数据流量,不包含短路写流量及DomainSocket的写流量。
Worker.BytesWrittenRemoteThroughput METER 指定Worker节点的Remote写吞吐数值,该数值等于只包含该节点的写缓存吞吐和往底层存储写数据吞吐,不包含短路写吞吐及DomainSocket的写吞吐。
Worker.BytesWrittenUfsThroughput METER 指定Worker节点往所有底层存储中写数据吞吐数值。
Worker.CapacityFree GAUGE 指定Worker节点上的可用缓存容量数值。
Worker.CapacityTotal GAUGE 指定Worker节点上的总缓存容量数值。
Worker.CapacityUsed GAUGE 指定Worker节点上的已用缓存容量数值。

动态监控指标如下:

指标名称 指标类型 指标描述
Worker.UfsSessionCount-Ufs GAUGE 指定Worker节点上已打开的UFS会话数量。

五、客户端监控指标

客户端监控指标会通过指定的用户 ID 或者客户端的 IP 维度汇聚,如果已经在 GooseFS 中注册好用户 ID,则会优先按照用户 ID 维度汇聚。用户 ID 可以通过 goosefs.user.app.id 指定。客户端监控指标如下:

指标名称 指标类型 指标描述
Client.BytesReadLocal COUNTER 指定Client节点从本地存储短路读流量数值。
Client.BytesReadLocalThroughput METER 指定Client节点从本地存储短路读吞吐数值。
Client.BytesWrittenLocal COUNTER 指定Client节点往本地存储短路写流量数值。
Client.BytesWrittenLocalThroughput METER 指定Client节点往本地存储短路写吞吐数值。
Client.BytesWrittenUfs COUNTER 指定Client节点往GooseFS底层存储的写流量数值。
Client.CacheBytesEvicted METER 指定Client节点淘汰的数据量。
Client.CacheBytesReadCache METER 指定Client节点缓存命中,从Client节点中读取的缓存数据量。
Client.CacheBytesReadExternal METER 指定Client节点缓存未命中,从其他存储中读取的数据量。
Client.CacheBytesRequestedExternal METER 指定Client节点缓存未命中,从其他存储中请求的数据量。由于chunk读情况的存在,该数值小于等于Client.CacheBytesReadExternal。
Client.CacheBytesWrittenCache METER 往指定Client节点缓存中写入数据的流量。
Client.CacheCleanupGetErrors COUNTER 清理失败的读缓存请求时的失败次数。
Client.CacheCleanupPutErrors COUNTER 清理失败的写缓存请求时的失败次数。
Client.CacheCreateErrors COUNTER 指定Client节点创建缓存的失败次数。
Client.CacheDeleteErrors COUNTER 指定Client节点删除缓存的失败次数。
Client.CacheGetErrors COUNTER 指定Client节点读取缓存的失败次数。
Client.CacheGetNotReadyErrors COUNTER 指定Client节点读取页时,由于缓存未就绪导致的失败次数。
Client.CacheHitRate GAUGE 指定Client节点的缓存命中率,该参数等于从缓存中读请求次数/总请求次数。
Client.CachePages COUNTER 指定Client节点的页缓存数量。
Client.CachePagesEvicted METER 指定Client节点中已淘汰的页缓存数量。
Client.CachePutErrors COUNTER 指定Client节点写入缓存数据的失败次数。
Client.CacheSpaceAvailable GAUGE 指定Client节点中可用的字节数。
Client.CacheSpaceUsed GAUGE 指定Client节点中已用的字节数。
Client.CacheSpaceUsedCount COUNTER 指定Client节点中可用的字节计数值。
Client.CacheState COUNTER 指定Client节点中的缓存状态,0(不可用),1(只读),2(只写)
Client.CacheUnremovableFiles COUNTER 指定Client节点中不可用的缓存数量。

六、进程监控指标

进程监控指标可以在 Cluster、Master 和 Worker 中收集并汇聚。主要包括 JVM 信息、垃圾回收信息、内存占用信息三大类。

JVM 信息包括以下内容:

指标名称 指标描述
name JVM 名称
uptime JVM 更新时间
vendor 当前的 JVM vendor

垃圾回收监控指标包括以下内容:

指标名称 指标描述
PS-MarkSweep.count Mark 和 Sweep 的总数。
PS-MarkSweep.time Mark 和 Sweep 的耗时。
PS-Scavenge.count Scavenge 次数。
PS-Scavenge.time Scavenge 时间。

内存占用监控指标记录了内存使用情况的概述和详情信息,部分监控指标如下:

指标名称 指标描述
total.committed JVM 可保证使用的内存量。
total.init JVM 可用的内存量。
total.max JVM 的最大可用内存量。
total.used 当前已用的 JVM 内存量。
heap.committed JVM 可保证使用的堆内存大小。
heap.init JVM 可用的堆内存大小。
heap.max JVM 的最大可用堆内存大小。
heap.usage 当前正在使用的 JVM 堆内存量。
heap.used 当前已用的 JVM 堆内存量。
pools.Code-Cache.used 内存池中用于编译和存储本地代码的内存大小。
pools.Compressed-Class-Space.used Used memory of collection usage from the pool from which memory is use for class metadata内存池中用于收集用途的已用内存大小,该内存用于类元数据。
pools.PS-Eden-Space.used 内存池中用于收集用途的已用内存大小,该内存用于大部分对象的初始化。
pools.PS-Survivor-Space.used 内存池中用于收集用途的已用内存大小,该内存池包含在Eden空间垃圾回收后幸存的对象。
赞 (0)
上一篇 4天前
下一篇 4天前