kes监控组件安装
- 环境准备
- 创建监控用户
useradd -m -s /bin/bash -d /home/kmonitor kmonitor
passwd k_monitor
usermod –a –G kingbase kmonitor
- 检查java版本
java –version
[kmonitor@kingbase node_exporter]$ java -version
java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)
- 端口检查
PROMETHEUS_PORT:9091
KINGBASE_EXPORTER_PORT:1234
NODE_EXPORTER_PORT:9200
Kmonitor:3000
- 时间同步
查看监控浏览器的主机时间和监控服务器时间一致
# 服务器时区调整命令
timedatectl set-timezone Asia/Shanghai
# 服务器调整时间命令
date -s "yyyy-MM-dd HH:mm:ss"
- 安装
在主节点安装kingbase_export用于收集数据库监控数据(连接数、数据语句等),在每一个集群节点安装node_export用于收集节点主机监控数据(cpu利用率、内存、I/O等)
部署架构:
- 上传监控介质:
解压后形成monitor目录,结构如下:
其中:
kingbase_exporter:负责采集数据库信息,一个集群只需要安装一个
node_exporter:负责采集主机信息,集群每个节点都需要安装
prometheus:收集两个exporter采集的信息,并安装时间序列存储
kmonitor:相当于grafna,以图像化方式显示prometheus收集的监控信息
scripts:监控工具脚本
针对不同的数据库类型生成监控元数据
- 为被监控的数据库创建用户
/opt/Kingbase/ES/V8/Server/bin/ksql test system -f kingbase_exporter/init_sql/kmonitor_user.sql
- 配置kmonitor.properties文件(参数解释见附件)
# kmonitor server ("kmonitor" "prometheus" "consul" "kingbase_exporter" "node_exporter" "kingbase_alarm")
KMONITOR_SERVER=("kmonitor" "prometheus" "kingbase_exporter" "node_exporter")
KMONITOR_SERVER_ADDRESS="192.168.85.139"
KMONITOR_DATA_PATH=""
# start as TLS, enable(1) disable(0)
ENABLE_TLS=0
# kmonitor config
KMONITOR_PORT=3000
# prometheus config, type: consul, json.
PROMETHEUS_PORT=9091
PROMETHEUS_CONFIG_TYPE=json
# kingbase_exporter config
KINGBASE_EXPORTER_PORT=1234
# node_exporter config
NODE_EXPORTER_PORT=9200
# consul config
CONSUL_SERVER_PORT=8300
CONSUL_SERF_LAN_PORT=8301
CONSUL_SERF_WAN_PORT=8202
CONSUL_HTTP_PORT=8500
CONSUL_HTTPS_PORT=8501
CONSUL_DNS_PORT=8600
CONSUL_ACL_TOKEN=""
# kingbase config
KINGBASE_ADDRESS="192.168.85.139"
KINGBASE_PORT=54321
KINGBASE_DB="test"
KINGBASE_USER="kmonitor"
KINGBASE_PASSWD="ENC(xzTKCBNRPxyDtxzpDyqUfnMetWgQ3ZUF)"
# kingbase_alarm config
KINGBASE_ALARM_PORT=54545
# register config, clusterName_exporterIp_exporterPort
REGISTER_KINGBASE_LIST=("KingbaseCluster_192.168.85.139_1234")
REGISTER_NODE_LIST=("KingbaseCluster_192.168.85.139_9200")
# deregister config, clusterName_exporterIp_exporterPort
#DEREGISTER_LIST=("KingbaseCluster_0.0.0.0_1234")
# cron config
CRON_NAME=""
- 使用脚本部署监控组件
[kmonitor@kingbase monitor]$ ./kmonitor.sh start
[INFO] >> ############################################################
[INFO] >> KMonitor监控工具
[INFO] >> ############################################################
[INFO] >> kingbase_exporter 初始化完成
[INFO] >> kingbase_exporter 启动成功
[INFO] >> node_exporter 初始化完成
[INFO] >> node_exporter 启动成功
[INFO] >> kingbase_prometheus 初始化完成
[INFO] >> kingbase_prometheus 启动成功
[INFO] >> kmonitor 初始化完成
[INFO] >> kmonitor 启动成功
[INFO] >> ############################################################
日志在同路径下的:kmonitor.log
[kmonitor@kingbase monitor]$ ./kmonitor.sh register
[INFO] >> ############################################################
[INFO] >> KMonitor监控工具
[INFO] >> ############################################################
[INFO] >> KingbaseCluster - 192.168.85.139:1234 服务已提交注册!
[INFO] >> KingbaseCluster - 192.168.85.139:9200 服务已提交注册!
[INFO] >> ############################################################
- 查看监控状态
[kmonitor@kingbase monitor]$ ./kmonitor.sh status
[INFO] >> ############################################################
[INFO] >> KMonitor监控工具
[INFO] >> ############################################################
[INFO] >> kmonitor 服务正在运行
[INFO] >> kingbase_prometheus 服务正在运行
[INFO] >> kingbase_exporter 服务正在运行
[INFO] >> kingbase_node_exporter 服务正在运行
[INFO] >> ############################################################
- 浏览器查看监控数据
访问:kmonitor所在主机的ip:3000端口
默认用户名/密码:admin/K1ngb@se
- 附件参考
kmonitor.properties监控配置文件
参数名 | 默认值 | 注释 |
KMONITOR_SERVER | ("kmonitor" "prometheus" "consul" "kingbase_exporter" "node_exporter") | 必填,部署监控工具组件名 称,包括kmonitor、prometheus、consul、kingbase_exporter、node_exporter |
KMONITOR_SERVER_ADDRESS | “” | 监控服务器IP地址,脚本无法正确获取地址时手动填入 |
KMONITOR_DATA_PATH | “” | 监控服务采集数据和服务数 据存储路径 |
ENABLE_TLS | 0 | 是否开启HTTPS加密协议,关闭(0)开启(1) |
KMONITOR_PORT | 3000 | 必填,kmonitor可视化服务 端口号(grafna端口) |
PROMETHEUS_PORT | 9091 | 必填,prometheus采集及存储服务端口号 |
KINGBASE_EXPORTER_P ORT | 1234 | 必填,kingbase_exporter端口号 |
NODE_EXPORTER_PORT | 9200 | 必填,node_exporter端口号 |
CONSUL_SERVER_PORT | 8300 | 必填,consul内部服务端口 号 |
CONSUL_SERF_LAN_PORT | 8301 | |
CONSUL_SERF_WAN_PORT | 8202 | |
CONSUL_DNS_PORT | 8600 | |
CONSUL_HTTP_PORT | 8500 | 必填,consul http 端口号 |
CONSUL_HTTPS_PORT | 8501 | consul https 端口号, ENABLE_TLS参数开启时必 须配置 |
CONSUL_ACL_TOKEN | consul服务注册token | |
KINGBASE_ADDRESS | “0.0.0.0“ | 必填,数据库IP地址,填写数据库对外部应用开放的网络地址 |
KINGBASE_PORT | “54321” | 必填,数据库端口号 |
KINGBASE_DB | "test" | 必填,数据库名称 |
以下参数对应文件:kingbase_exporter/application.yml | ||
KINGBASE_USER | "kmonitor" | 必填,数据库监控用户名称 |
KINGBASE_PASSWD | "ENC(xzTKCBNRPxyDtxzp DyqUfnMetWgQ3ZUF)" | 必填,数据库监控用户密 码,默认为K1ngb@se#2024加密密码,可直接填入明文密码 |
REGISTER_KINGBASE_LIST | ("KingbaseCluster_0.0.0.0_1 234") | 必填,数据库探针服务地址以下划线为分隔符前面为集群名称后面为IP地址,可填同时填写多个集群信息,多个服务逗号分隔,e.g.:(“cluster1_node11_1234““cluster1_node12_1234““cluster2_node21_1234“) |
结束 | ||
以下node_export信息,在prometheus配置里面:prometheus/prometheus_consul.yaml | ||
REGISTER_NODE_LIST | ("KingbaseCluster_0.0.0.0_9200") | 必填,服务器探针服务地址,使用方式同REGISTER_KINGBASE_LIST |
DEREGISTER_LIST | 需要注销的服务信息,使用方式同REGISTER_KINGBASE_LIST | |
CRON_NAME | 操作系统crontab命令 |
passwd_kmonitor.sh
修改数据库kmonitor用户密码,自动替换kmonitor.properties中密码参数,禁止直接传入明文密码时使用passwd_kmonitor_en.sh脚本可支持传入base64加密密码,使用方法一致
# 使用方法:
bash monitor/scripts/passwd_kmonitor.sh "明文密码"
# 加密脚本使用方法:
bash monitor/scripts/passwd_kmonitor_en.sh "base64密码"
相关文章:

