首页 > 其他分享 >openGauss service子命令

openGauss service子命令

时间:2024-04-17 20:46:30浏览次数:28  
标签:service database -- 配置 DBMind 命令 openGauss

service子命令

该子命令可用于对配置目录进行初始化,同时也可以实现启动和停止后台任务。

配置目录初始化

用户可通过 gs_dbmind service setup 子命令进行配置目录的初始化。该配置文件中可包括DBMind的配置文件、日志等内容。该目录中的部分文件说明:

  • dbmind.conf:DBMind的参数配置文件,用户可通过 gs_dbmind set 命令进行修改,也可通过文本编辑器进行手动修改。
  • dynamic_config.db:DBMind服务保存在本地节点的元信息,主要包括算法的超参数、监控阈值等;该文件为DBMind服务元信息,不可由用户直接配置。
  • metric_map.conf:监控指标映射表,可用于适配到不同采集平台中。例如,在DBMind中,监控到的系统cpu使用率名为os_cpu_usage, 而用户自行实现的指标采集工具将cpu使用率命名为my_cpu_usage_rate. 则在该种情况下,如果想要DBMind代表cpu使用率的指标名为my_cpu_usage_rate, 则需要修改该配置选项。即添加“os_cpu_usage = my_cpu_usage_rate”配置项进行映射。对于普通用户,建议直接使用DBMind配套的采集组件和方案,则不涉及修改该配置文件。
  • logs: 该目录中用于存储DBMind服务产生的日志。

用户可通过两种方式进行配置目录的初始化,一种为交互式,另一种为非交互式。例如,待初始化的配置目录名为confpath, 则分别通过下述方法进行配置:

交互式模式

gs_dbmind service setup -c confpath --interactive

执行完毕上述命令后,用户可通过命令行终端对配置项进行交互式配置。

非交互式模式

