-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pika观测性支持 #1218
Comments
目前在生产环境中,关于pika的log、metrics、trace这三方面的监控方案大家都是怎么做的? 可以结合实际情况,从以下几个方面阐述下:
|
1.可视化每个rocksdb instance的每个CF的每个level大小信息,可以快速诊断是否出现倒三角 LSM树等问题。 std::vector<rocksdb::ColumnFamilyHandle*> cf = dbins->()->getCFH();
int total_lev = db->NumberLevels();
for(auto&item:cf){
std::map<std::string, std::string> prop;
db->GetMapProperty(item,"rocksdb.cfstats", &prop);
cout<< "cf:" << item->GetName() <<endl;
for(int i=0;i<total_lev;i++){
string key = "compaction.L"+to_string(i)+".SizeBytes";
auto iter = prop.find(key);
if(iter !=prop.end()){
string key = "L"+to_string(i);
cout <<"\t"<< key << "\t" << iter->second <<endl;
}
}
cout << "sum:" << prop["compaction.Sum.SizeBytes"] <<endl;
} 2.可视化每个rocksdb instance的 block cache usage,包括writebuffer、index、filter使用比例,可快速了解性能原因,内存使用情况,目标是在饼图上展示,可用下面代码获取 std::map<std::string, std::string> values;
db->GetMapProperty(cf_handle,rocksdb::DB::Properties::kBlockCacheEntryStats, &values);
//具体包括:
bytes.data-block
deprecated-filter-block
bytes.filter-block
filter-meta-block
bytes.index-block
bytes.other-block
bytes.write-buffer
4.pika暴露http接口给grafna等监控系统抓数据(参考brpc的bvar),pika也应该有自己的 monitor ,用go写一个出来,里面自带UI,可以抓取pika的输出 ,UI 实现了几个关于基本性能的可视化显示。 |
1、使用pika时的整体架构是怎样的? 有直接使用的classic模式 v3.4.0 2、对于请求链路以及pika本身的监控,会关注哪些指标?使用了怎样的技术方案对指标数据进行采集、存储、展示和告警的? 自写python脚本采集(info all+slowlog),借助telegraf的exec插件采集数据。数据存入Victoria-Metrics数据库,grafana展示。 3、在搭建以及运维整个pika监控体系的过程中,有遇到过哪些问题吗?后续期望如何? sharding模式info 信息中 没有lag信息,只能通过pkcluster info slot去查 |
|
在 v3.5.0 版本我们新加了 pika_exporter 工具来监测 Pika 的可观测性指标,并在后期添加了一些新的指标来完善 Pika 的可观测性 #1388 #1733 #1751 #1736 #1560 #1696 @chenbt-hz @yaoyinnan @Mixficsol
|
No description provided.
The text was updated successfully, but these errors were encountered: