夜莺
Last updated
Last updated
企业级监控解决方案,当前版本v5.
两个核心模块server和webapi
webapi - 无状态,放到中心端,承接前端需求,将用户配置写入数据库.
server - 告警引擎和数据转发模块,一个时序库对应一套server.
使用victoriametrics作为时序库
当每秒数据写入点数小于100万,推荐使用单机版,可通过增加CPU核数,增加内存,增加IOPS获得线性的性能提升.
以下是集群示例
vmstorage,vminsert,vmselect组合构成VM集群功能,三者都可以通过启动多个实例来分担承载流量。
vmstorage是有状态模块,删除storage node会丢失1/N历史数据(N为集群中node的数量).增加需要同步修改vminsert和vmselect启动参数.
vmstorage启动后,监听3个端口.
-httpListenAddr :8482 vmstorage自身提供的http api接口。
-vminsertAddr :8400 负责接受来自vminsert的写入请求。
-vmselectAddr :8401 负责接受来自vmselect的数据查询请求。
vminsert收到数据写入请求后,通过jump consistent hash算法,将数据转发到选定的某个vmstorage node上。vminsert是无状态模块,删除或增加一个或多个实例,不会造成数据丢失。通过启动时的参数,感知整个vmstorage集群的完成node地址列表。
启动后监听8480端口。
-httpListenAddr :8480 实现了prometheus remote_write等协议,可以接受和解析remote_write写入的数据。
启动后监听8481端口
-httpListenAddr :8481 实现了prometheus remote_query协议,可以接收和解析remote_query协议的查询.
VM集群版架构