非交互式模式总共分为三个步骤,即启动配置,修改配置项,初始化配置。其中第二个步骤需要用户通过文本编辑器手动编辑配置文件。具体步骤如下:

  1. 启动配置,执行下述命令:

    gs_dbmind service setup -c confpath
    
  2. 执行完上述命令后,会在confpath目录下生成dbmind.conf配置文件,用户需要利用文本编辑器进行手动修改。相关参数的说明如下:

    # TSDB 部分用于指定监控数据库系统的指标存储位置,目前只支持Prometheus.
    # 此处,必填项为Prometheus的IP地址和端口号,其他选项(如username, password, ssl证书信息)取决于用户配置,非必须。
    [TSDB]
    name = prometheus # The type of time-series database. Options: prometheus.
    host = # Address of time-series database.
    port = # Port to connect to time-series database.
    username = (null) # User name to connect to time-series database.
    password = (null) # Password to connect to time-series database.
    ssl_certfile = (null) # The certificate file for ssl connections.
    ssl_keyfile = (null) # Certificate private key file.
    ssl_keyfile_password = (null) # Password for ssl keyfile.
    ssl_ca_file = (null)  # CA certificate to validate requests.
    
    # METADATABASE 部分用于指定DBMind生成的分析结果的存储位置。
    # 当前支持的数据库类型有SQLite, openGauss以及PostgreSQL. 如果使用openGauss数据库的话,注意Python驱动psycopg2的兼容性问题,用户可以选择使用openGauss官方提供的驱动,也可以通过自行编译或修改GUC参数进行适配。
    # 其他信息为连接到该数据库的连接信息,注意用户需要有数据库创建权限。
    [METADATABASE]
    dbtype = sqlite # Database type. Options: sqlite, opengauss, postgresql.
    host = # Address of meta-data database.
    port = # Port to connect to meta-data database.
    username = # User name to connect to meta-data database.
    password = (null) # Password to connect to meta-data database.
    database = # Database name to connect to meta-data database.
    
    # WORKER 用于指定DBMind可以使用的worker子进程数量,如果写0则会进行自适应,即尽可能多地使用CPU资源。
    [WORKER]
    process_num = 0  # Number of worker processes on a local node. Less than or equal to zero means adaptive.
    
    # AGENT 部分用于指定DBMind连接到openGauss Agent的信息。通过使用该Agent,可以让DBMind获取到被监控实例的即时状态,从而提高分析准确性。同时,也可以向数据库实例下发一些变更动作,如结束某条慢SQL语句(这取决于此处配置的用户是否有足够的权限)。
    # 该master_url 地址即为Agent的地址,由于openGauss-exporter承担了Agent的角色,故改地址也就是openGauss-exporter 的地址。
    # 同时,openGauss-exporter是支持Https协议的,所以,此处也可以根据配置指定SSL证书。
    [AGENT]
    master_url =  # The agent URL of the master node. e.g., https://127.0.0.1:9187.
    username = # Username to login the monitoring database. Credential for agent.
    password = # Password to login the monitoring database. Credential for agent.
    ssl_certfile = (null) # The certificate file for ssl connections.
    ssl_keyfile = (null) # Certificate private key file.
    ssl_keyfile_password = (null) # Password for ssl keyfile.
    ssl_ca_file = (null)  # CA certificate to validate requests.
    
    # SELF-MONITORING 表示“自监控”配置,用于配置监控数据库实例时的参数。
    # detection_interval 表示周期性检查任务的执行频次,单位是秒;
    # last_detection_time 表示每一次检查任务使用的最近数据长度;
    # forecasting_future_time 表示时序预测特性预测未来时间的长度;
    # golden_kpi 表示“黄金KPI”,即重点关注的监控指标;
    # result_storage_retention 表示诊断结果的最长保存时间。
    [SELF-MONITORING]
    detection_interval = 600  # Unit is second. The interval for performing health examination on the openGauss through monitoring metrics.
    last_detection_time = 600  # Unit is second. The time for last detection.
    forecasting_future_time = 3600  # Unit is second. How long the KPI in the future for forecasting. Meanwhile, this is the period for the forecast.
    # The following golden_kpi of monitoring system is vital.
    golden_kpi = os_cpu_usage, os_mem_usage, os_disk_usage, gaussdb_qps_by_instance  # DBMind only measures and detects the golden metrics in the anomaly detection processing.
    result_storage_retention = 604800  # Unit is second. How long should the results retain? If retention is more than the threshold, DBMind will delete them.
    
    # SELF-OPTIMIZATION 表示“自优化”配置,可以修改下述参数配置,对DBMind的优化结果进行干预,一般使用默认值即可。
    # optimization_interval 的优化任务执行间隔;
    # max_reserved_period 优化结果的最大保存时间;
    # max_index_num 索引建议结果上限;
    # max_index_storage 推荐出的索引的页面占用磁盘空间的上限;
    # max_template_num 索引推荐使用的SQL模板记录SQL语句的上限;
    # kill_slow_query 是否启动慢SQL自动查杀,如果启动慢SQL自动查杀,可以通过set子命令设置查杀阈值,例如将查杀阈值设置为70秒,该值应为正整数,单位是秒:
    # gs_dbmind set slow_sql_threshold max_elapsed_time 70
    [SELF-OPTIMIZATION]
    optimization_interval = 86400  # Unit is second. The interval for generating report.
    max_reserved_period = 100 # Unit is day. Maximum retention time.
    max_index_num = 10 # Maximum number of advised indexes.
    max_index_storage = 100 # Unit is MB.
    max_template_num = 5000 # Maximum number of templates.
    kill_slow_query = false  # Whether to actively check and kill slow query. The default elapsed time of a slow query to be killed is 1 minute.
    
    # LOG表示设置DMBind的日志记录信息。
    [LOG]
    maxbytes = 10485760 # Default is 10Mb. Maximum size of a single log file. If maxbytes is zero, the file grows indefinitely.
    backupcount = 1 # Number of backups of log files.
    level = INFO  # Options: DEBUG, INFO, WARNING, ERROR.
    
    # 下列内容表示给用户进行交互配置时的提示信息,用户无需配置。
    [COMMENT]
    worker = The form of executing compute-intensive tasks. Tasks can be executed locally or distributed to multiple nodes for execution.
    tsdb = Configure the data source for time series data, which come from monitoring the openGauss instance.
    metadatabase = Configure the database to record meta-data, which the database can store meta-data for the forecasting and diagnosis process. The database should be an openGauss instance.
    self-monitoring = Set up parameters for monitoring and diagnosing openGauss instance.
    self-optimization = Set up parameters for openGauss optimization.
    
    
  3. 待用户手动修改完上述参数后,需要执行下述命令进行配置项的初始化。在该阶段中,DBMind会初步检查配置项的正确性、初始化用于存储结果数据的元数据库表结构和内容,同时也加密配置项中出现的明文密码。

    gs_dbmind service setup --initialize -c confpath
    
  4. 完成配置目录初始化过程,可基于该配置目录启动DBMind后台服务。

