首页 > 其他分享 >人大金仓学习之四-kmonitor

人大金仓学习之四-kmonitor

时间:2023-07-21 22:55:45浏览次数:37  
标签:金仓 track stat kmonitor sys kwr 之四 PORT

人大金仓学习之四-kmonitor


背景

kmonitor 其实时一个很好的工具和思路
开元的软件封装一下, 减轻技术复杂度,提高部署效率
并且能够更加快速的定位解决问题. 能够极大的提升客户体验.

并且界面比较好看, 比kwr 看起来高大上多了. 
不仅可以解决部分实际问题, 也可以提高产品的产品力

下载地址

需要注意 这个组件官方没有下载地址,
需要联系原厂, 获取对应的安装截止. 

截止里面其实包含一套 grafana的安装和默认配置
包含一套java写的 kingbase_exporter
以及默认安装的一套prometheus
外加一个node_exporter

需要注意, 这个安装介质时区分架构和平台的. 

部署文档

2.1 创建kmonitor用户
使⽤system⽤户登陆监控⽬标数据库,执⾏scripts/KmonitorUserInit.sql中语句,创建kmonitor⽤户并进⾏授权
-- 创建监控用户
CREATE USER kmonitor with password 'kmonitor';
-- 添加用户标注
COMMENT ON ROLE kmonitor IS 'kingbase KMonitor user';
-- 授权监控用户
GRANT pg_monitor TO kmonitor;  -- V008R006 
GRANT SYS_SIGNAL_BACKEND TO kmonitor;  -- V008R003 
-- 授权监控用户使用kwr扩展
GRANT USAGE ON SCHEMA perf TO kmonitor;

如未开启kwr插件或不支持kwr插件版本执行以下语句创建perf schema:
CREATE SCHEMA IF NOT EXISTS perf;


Oracle模式下创建tps和qps的SQL

注:oracle模式执行
-- V008R006(oracle mode)

create or replace function perf.tps()
 returns int as $$
declare
 v1 int8;
 v2 int8;
 v3 int8;
begin
 select sum(xact_commit + xact_rollback) from sys_stat_database into v1;
 perform sys_sleep(1);
 perform sys_stat_clear_snapshot();
 select sum(xact_commit + xact_rollback) from sys_stat_database into v2;
 select v2-v1 into v3;
 return v3;
end;
$$ language plpgsql;

create or replace function perf.qps()
 returns int as $$
declare
 v1 int8;
 v2 int8;
 v3 int8;
begin
 select sum(calls) from sys_stat_msgaccum
 where message = 'Simple Query' or message = 'Execute' into v1;
 perform sys_sleep(1);
 perform sys_stat_clear_snapshot();
 select sum(calls) from sys_stat_msgaccum
 where message = 'Simple Query' or message = 'Execute' into v2;
 select v2-v1 into v3;
 return v3;
end;
$$ language plpgsql;


修改配置文件

shared_preload_libraries = 'liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze, src_restrict'
sys_stat_statements.track='all'

# 这里面再添加几个kwr需要使用的参数, 可以一并使用
track_activities = on
track_sql = on
track_instance = on
track_wait_timing = on
track_counts = on
track_io_timing = on
track_functions = 'all'
sys_stat_statements.track = 'top'
sys_stat_statements.track_parse = on
sys_stat_statements.track_plan = on
sys_kwr.enable = on
sys_kwr.history_days = 14
sys_kwr.interval = 30

可以用来生成 kwr报告:
select * from perf.create_snapshot();

再次执行
select * from perf.create_snapshot();

select * from perf.kwr_report_to_file(2,3,'html','/nvme01/kingbase/kwr/zhaobsh_002_003.html');

这个SQL可以查看表大小信息

select schemaname,relname,sys_size_pretty(sys_total_relation_size(relid)) from sys_stat_user_tables order by sys_relation_size(relid) desc limit 30;

---
## kmonitor的相关设置

其实只需要修改一个文件就可以了, 但是可能需要执行两个文件.
需要注意 kmonitor不一定需要运行到kingbase上面
可以在其他机器上面运行. 但是链接人大金仓就可以.

kmonitor server ("kmonitor" "prometheus" "consul" "kingbase_exporter" "node_exporter" "alertmanager")

KMONITOR_SERVER=("kmonitor" "prometheus" "consul" "kingbase_exporter" "node_exporter")

kmonitor config

KMONITOR_PORT=3000

prometheus config

PROMETHEUS_PORT=9090
STORAGE_TSDB_PATH="data"
STORAGE_TSDB_RETENTION_TIME="15d"
STORAGE_TSDB_RETENTION_SIZE="512MB"

kingbase_exporter config

KINGBASE_EXPORTER_PORT=1234

node_exporter config

NODE_EXPORTER_PORT=9100

consul config

CONSUL_SERVER_PORT=8300
CONSUL_SERF_LAN_PORT=8301
CONSUL_SERF_WAN_PORT=8202
CONSUL_HTTP_PORT=8500
CONSUL_DNS_PORT=8600
CONSUL_DATA="consul_data"

