人大金仓学习之四-kmonitor

人大,学习,kmonitor · 浏览次数 : 49

小编点评

**Kmonitor Server Background and Configuration** **Introduction:** Kmonitor is an open-source software package that simplifies the management of large datasets by providing centralized monitoring and alerting capabilities. **Key Features:** - Background process for persistent data collection and analysis. - Supports multiple data sources, including Prometheus, Consul, and Kingbase. - Provides an intuitive graphical user interface for easy configuration and management. **Configuration:** * **Server Settings:** - Kmonitor server address and port. - Configuration file path. - Database credentials and settings. - Alerting and notification settings. * **Data Sources:** - Prometheus configuration. - Consul configuration. - Kingbase exporter configuration. - Node exporter configuration. * **Monitoring Rules:** - Define rules for collecting and alerting on various metrics. - Configure alert channels for notifications. **Installation:** 1. Download the Kmonitor server binary. 2. Set up the server configuration file. 3. Start the server process. 4. Access the server URL in the browser. **User Management:** 1. Create a user with `kmonitor` role. 2. Configure permissions and access levels. 3. Start the user service. **Usage:** 1. Define monitoring rules. 2. Set up alerts and notifications. 3. Review and analyze monitoring data in the dashboard. **Note:** - The server requires root privileges for installation and configuration. - The server can be installed on different machines, including the same machine as Kingbase. - The configuration file can be modified to customize server behavior.

正文

人大金仓学习之四-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;


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=()


修改新增参数文件

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'

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


重启数据库

sys_ctl -D /opt/Kingbase/ES/V8/data/

kmonitor 处理

将 kmonitor 放置到 /opt/kingbase 目录下面.
注意大小写与数据库不一样 

主要是修改   /opt/kingbase/kmonitor/kmonitor.properties 
里面的配置文件.

主要是修改服务器的用户密码登信息
然后执行  ./kmonitor.sh  start 启动数据库服务  

然后需要执行 cd /opt/kingbase/kmonitor/scripts

执行一下
./register.sh 

界面查看

http://ip:3000
账户为: 
admin具有增删改查权限(默认密码K1ngb@se),
kingbase用户仅查看权限(默认密码kingbase)

然后可以进行查看部分信息

界面查看

与人大金仓学习之四-kmonitor相似的内容:

人大金仓学习之四-kmonitor

# 人大金仓学习之四-kmonitor ## 背景 ``` kmonitor 其实时一个很好的工具和思路 开元的软件封装一下, 减轻技术复杂度,提高部署效率 并且能够更加快速的定位解决问题. 能够极大的提升客户体验. 并且界面比较好看, 比kwr 看起来高大上多了. 不仅可以解决部分实际问题, 也可

Jmeter学习之四_kingbaseV8R6数据库的简单验证

# Jmeter学习之四_kingbaseV8R6数据库的简单验证 ## 背景 ``` 周一没去报道, 因为我忘记体检了... 继续在家进行学习提高自己. jmeter周末时开始看的. 今天想着继续研究一下对数据库的处理 突然发现人大金仓的官方csdn有一个文档, 所以想着偷师,并且总结学习一下.

Jmeter学习之五_跟踪被测试服务器的performance

# Jmeter学习之五_跟踪被测试服务器的performance ## 背景 ``` 这几天简单学习了一些基本的测试过程. 可以实现一些简单基本的功能了. 今天晚上继续进行了jmeter的一些学习. 想着可以在测试人大金仓的同时可以查看一下本地的机器性能. ``` ## 用到的工具以及资料 ```

人大金仓学习之一_kwr的简单学习

# 人大金仓学习之一_kwr的简单学习 ## 摘要 ``` 周末在家想着学习一下数据库相关的内容. 网上找了不少资料, 想着直接在本地机器上面进行一下安装与验证 理论上linux上面应该更加简单. windows 上面可能不如linux方便 主要是记录一下使用和注意事项. ``` ## ISO下载

人大金仓学习之二_ksh和kddm的学习

# 人大金仓学习之二_ksh和kddm的学习 ## 摘要 ``` 承接上一篇文章 主要是这里总结一下ksh相关的文档. 这里学习了很多文档: https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-opt

人大金仓学习之三-表空间与跨磁盘存储和分区表

# 人大金仓学习之三-表空间与跨磁盘存储和分区表 ## 背景 ``` 最近在用人大金仓的数据库. 前期学习了 kwr和ksh等工具. 今天想验证一下性能相关的情况. 因为机器正好有多个磁盘的分区. 想着能够将所有的硬盘都用上. 提高性能, 感觉总体还不错, 所以想总结一下. 注意这里只考虑 OLTP

人大金仓备份恢复的简单学习

人大金仓备份恢复的简单学习 背景 最近公司里要适配人大金仓 想着最快的办法是将自己的数据库备份恢复到现场 发现备份很简单. 理论上恢复应该也类似. 想着能够模仿PG数据库的模式进行相关的操作. 备份操作 cd /opt/Kingbase/ES/V8/Server/bin/ ./sys_dump -h

[转帖]人大金仓数据库分区表

分区表 声明式创建分区 按列创建分区(PARTITION BY LIST) 将学员表student按所在城市使用partition by list创建分区 创建分区表(基表) 创建格式 create table 表名(字段名 数据类型)PARTITION BY LIST(要分区的字段名) 创建子分区

[转帖]人大金仓数据库的备份与还原

人大金仓数据库的备份与还原 文章目录 人大金仓数据库的备份与还原前言备份sys_dump 命令 还原ksql 命令sys_restore 一. 从人大金仓数据库备份还原到人大金仓数据库二 从postgresql数据库备份还原到人大金仓数据库 后记 前言 本文记录一次使用人大金仓数据库(Kingbas

人大金仓数据库连接异常简单分析查看的方法

# 人大金仓数据库连接异常简单分析查看的方法 ## 背景 ``` 这边一个测试环境,人大金仓4000的连接池 最近出现多次 连接池用光的问题. 想着简单分析一下. 给研发同事进行问题定位. 这里简单记录一下 ``` ## 问题流程 ``` 研发反馈数据库无法连接. 我这边之前部署了一套 kmonit