说明:

  1. 配置文件注释信息用于在交互模式下对用户进行提示,有特殊含义不要手动修改或删除;
  2. 需要确保配置项的值与注释信息之间通过空格符分割,否则系统会将注释信息识别为配置项的值;
  3. 配置项中的特殊字符,如果需要转移,则通过转义符“百分号”(%)来转义,例如,用户配置的密码为 "password%", 则应通过“百分号”进行转义,即 "password%%"。

启动服务

当用户完成配置目录的初始化后,可基于此配置目录启动DBMind后台服务。例如配置目录为confpath,则启动命令如下:

gs_dbmind service start -c confpath

当执行上述命令后,会提示服务已启动。在未指定任何附加参数时,该命令默认会启动所有的后台任务。如果用户只想启动某一个后台任务,需要添加参数 --only-run. 例如,用户只想启动慢SQL根因分析服务,则为:

gs_dbmind service start -c confpath --only-run slow_query_diagnosis

关闭服务

关闭服务与启动服务类似,其命令行结构更加简单,只需指定配置目录的地址即可。例如配置目录为confpath,则为:

gs_dbmind service stop -c confpath

DBMind服务会在后台执行完正在运行的任务后自行退出。

注意:

  • [METADATABASE]中的元数据库用户需要具有在该数据库下的创表和数据插入更新权限,否则工具执行会出现异常。
  • 当前不支持同一配置文件下分开启动多个服务。
  • 工具提供了requirement.txt文件,用户可以通过该文件安装所需的第三方依赖。

命令参考

用户可以通过 --help 选项获得该模式的帮助信息,例如:

gs_dbmind service --help
usage: service [-h] -c DIRECTORY [--only-run {slow_query_diagnosis,forecast}] [--interactive | --initialize] {setup,start,stop}

positional arguments:
  {setup,start,stop}
                        perform an action for service

optional arguments:
  -h, --help            show this help message and exit
  -c DIRECTORY, --conf DIRECTORY
                        set the directory of configuration files
  --only-run {slow_query_diagnosis,forecast}
                        explicitly set a certain task running in the backend
  --interactive         configure and initialize with interactive mode
  --initialize          initialize and check configurations after configuring.

表 1 gs_dbmind service 子命令说明

参数

参数说明

取值范围

action

动作参数

  • setup:初始化配置目录。
  • start:服务启动。
  • stop:服务停止。

-c,--conf

配置文件目录地址

-

--initialize

配置参数初始化

-

--interactive

交互式输入配置参数

-

--only-run

选择只运行的模块

  • forecast:预测模块。
  • slow_query_diagnosis:慢SQL根因分析模块。

-h, --help

帮助命令

-

标签:service,database,--,配置,DBMind,命令,openGauss
From: https://www.cnblogs.com/renxyz/p/18141701