kingbase config

KINGBASE_ADDRESS="192.168.255.xxx"
KINGBASE_PORT=54321
KINGBASE_DB="test"
KINGBASE_USER="kmonitor"
KINGBASE_PASSWD="xxxx"

alertmanager config

ALERTMANAGER_PORT=9093
ALERTMANAGER_CLUSTER_PORT=9094

local install enable(1) disable(0)

KINGBASE_EXPORTER_LOCAL_INSTALL=1
NODE_EXPORTER_LOCAL_INSTALL=1
ALERTMANAGER_LOCAL_INSTALL=0

excluded application

EXCLUDED_PROCESS=("")

register config

CLUSTER="Kingbase集群"
USER="kingbase"
REGISTER_KINGBASE_LIST=("192.168.255.yyy_1234")
REGISTER_NODE_LIST=("192.168.255.xxx_9100")

deregister config

DEREGISTER_LIST=()

标签:金仓,track,stat,kmonitor,sys,kwr,之四,PORT
From: https://www.cnblogs.com/jinanxiaolaohu/p/17572546.html

相关文章

  • nacos适配达梦、瀚高、人大金仓数据库及部分源码探究
    一.插件实现1.插件目录结构2.pom依赖<dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-datasource-plugin</artifactId><version>2.2.4</version></d......
  • 人大金仓学习之三-表空间与跨磁盘存储和分区表
    人大金仓学习之三-表空间与跨磁盘存储和分区表背景最近在用人大金仓的数据库.前期学习了kwr和ksh等工具.今天想验证一下性能相关的情况.因为机器正好有多个磁盘的分区.想着能够将所有的硬盘都用上.提高性能,感觉总体还不错,所以想总结一下.注意这里只考虑OLTP比较......
  • 每日算法之四十六:Add Binary(二进制字符创相加)
    二进制字符创相加,通过进位的方式逐位考虑。也可以把相加的过程抽象成一个函数。Giventwobinarystrings,returntheirsum(alsoabinarystring).Forexample,a= "11"b= "1"Return "100".方法一:classSolution{public:stringaddBinary(stringa,string......
  • 每日算法之四十:Insert Interval
    Givenasetof non-overlappingYoumayassumethattheintervalswereinitiallysortedaccordingtotheirstarttimes.Example1:Givenintervals [1,3],[6,9],insertandmerge [2,5] inas [1,5],[6,9].Example2:Given [1,2],[3,5],[6,7],[8,10],[12,16],inser......
  • 金仓数据库python操作
    金仓数据库Python操作金仓数据库(Kingbase)是一种高性能的关系型数据库管理系统,其功能强大并且支持SQL语言,是企业级应用中常用的数据库之一。本文将介绍如何在Python中使用金仓数据库进行操作,并提供代码示例。安装金仓数据库驱动在使用Python操作金仓数据库之前,需要先安装相关的驱......
  • Jmeter学习之四_kingbaseV8R6数据库的简单验证
    Jmeter学习之四_kingbaseV8R6数据库的简单验证背景周一没去报道,因为我忘记体检了...继续在家进行学习提高自己.jmeter周末时开始看的.今天想着继续研究一下对数据库的处理突然发现人大金仓的官方csdn有一个文档,所以想着偷师,并且总结学习一下.感谢官网的资料.https......
  • 人大金仓学习之二_ksh和kddm的学习
    人大金仓学习之二_ksh和kddm的学习摘要承接上一篇文章主要是这里总结一下ksh相关的文档.这里学习了很多文档:https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-kddmhttps://help.kingbase.com.cn/v8/perfor/sql-op......
  • 人大金仓学习之一_kwr的简单学习
    人大金仓学习之一_kwr的简单学习摘要周末在家想着学习一下数据库相关的内容.网上找了不少资料,想着直接在本地机器上面进行一下安装与验证理论上linux上面应该更加简单.windows上面可能不如linux方便主要是记录一下使用和注意事项.ISO下载直接在人大金仓的官网上面......
  • 介绍人大金仓数据库
    人大金仓数据库是中国人民大学出版社推出的一款综合性数据库,汇集了大量的中文经济、金融、法律、政治、文化等领域的著作和期刊文章,以及各省市地方政府文件、各类法规、统计数据等。该数据库的主要特点包括:特别针对中国市场而设,大部分文献均为中文,提供广泛的学术研究资源。......
  • 转:ASP.NET Core Identity 系列之四
    转自:https://mp.weixin.qq.com/s?__biz=MzA3NDM1MzIyMQ==&mid=2247486183&idx=1&sn=baeb28f24399a9b0203f33185e1399a6这节我们主要介绍ASP.NETCoreIdentity认证,认证是决定用户是否能够成功登录应用程序的一个过程,用户通过提供自己的用户名和密码来证明他们自己是真实用户,当登......