Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
opencurve
Curve
提交
eedb7a10
Curve
项目概览
opencurve
/
Curve
9 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Curve
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
eedb7a10
编写于
8月 03, 2020
作者:
L
lixiaocuicoding
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add monitor.md
上级
f6425adb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
55 addition
and
0 deletion
+55
-0
README.md
README.md
+1
-0
docs/cn/monitor.md
docs/cn/monitor.md
+54
-0
docs/images/monitor.png
docs/images/monitor.png
+0
-0
未找到文件。
README.md
浏览文件 @
eedb7a10
...
...
@@ -12,6 +12,7 @@ CURVE是网易自主设计研发的高性能、高可用、高可靠分布式存
-
[
Chunkserver
](
docs/cn/chunkserver_design.md
)
-
[
Snapshotcloneserver
](
docs/cn/snapshotcloneserver.md
)
-
[
CURVE质量体系介绍
](
docs/cn/quality.md
)
-
[
CURVE监控体系介绍
](
docs/cn/monitor.md
)
-
CURVE上层应用
-
[
对接k8s文档
](
docs/cn/k8s_csi_interface.md
)
...
...
docs/cn/monitor.md
0 → 100644
浏览文件 @
eedb7a10
# 监控体系
## 概述
CURVE 监控体系包括三个方面:指标收集,指标存储,指标展示。指标收集使用
[
brpc
](
https://github.com/apache/incubator-brpc
)
内置的
[
bvar
](
https://github.com/apache/incubator-brpc/blob/master/docs/cn/bvar.md
)
;指标存储使用开源监控系统
[
prometheus
](
https://prometheus.io/docs/introduction/overview/
)
;指标展示使用
[
grafana
](
https://github.com/grafana/grafana
)
。
## bvar
[
bvar
](
https://github.com/apache/incubator-brpc/blob/master/docs/cn/bvar.md
)
是多线程环境下的计数器类库,方便记录和查看用户程序中的各类数值。bvar 数据支持在 brpc server 服务的端口上以web portal的方式导出和查询,查看历史趋势,统计和查看分位值;bvar 同时也内置了 prometheus 转换模块,将采集指标转换为 prometheus 支持的格式。
CURVE 中使用到的 bvar 数据模型有:
`bvar::Adder<T>`
: 计数器,默认0,varname << N相当于varname += N。
`bvar::Maxer<T>`
: 求最大值,默认std::numeric_limits::min(),varname << N相当于varname = max(varname, N)。
`bvar::Miner<T>`
: 求最小值,默认std::numeric_limits::max(),varname << N相当于varname = min(varname, N)。
`bvar::IntRecorder`
: 求自使用以来的平均值。注意这里的定语不是“一段时间内”。一般要通过Window衍生出时间窗口内的平均值。
`bvar::Window<VAR>`
: 获得某个bvar在一段时间内的累加值。Window衍生于已存在的bvar,会自动更新。
`bvar::PerSecond<VAR>`
: 获得某个bvar在一段时间内平均每秒的累加值。PerSecond也是会自动更新的衍生变量。
`bvar::LatencyRecorder`
: 专用于记录延时和qps的变量。输入延时,平均延时/最大延时/qps/总次数 都有了。
CURVE 中 bvar 的具体使用方式可以查看:
[
client metric
](
../../src/client/client_metric.h
)
[
chunkserver metric
](
../../src/chunkserver/chunkserver_metrics.h
)
[
mds topoloy metric
](
../../src/mds/topoloy/topology_metric.h
)
[
mds shedule metric
](
../../src/mds/schedule/scheduleMetrics.h
)
## prometheus + grafana
CURVE 集群监控使用 Prometheus 采集数据,并使用 Grafana 作为前端页面展示。
监控内容包括:Client、Mds、Chunkserver、Etcd、机器节点。
监控目标的配置使用 prometheus 基于文件的服务自动发现功能;监控组件使用docker来部署,用docker-compose来进行编排;部署相关脚本在
[
CURVE 仓库中
](
../../monitor
)
。
<img
src=
"../images/monitor.png"
alt=
"monitor"
width=
"800"
/>
1.
```Promethethus```
定时从 MDS、ETCD、Snapshotcloneserver、ChunkServer、Client 中的 Brpc Server 拉取相应的数据
2.
```docker compose```
用于编排docker组件的配置,包括 Promethues、Grafana、Repoter
3.
```python```
脚本有多个。
[
target_json.py
](
../../monitor/target_json.py
)
用于生成 prometheus 服务发现依赖的监控目标配置,生成的文件为 json 格式;该脚本依赖
[
target.ini
](
../../monitor/target.ini.example
)
中的配置,从配置中获取 mds、etcd 的信息。
[
grafana-report.py
](
../../monitor/grafana-report.py
)
用于从 Grafana 导出 daily reporter中所需要的数据信息。
docs/images/monitor.png
0 → 100644
浏览文件 @
eedb7a10
53.7 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录