相关文章

  • openGauss set子命令
    set子命令该命令用于修改配置文件dbmind.conf中的参数值,与用户手动修改配置文件dbmind.conf一般无差异。例如修改配置目录confpath中的配置文件dbmind.conf中TSDB配置部分,host参数的值,并将其设置为127.0.0.1。则可通过下述命令实现:gs_dbmindsetTSDBhost127.0.0.1-cconfpa......
  • openGauss Prometheus-Exporter组件常见问题处理
    常见问题处理提示需要用户提供--ssl-keyfile与--ssl-certfile选项:上述exporter默认采用Https模式通信,因此需要用户指定证书及其私钥文件的路径。相反,如果用户只想采用Http模式,则需要显性给定--disable-https选项,从而禁用Https协议。提示用户需要输入PEM密码(EnterPEMpass......
  • openGauss Prometheus-Exporter组件环境部署
    环境部署用户可以从Prometheus的官网上下载Prometheus-server和node-exporter,然后根据官方文档中的说明启动它们;也可以通过DBMind提供的快捷部署工具进行部署;如果用户自行部署,则可以跳到部署过程中为支持部署位置正确以及后续的运行和监测...。通过命令行进行Prometheus和......
  • openGauss plpython-fenced模式
    PLPythonFenced模式在fenced模式中添加plpython非安全语言。在数据库编译时需要将python集成进数据库中,在configure阶段加入--with-python选项。同时也可指定安装plpython的python路径,添加选项--with-includes='/python-dir=path'。在启动数据库之前配置GUC参数unix_socket_dir......
  • openGauss X-Tuner-参数调优与诊断获取帮助
    获取帮助启动调优程序之前,可以通过如下命令获取帮助信息:gs_dbmindcomponentxtuner--help输出帮助信息结果如下:usage:[-h][--databaseDATABASE][--db-userDB_USER][--db-portDB_PORT][--db-hostDB_HOST][--host-userHOST_USER][--host-ssh-portHOST_SSH_PORT......
  • openGauss X-Tuner-参数调优与诊断命令参考
    命令参考表1命令行参数参数参数说明取值范围mode指定调优程序运行的模式train,tune,recommend--tuner-config-file,-xX-Tuner的核心参数配置文件路径,默认路径为安装目录下的xtuner.conf---db-config-file,-f调优程序的用于登录到数据库宿主机上的连......
  • openGauss X-Tuner-参数调优与诊断使用示例
    使用示例X-Tuner支持三种模式,分别是获取参数诊断报告的recommend模式、训练强化学习模型的train模式、以及使用算法进行调优的tune模式。上述三种模式可以通过命令行参数来区别,通过配置文件来指定具体的细节。配置数据库连接信息三种模式连接数据库的配置项是相同的,有两种方式:......
  • openGauss workload级别索引推荐
    workload级别索引推荐对于workload级别的索引推荐,用户可通过运行数据库外的脚本使用此功能,本功能将包含有多条DML语句的workload作为输入,最终生成一批可对整体workload的执行表现进行优化的索引。同时,本功能提供从日志中或系统表中抽取业务数据SQL流水的功能。前提条件数据库......
  • openGauss X-Tuner-参数调优与诊断常见问题处理
    常见问题处理数据库实例连接失败:请检查数据库实例的情况,是否数据库实例出现了问题或安全权限配置(pg_hba.conf文件中的配置项)不正确。重启失败:请检查数据库实例健康情况,确保数据库实例工作正常。跑TPC-C作业时发现性能越来越慢:TPC-C等高并发场景下的压力测试,往往伴随着大量的数......
  • openGauss SQLdiag-慢SQL发现获取帮助
    获取帮助使用SQLdiag工具前,您可以通过以下指令获取帮助。gs_dbmindcomponentsqldiag--help显示如下帮助信息:usage:[-h][-fCSV_FILE][--predicted-filePREDICTED_FILE][--model{template,dnn}]--model-pathMODEL_PATH[--config......