kes监控组件安装
环境准备 创建监控用户 useradd -m -s /bin/bash -d /home/kmonitor kmonitor passwd k_monitor usermod –a –G kingbase kmonitor 检查java版本 java –version [kmonitorkingbase node_exporter]$ java -version java version "1.8.0_341" Java(TM) SE …...

React-Native Android 多行被截断
1. 问题描述: 如图所示: 2. 问题解决灵感: 使用相同的react-native代码,运行在两个APP(demo 和 project)上。demo 展示正常,project 展示不正常。 对两个页面截图,对比如下。 得出…...

深度学习【Logistic回归模型】
回归和分类 回归问题得到的结果都是连续的,比如通过学习时间预测成绩 分类问题是将数据分成几类,比如根据邮件信息将邮件分成垃圾邮件和有效邮件两类。 相比于基础的线性回归其实就是增加了一个sigmod函数。 代码 import matplotlib.pyplot as plt i…...

数据科学与计算
1.设计目标与安装 Seaborn 是一个建立在 Matplotlib 基础之上的 Python 数据可视化库,专注于绘制各种统计图形,以便更轻松地呈现和理解数据。Seaborn 的设计目标是简化统计数据可视化的过程,提供高级接口和美观的默认主题,使得用…...
Swift与iOS内存管理机制深度剖析
前言 内存管理是每一位 iOS 开发者都绕不开的话题。虽然 Swift 的 ARC(自动引用计数)极大简化了开发者的工作,但只有深入理解其底层实现,才能写出高效、健壮的代码,避免各种隐蔽的内存问题。本文将从底层原理出发&…...

怎样给MP3音频重命名?是时候管理下电脑中的音频文件名了
在处理大量音频文件时,给这些文件起一个有意义的名字可以帮助我们更高效地管理和查找所需的内容。通过使用专业的文件重命名工具如简鹿文件批量重命名工具,可以极大地简化这一过程。本文将详细介绍如何利用该工具对 MP3 音频文件进行重命名。 步骤一&am…...
当AI浏览器和AI搜索替代掉传统搜索份额时,老牌的搜索引擎市场何去何从。
AI搜索与传统搜索优劣势分析 AI搜索优势 理解和处理查询方式更智能:利用自然语言处理(NLP)和机器学习技术,能够更好地理解用户的意图和上下文,处理复杂的问答、长尾问题以及多轮对话,提供更为精准和相关的…...

快速上手非关系型数据库-MongoDB
简介 MongoDB 是一个基于文档的 NoSQL 数据库,由 MongoDB Inc. 开发。 NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 MongoDB 的设计理念是为了应对大数据量、…...

【C++学习笔记】深入理解虚函数和多态
文章目录 1. 基本概念1.1 虚函数1.2 虚函数表1.3 虚函数表指针1.4 虚函数表在支持多态方面的工作原理 2. 类对象在内存中的布局参考 1. 基本概念 1.1 虚函数 类的成员函数,并不占用类对象的内存空间。 类中有虚函数,编译器会向类中插入一个看不见的成…...
STM32F103C8T6信息
STM32F103C8T6 完整参数列表 一、核心参数 内核架构 ARM Cortex-M3 32位RISC处理器 最大主频:72 MHz(基于APB总线时钟) 运算性能:1.25 DMIPS/MHz(Dhrystone 2.1基准) 总线与存储 总线宽度ÿ…...
用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
目录 前言一、现实场景1.1 手机相册的照片管理1.2 照片分类的需求 二、技术映射2.1 数组与照片分类的对应关系2.2 数组索引与照片标签的类比 三、知识点呈现3.1 数组的基本概念3.2 数组在编程中的重要性3.3 数组的定义与初始化3.4 数组的常见操作(增删改查ÿ…...

Node.js CSRF 保护指南:示例及启用方法
解释 CSRF 跨站请求伪造 (CSRF/XSRF) 是一种利用用户权限劫持会话的攻击。这种攻击策略允许攻击者通过诱骗用户以攻击者的名义提交恶意请求,从而绕过我们的安全措施。 CSRF 攻击之所以可能发生,是因为两个原因。首先,CSRF 攻击利用了用户无法辨别看似合法的 HTML 元素是否…...

【Linux】VSCode用法
描述 部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 安装环境及运行C/C 1.1 安装及配置步骤 1.2 运…...

来聊聊JVM中安全点的概念
文章目录 写在文章开头详解safepoint基本概念什么是安全点?为什么需要安全点JVM如何让线程跑到最近的安全点线程什么时候需要进入安全点JVM如何保证线程高效进入安全点如何设置安全点用一次GC解释基于安全点的STW实践-基于主线程休眠了解安全点的工作过程代码示例基于日志印证…...
【AI面试准备】负责所有Al产品的模型能力评估及测试,保障AI产品的质量
面试岗位提出这个要求:负责所有Al产品的模型能力评估及测试,保障AI产品的质量。 目录 **一、AI产品模型评估的核心框架**1. **评估维度全景图**2. **质量保障全流程****二、关键模型类型评估策略**1. **分类模型(如推荐系统)**2. **生成模型(如GPT、Stable Diffusion)**…...

Nginx — http、server、location模块下配置相同策略优先级问题
一、配置优先级简述 在 Nginx 中,http、server、location 模块下配置相同策略时是存在优先级的,一般遵循 “范围越小,优先级越高” 的原则,下面为你详细介绍: 1. 配置继承关系 http 块:作为全局配置块&…...
mysql数据库备份与恢复方法
一、备份方法 逻辑备份(基于SQL语句) 使用mysqldump工具 全库备份:mysqldump -u root -p --all-databases > all_databases_backup.sql单库备份:mysqldump -u root -p jztdb > full_backup.sql排除特定表:--igno…...
实验三 软件黑盒测试
实验三 软件黑盒测试使用测试界的一个古老例子---三角形问题来进行等价类划分。输入三个整数a、b和c分别作为三角形的三条边,通过程序判断由这三条边构成的三角形类型是等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。其中要求输入变量&#x…...

线性代数—向量与矩阵的范数(Norm)
参考链接: 范数(Norm)——定义、原理、分类、作用与应用 - 知乎 带你秒懂向量与矩阵的范数(Norm)_矩阵norm-CSDN博客 什么是范数(norm)?以及L1,L2范数的简单介绍_l1 norm-CSDN博客 范数(Norm…...
Umi-OCR项目(1)
最近接触到了一个项目,我在想能不能做出点东西出来。 目标:识别一张带表格的图片,要求非表格内容和表格内容都要识别得很好,并且可视化输出为word文档。 下面是第一步的测试代码,测试是否能够调用ocr能力。 import re…...

【业务领域】电脑主板芯片电路结构
前言 由前几期视频合集(零基础自学计算机故障排除—7天了解计算机开机过程),讲解了POST的主板软启动过程;有不少网友留言、私信来问各种不开机的故障,但大多网友没能能过我们的这合集视频,很好的理清思路,那这样的情况…...

pandas读取Excel数据(.xlsx和.xls)到treeview
对于.xls文件,xlrd可能更合适,但需要注意新版本的xlrd可能不支持xlsx,不过用户可能同时需要处理两种格式,所以可能需要结合openpyxl和xlrd?或者直接用pandas,因为它内部会处理这些依赖。 然后,…...
【Nginx】负载均衡配置详解
Nginx作为高性能的HTTP服务器和反向代理服务器,提供了强大的负载均衡功能。本文将详细介绍Nginx负载均衡的配置方法和相关策略。 一、基础负载均衡配置 1.单服务示例配置 配置nginx.conf模块 在Nginx配置文件中定义upstream模块: worker_processes a…...

JVM——垃圾收集策略
GC的基本问题 什么是GC? GC 是 garbage collection 的缩写,意思是垃圾回收——把内存(特别是堆内存)中不再使用的空间释放掉;清理不再使用的对象。 为什么要GC? 堆内存是各个线程共享的空间,…...

马克·雷伯特:用算法让机器人飞奔的人
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 马克雷伯特:用算法让机器人飞奔的人 一、天才的起点 在机器人领域,有一个名字如雷贯耳——马克雷伯特(Marc Raibert)。作为波士顿动力公司(Boston…...

信创系统资产清单采集脚本:主机名+IP+MAC 一键生成 CSV
原文链接:信创系统资产清单采集脚本:主机名IPMAC 一键生成 CSV Hello,大家好啊!今天给大家带来一篇在信创终端操作系统上自动批量采集主机名、IP 和 MAC 并导出为 CSV 表格的实战文章!本方案使用 sshpass 和 Bash 脚本…...

SpringBoot获取用户信息常见问题(密码屏蔽、驼峰命名和下划线命名的自动转换)
文章目录 一、不返回password字段二、返回的createTime和updateTime为空原因解决:开启驼峰命名和下划线命名的自动转换 设置返回的日期格式 一、不返回password字段 在字段上面添加JsonIgnore注解即可 JsonIgnore // 在把对象序列化成json字符串时,忽略…...
小刚说C语言刷题—1602总分和平均分
1.题目描述 期末考试成绩出来了,小明同学语文、数学、英语分别考了 x、y、z 分,请编程帮助小明计算一下,他的总分和平均分分别考了多少分? 输入 三个整数 x、y、z 分别代表小明三科考试的成绩。 输出 第 11行有一个整数&…...
C++编译之(5)-cmake/CMakeLists.txt的编译使用教程
C++编译之(5)-cmake/CMakeLists.txt的编译使用教程 上一节,点这里 1、如何查看cmake的配置参数 那么如何查看当前配置的参数呢,我们可以使用-L参数 cmake .. -L # cmake .. -LAH完全使用命令行,则可以通过多次重复使用cmake … -DOPTION1=ON -D OPTION2=ON配置制定选项;并…...

Mac下安装Python3,并配置环境变量设置为默认
下载Python 访问Python官方网站 https://www.python.org/ 首先获得python3安装路径 执行命令: which python3 以我这台电脑为例,路径为:/Library/Frameworks/Python.framework/Versions/3.9/bin/python3 编辑 bash_profile 文件 然后用 vim 打…...