This topic describes the configuration files of OceanBase Database and the parameters in the configuration files.
Glossary
obd
OceanBase Deployer, a tool for installing and deploying OceanBase Database. For more information, see OceanBase Deployer.
OceanBase Database
- seekdb
- ODP
OBAgent
OBAgent is a monitoring and data collection framework for OceanBase Database. It supports both push and pull data collection modes to meet different application scenarios.
OCP
OceanBase Cloud Platform (OCP) is an enterprise-level management platform tailored for OceanBase clusters. It is compatible with all mainstream versions of OceanBase Database. OCP provides graphical management capabilities for OceanBase Database, including full lifecycle management of databases and related resources, monitoring and alerts, performance diagnostics, fault recovery, backup and restore, and more. It aims to help customers manage OceanBase Database more efficiently and reduce IT operation and maintenance costs and user learning costs. For more information, see OceanBase Cloud Platform.
OMS
MaaS
OceanBase MaaS (Model-as-a-Service) is a unified management platform for deploying and managing large models locally. It supports the loading, running, testing, and monitoring of mainstream open-source large models, providing stable, efficient, and observable model services for enterprise users.
PowerRAG
OceanBase PowerRAG deeply integrates vector retrieval capabilities with RAG technology, serving as the core for developing and running enterprise-level AI applications. PowerRAG supports the full lifecycle of intelligent agent workflows, from data access to model integration and business deployment. It provides accurate document retrieval capabilities through preconfigured document parsing strategies and advanced recall strategies. It also supports delivering industry-specific solutions through plugins and templates.
obconfigserver
OceanBase Configserver, which provides metadata registration, storage, and query services for OceanBase Database. For more information, see ob-configserver.
Prometheus
Prometheus is an open-source service monitoring system and time series database. It provides a general data model and fast data collection, storage, and query interfaces. For more information, see Prometheus.
Grafana
Grafana is an open-source data visualization tool that can visualize various metrics from data sources to provide a more intuitive understanding of system operation status and performance metrics. For more information, see Grafana.
Alertmanager
Alertmanager is an open-source alert management tool that handles alerts from monitoring systems like Prometheus. It provides features such as alert deduplication, grouping, routing, and muting. For more information, see Prometheus.
obbinlog
OceanBase Binlog service collects transaction logs from OceanBase Database and converts them into MySQL Binlog, primarily used for real-time data subscription scenarios. For more information, see OceanBase Binlog service.
oblogproxy
OceanBase's incremental log proxy service that connects to OceanBase and reads incremental logs, providing change data capture (CDC) capabilities to downstream services. For more information, see OceanBase Log Proxy Service.
Note
oblogproxy was renamed to obbinlog starting from V4.0.1.
Get a configuration file
OceanBase Database provides a sample configuration file for you to deploy a cluster. You can modify the sample configuration file based on your actual resources.
If you installed obd by downloading it directly, you can view the sample configuration file provided by obd in the
/usr/obd/exampledirectory.If you installed obd by decompressing the all-in-one installation package, you can view the sample configuration file provided by obd in the
~/.oceanbase-all-in-one/obd/usr/obd/exampledirectory.You can also view the sample configuration file provided by obd in the GitHub repository of obd.
Note
The configuration files are divided into two modes: the mini mode and the professional mode. The configuration items in the two modes are basically the same, but the specifications are slightly different. You can choose the mode based on your actual resources.
Mini mode: This mode is suitable for personal devices with at least 8 GB of memory. The names of the configuration files in this mode contain the
miniorminidentifier.Professional mode: This mode is suitable for high-end ECS instances or physical servers with at least 16 CPU cores and 64 GB of memory.
The following table describes the commonly used configuration files when you deploy OceanBase Database.
Configuration file |
Description |
Components included |
|---|---|---|
mini-local-example.yaml/local-example.yaml |
Sample configuration file for local single-node deployment. You do not need to configure user information. You can deploy an OceanBase Database instance on a single local node. | OceanBase Database |
mini-single-example.yaml/single-example.yaml |
Sample configuration file for single-node deployment. You need to configure user information. You can deploy an OceanBase Database instance on any node. | OceanBase Database |
mini-single-with-obproxy-example.yaml/single-with-obproxy-example.yaml |
Sample configuration file for single-node deployment with ODP. | OceanBase Database, ODP |
mini-distributed-example.yaml/distributed-example.yaml |
Sample configuration file for distributed deployment. | OceanBase Database |
mini-distributed-with-obproxy-example.yaml/distributed-with-obproxy-example.yaml |
Sample configuration file for distributed deployment with ODP. | OceanBase Database, ODP |
default-components-min.yaml/default-components.yaml |
Sample configuration file for distributed deployment with ODP. | OceanBase Database, ODP, OBAgent |
all-components-min.yaml/all-components.yaml |
Sample configuration file for distributed deployment of all components. | OceanBase Database, ODP, OBAgent, obconfigserver, oblogproxy, Prometheus, and Grafana |
In addition to the configuration files described in the preceding table, the example directory stores different configuration files in different folders to meet various scenarios. The following table describes the folders.
alertmanager: The configuration files in this folder are for deploying Alertmanager. You can use these configuration files to deploy Alertmanager separately or together with OceanBase Database, ODP, OBAgent, Prometheus, and Alertmanager.
autodeploy: The configuration files in this folder are for the obd cluster autodeploy command. You only need to modify the IP address and directory in the configuration file. obd will automatically generate the maximum specifications of the complete configuration based on the resources of the target machine and deploy and start the cluster.
grafana: The configuration files in this folder are for deploying Grafana. You can use these configuration files to deploy Grafana separately or together with Prometheus.
maas: The configuration files in this folder are for deploying MaaS. You can deploy MaaS separately based on the provided configuration files.
obagent: The configuration files in this folder are for deploying OBAgent. You can choose the configuration file corresponding to the OBAgent version you want to deploy and deploy OBAgent.
obbinlog-ce: The configuration files in this folder are for deploying the Binlog service. You can use these configuration files to deploy the Binlog service separately or together with OceanBase Database, ODP, obbinlog, and obconfigserver.
ob-configserver: The configuration files in this folder are for deploying obconfigserver. You can use these configuration files to deploy obconfigserver separately or together with OceanBase Database, ODP, and obconfigserver.
oblogproxy: The configuration files in this folder are for deploying oblogproxy. You can use these configuration files to deploy oblogproxy separately or together with OceanBase Database, ODP, obconfigserver, and oblogproxy.
obproxy: The configuration files in this folder are for deploying ODP. You can use these configuration files to deploy ODP separately or together with OceanBase Database.
oceanbase-3.x: The configuration files in this folder are for OceanBase Database of the 3.x version.
ocp: The configuration files in this folder are for deploying OCP. You can use these configuration files to deploy OCP separately or together with OceanBase Database and ODP.
oms: The configuration files in this folder are for deploying OMS. You can deploy OMS separately based on the provided configuration files.
powerrag: The configuration files in this folder are for deploying PowerRAG. You can deploy PowerRAG separately based on the provided configuration files.
prometheus: The configuration files in this folder are for deploying Prometheus. You can use these configuration files to deploy Prometheus separately or together with OceanBase Database and OBAgent.
scale_out: The configuration files in this folder are for the scale-out and component change features. You can execute the corresponding commands to scale out components or add or remove components based on the configuration files. For more information, see Scale out and change components.
Note
The scale_out directory provides configuration file examples for only some components. Currently, obd supports the addition of all components except obbinlog-ce, oms, seekdb, maas, and powerrag, and the scaling out of all components except oblogproxy, obbinlog-ce, oms, seekdb, maas, and powerrag.
seekdb: The configuration file examples in this directory are provided for deploying seekdb. You can deploy seekdb based on the provided configuration file examples.
Configuration file format
The configuration files in OceanBase Database have a fixed format. This topic explains the meanings of different modules in the configuration file.
# Only need to configure when remote login is required
# user: # ssh login configuration
# username: your username
# password: your password if needed
# key_file: your ssh-key file path if needed
# port: your ssh port, default 22
# timeout: ssh connection timeout (second), default 30
oceanbase-ce: # component name, the content under this module is the configuration for the component
servers: # list of nodes
- name: server1 # The name is optional. If not specified, the node name is the same as the IP address. Here, the node name is server1.
# Please do not use the hostname. Only the IP address is supported.
ip: 10.10.10.1
- name: server2
ip: 10.10.10.2
- name: server3
ip: 10.10.10.3
global: # global configuration. If the same configuration is specified for multiple nodes, you can specify it here.
# If a node has the same configuration as the global configuration, the node's configuration takes precedence.
devname: eth0
......
# Omitted for brevity.
# In this example, multiple OceanBase processes are deployed on a single node. Therefore, different processes use different ports.
# If you deploy an OceanBase cluster on multiple nodes, you can set the same port and path for all nodes.
server1: # node configuration. Here, the configuration is for server1, which is the server with the IP address 10.10.10.1. The node configuration has the highest priority.
mysql_port: 2881 # The external port for OceanBase Database. The default value is 2881.
rpc_port: 2882 # The internal port for OceanBase Database. The default value is 2882.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
zone: zone1
server2: # node configuration. Here, the configuration is for server2, which is the server with the IP address 10.10.10.2.
mysql_port: 2881 # The external port for OceanBase Database. The default value is 2881.
rpc_port: 2882 # The internal port for OceanBase Database. The default value is 2882.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
zone: zone2
server3: # node configuration. Here, the configuration is for server3, which is the server with the IP address 10.10.10.3.
mysql_port: 2881 # The external port for OceanBase Database. The default value is 2881.
rpc_port: 2882 # The internal port for OceanBase Database. The default value is 2882.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
zone: zone3
The following table describes the modules.
Module |
Description |
|---|---|
| user | Configures user information. We recommend that you use the admin user. The following table describes the configuration items under this module:
Notice |
| oceanbase-ce | The component name. The content under this module is the configuration for the component. |
| servers | The node information. For each server, you must specify the - name: server name (line break) ip: server IP format. You can specify multiple servers in this format. The server names must be unique. Alternatively, you can use the - <ip> (line break) - <ip> format to specify multiple servers. In this case, the - <ip> format is equivalent to - name: server IP (line break) ip: server IP. |
| global | The configuration under this module is the global configuration. If the same configuration is specified for multiple nodes, you can specify it here. If a node has the same configuration as the global configuration, the node's configuration takes precedence. |
| server1 | The configuration under this module is the node configuration. Here, server1 is used as an example. You need to modify the name to the name specified in the servers module. This indicates the server with the IP address 10.10.10.1.
Notice |
Configuration item description
This topic describes the configuration items of the components in the configuration file.
This topic uses the example/distributed-with-obproxy-example.yaml file as an example to describe the configuration items of the oceanbase-ce component. For more information about how to deploy OceanBase Database by using a configuration file, see Deploy OceanBase Database in standalone mode.
oceanbase-ce:
# version: 4.2.0.0
# package_hash: 1cbd1fde8c6d7695015265da09738478c97e0e2f908fca6745dc9cc531860e74
# tag: dev
servers:
- name: server1
# Please don't use hostname, only IP can be supported
ip: 10.10.10.1
- name: server2
ip: 10.10.10.2
- name: server3
ip: 10.10.10.3
global:
# Please set devname as the network adaptor's name whose ip is in the setting of severs.
# if set severs as "127.0.0.1", please set devname as "lo"
# if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"
# devname: eth0
# if current hardware's memory capacity is smaller than 50G, please use the setting of "mini-single-example.yaml" and do a small adjustment.
memory_limit: 64G # The maximum running memory for an observer
# The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.
system_memory: 30G
datafile_size: 192G # Size of the data file.
datafile_next: 200G # the auto extend step. Please enter an capacity, such as 2G
datafile_maxsize: 1T # the auto extend max size. Please enter an capacity, such as 20G
log_disk_size: 192G # The size of disk space used by the clog files.
scenario: htap
production_mode: true
enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true.
max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.
# observer cluster name, consistent with obproxy's cluster_name
appname: obcluster
enable_auto_start: true
install_utils: true
root_password: ****** # root user password
proxyro_password: ****** # proxyro user password, consistent with obproxy's observer_sys_password, can be empty
# ocp_agent_monitor_username: ocp_monitor
# ocp_agent_monitor_password: ****** # The password for obagent monitor user
# In this example , support multiple ob process in single node, so different process use different ports.
# If deploy ob cluster in multiple nodes, the port and path setting can be same.
server1:
# local_ip: 10.10.10.1
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
obshell_port: 2886 # Operation and maintenance port for OceanBase Database.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
# The directory for data storage. The default value is $home_path/store.
# data_dir: /data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
# redo_dir: /redo
zone: zone1
server2:
# local_ip: 10.10.10.2
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
zone_region: hangzhou
zone_idc: idc1
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
# The directory for data storage. The default value is $home_path/store.
# data_dir: /data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
# redo_dir: /redo
zone: zone2
server3:
# local_ip: 10.10.10.3
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /home/admin/observer
# The directory for data storage. The default value is $home_path/store.
# data_dir: /data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
# redo_dir: /redo
zone: zone3
The following table describes the configuration items that you need to pay attention to. For more information, see OceanBase Database configuration items.
Parameter |
Required |
Default value |
Description |
|---|---|---|---|
| version | Optional | The latest version. | The version of the component to be deployed. This parameter is usually not required. |
| package_hash | Optional | The latest version. | The hash of the component to be deployed. This parameter is usually not required. |
| tag | Optional | N/A | The tag of the component to be deployed. This parameter is usually not required. When you set a tag for the OceanBase Database installation package that you compile yourself, you can use the tag to specify. |
| servers | Required | N/A | For each server, use - name: server name (press Enter) ip: server IP address to specify. Specify the server multiple times if multiple servers are required. The server names cannot be repeated.If the server IP addresses are unique, you can also use - <ip> (press Enter) - <ip> to specify. In this case, - <ip> is equivalent to - name: server IP address (press Enter) ip: server IP address. |
| devname | Optional | N/A | The network card corresponding to the IP address specified in servers. You can run the ip addr command to view the IP address and network card correspondence.
NoteSince OceanBase Database V4.2.0, we do not recommend that you configure this parameter. |
| system_memory | Optional | 0M | The amount of system memory reserved. The value of this parameter will occupy the memory specified by memory_limit. If this parameter is not specified, OceanBase Database will adaptively determine the value. |
| scenario | Optional |
- When you run the
obd democommand to deploy, the default value isexpress_oltp. - When you deploy by using other commands, the default value is
htap.
express_oltp: suitable for workloads such as trade and payment core systems and high-throughput internet applications. These workloads have no foreign key constraints, stored procedures, long transactions, large transactions, complex joins, or complex subqueries.complex_oltp: suitable for workloads such as banking and insurance systems. These workloads usually have complex joins, complex correlated subqueries, batch jobs written in PL, long transactions, and large transactions. Parallel execution is sometimes used for queries that run for a short time.olap: suitable for real-time data warehouse analysis scenarios.htap: suitable for hybrid OLAP and OLTP workloads. This workload is usually used to obtain real-time insights from active operational data, fraud detection, and personalized recommendations.kv: suitable for key-value workloads and wide-column workloads similar to HBase. These workloads usually have very high throughput and are sensitive to latency.
Notice
This parameter is supported only when the version of OceanBase Database to be deployed is V4.2.5 or later.
true, which indicates that the cluster is in production mode. When you set this parameter to production mode, the value of memory_limit must be no less than 16G, and the value of __min_full_resource_pool_memory (the minimum memory limit of a resource pool) must be no less than 2147483648. | | enable_syslog_wf | Optional | true | Specifies whether to print system logs of WARN and higher levels to a separate log file. | | max_syslog_file_count | Optional | 0 | The maximum number of log files that can be retained before they are recycled. A value of 0 indicates that no automatic cleanup is performed. | | appname | Optional | The deployment name | The name of the OceanBase cluster. If this parameter is not specified, the default value is the deployment name specified in the deployment command (deploy name). | | enable_auto_start | Optional | false | Specifies whether to enable the automatic start feature of the observer process. If this parameter is set to true, the observer process will be automatically started when the OBServer node restarts.
Note
Make sure that the deployment environment is not a container and that the deployment user has sudo privileges when you configure this parameter.
ob_admin, ob_error, and oblogminer) in the bin directory of the OceanBase cluster installation directory. When you set this parameter to true, you cannot set this parameter to false by using the obd cluster edit-config command. In other words, you cannot uninstall the oceanbase-ce-utils package by using obd commands. | | mysql_port | Required | 2881 | The port number of the SQL service protocol. The value ranges from [1025, 65535]. The default value is 2881. | | rpc_port | Required | 2882 | The port number of the remote access protocol. This is the RPC communication port between the observer process and the processes of other nodes. The value ranges from [1025, 65535]. The default value is 2882. | | obshell_port | Required | 2886 | The port number of the OceanBase Database O&M service. The value ranges from [1025, 65535]. The default value is 2886. | | zone_region | Optional | default_region | The region of a single zone. | | zone_idc | Optional | default_idc | The IDC of a single zone. | | home_path | Required | N/A | The installation path of OceanBase Database. | | data_dir | Optional | $home_path/store | The directory where SSTables and other data are stored. We recommend that you configure this parameter to an independent disk. | | redo_dir | Optional | The same as data_dir by default. | When you deploy OceanBase Database of V3.x, this parameter specifies the directories of clog, ilog, and slog. When you deploy OceanBase Database of V4.x, this parameter specifies the directories of clog and slog. By default, this parameter is the same as data_dir. We recommend that you configure this parameter to an independent disk. | | root_password | Optional |
- Empty in versions earlier than obd V2.1.0
- A random string in obd V2.1.0 and later
obd cluster edit-config command to view the corresponding parameter in the configuration file to obtain the password. | | proxyro_password | Optional |
- Empty in versions earlier than obd V2.1.0
- A random string in obd V2.1.0 and later
obd cluster edit-config command to view the corresponding parameter in the configuration file to obtain the password. | | ocp_agent_monitor_username | Optional | ocp_monitor | The username of the user used to collect monitoring data of OceanBase Database. After you configure this parameter, a user with the same name will be created in the sys tenant of OceanBase Database. | | ocp_agent_monitor_password | Optional |
- Empty in versions earlier than obd V2.1.0
- A random string in obd V2.1.0 and later
obd cluster edit-config command to view the corresponding parameter in the configuration file to obtain the password. | | zone | Required | zone1 | The name of the zone where the OBServer node is located. |
This topic uses the example/seekdb/seekdb-single-example.yaml file as an example to describe the configuration items that you must configure when you deploy seekdb. For more information about how to deploy seekdb by using a configuration file, see Deploy seekdb by using a configuration file in Deploy seekdb.
seekdb:
servers:
- 10.10.10.1
global:
home_path: /root/seekdb # Working directory; SeekDB runs under this path (required).
data_dir: /data/seekdb/store # Data directory for SSTable and related data.
redo_dir: /data/seekdb/redo # Redo / clog directory; ensure enough free space (see log_disk_size).
mysql_port: 2881
obshell_port: 2886
memory_limit: 1G # Soft / hard memory limits; use capacity units such as 1G, 8G.
memory_hard_limit: 4G
# datafile_size: 16G # Size of the data file.
# datafile_next_size: 2G # Size of the next data file.
datafile_maxsize: 20G # Upper bound for data file auto-extend.
cpu_count: 8
max_syslog_file_count: 2
log_disk_size: 2G # Redo log disk quota; for primary/standby, interactive install uses about 3 * memory_limit.
enable_auto_start: false # Whether to register systemd auto-start (true/false).
production_mode: false # Dev-like deployment; set to true for production-style tuning.
# root_password: ''
# --- Optional: RPC / replication (primary or standby). Uncomment and adjust as needed. ---
# For primary: expose RPC for standbys (also set rpc_port).
# enable_rpc_service: true
# rpc_port: 2882
# When non-zero, redo recycling triggers when usage exceeds this percentage of log_disk_size (suggested ~80 in some setups).
# log_disk_utilization_threshold: 80
The following table lists the configuration items that you must pay attention to. For more information, see seekdb configuration items.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Yes | N/A | Specify each server in the following format: - name: server name (Enter) ip: server IP address. If multiple servers are specified, this format must be repeated for each server. The server name must be unique. If the server IP addresses are unique, you can also specify them in the following format: - <ip> (Enter) - <ip>. In this case, - <ip> is equivalent to - name: server IP address (Enter) ip: server IP address. |
| home_path | Yes | N/A | The installation path of seekdb. |
| data_dir | No | $home_path/store | The directory for storing SSTables. We recommend that you configure a dedicated disk for this directory. |
| redo_dir | No | Same as data_dir by default |
The path of the transaction log disk. We recommend that you configure a dedicated disk for this directory and ensure that the disk space is sufficient (log_disk_size is set). |
| mysql_port | Yes | 2881 | The port number of the SQL service protocol. Valid values: [1025, 65535]. Default value: 2881. |
| rpc_port | Yes | 2882 | The port number of the remote access protocol. Valid values: [1025, 65535]. Default value: 2882. This port is used for data synchronization between the primary instance and the standby instance of seekdb. |
| obshell_port | Yes | 2886 | The port number of the O&M service of the seekdb instance. Valid values: [1025, 65535]. Default value: 2886. |
| memory_limit | No | 1G | The memory size of the seekdb instance. |
| memory_hard_limit | No | 4G | The hard limit of the memory of the seekdb instance. If the value is 0, the hard limit is 90% of the system memory. |
| datafile_size | No | N/A | The initial space of the data disk. If this parameter is not specified, the value is determined based on the logic of the seekdb instance. |
| datafile_next_size | No | N/A | The expansion step size of the data disk. If this parameter is not specified, the value is determined based on the logic of the seekdb instance. |
| datafile_maxsize | No | 20G | The maximum available space of the disk, which is used to set the automatic expansion. |
| cpu_count | No | N/A | The total number of CPUs available to the seekdb instance. If this parameter is set to 0, the system automatically detects the number of CPUs. |
| max_syslog_file_count | No | 2 | The maximum number of log files that can be retained before they are recycled. If the value is 0, the system does not automatically recycle the log files. |
| log_disk_size | No | max(1/2 * memory_limit , 2G) | The maximum available space of the disk for clog files. Ensure that the path specified by redo_dir has sufficient disk space. |
| root_password | No | A random string | The password of the root user of the seekdb instance. We recommend that you set a complex password. If this parameter is not specified, a random string is generated. After the instance is deployed, you can run the obd cluster edit-config command to view the corresponding configuration item in the configuration file and obtain the password. |
| enable_auto_start | No | false | Specifies whether to enable the auto-start feature of the seekdb process. If this parameter is set to true, the seekdb process is automatically started when the seekdb node is restarted.
NoteMake sure that the deployment environment is not a container and that the deployment user has the sudo permission when you configure this parameter. |
| production_mode | Yes | true | Specifies whether to set the instance to be deployed to the production mode. The default value is true, which indicates the production mode. |
| enable_rpc_service | No | false | Specifies whether to enable the RPC service. To deploy a standby instance for the current seekdb instance, set this parameter to true. |
| log_disk_utilization_threshold | No | 0 | The percentage of the log_disk_size used. The default value is 0, which indicates that the system recycles the redo logs as soon as possible. We recommend that you set the value to 80. If the utilization exceeds this threshold, the system triggers redo log recycling. |
Here, we use the example/obproxy/obproxy-only-example.yaml file as an example to introduce the configuration items to be aware of when deploying ODP.
obproxy-ce:
servers:
- 10.10.10.4
global:
listen_port: 2883 # External port. The default value is 2883.
prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884.
rpc_listen_port: 2885
enable_obproxy_rpc_service: true
home_path: /home/admin/obproxy
# oceanbase root server list
# format: ip:mysql_port;ip:mysql_port. When a depends exists, obd gets this value from the oceanbase-ce of the depends.
rs_list: 10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881
# obproxy_config_server_url: http://10.10.10.1:9999/services?Action=GetObProxyConfig
enable_cluster_checkout: false
# observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, obd gets this value from the oceanbase-ce of the depends.
cluster_name: obcluster
client_session_id_version: 2 #This parameter is used to specify whether to use the new logic to generate the client session ID. The parameter type is integer. The value range is [1, 2] and the default value is 2 (use the new logic).
proxy_id: 5 #This parameter is used to set the ID for an ODP. The parameter type is integer. The default value is 0 and the value range is [0, 8191].
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
obproxy_sys_password: ***** # obproxy sys user password, can be empty. When a depends exists, obd gets this value from the oceanbase-ce of the depends.
observer_sys_password: ***** # proxyro user password, consistent with oceanbase-ce's proxyro_password, can be empty. When a depends exists, obd gets this value from the oceanbase-ce of the depends.
The following table lists the configuration items you need to pay attention to. For more information, see ODP configuration items.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Required | N/A | Each server must be specified with - name: server name (press Enter) ip: server IP address. You can specify multiple servers by repeating this format. The server names must be unique.If the server IP addresses are unique, you can also specify them in the - <ip> (press Enter) - <ip> format. In this case, the - <ip> format is equivalent to - name: server IP address (press Enter) ip: server IP address. |
| listen_port | Required | 2883 | The listening port of ODP. Default value: 2883. |
| prometheus_listen_port | Required | 2884 | The listening port of ODP for Prometheus. Default value: 2884. |
| rpc_listen_port | Optional | 2885 | The listening port of the RPC service of ODP. Default value: 2885.
NoteThis configuration item takes effect only when you deploy ODP V4.3.0 or later and set |
| enable_obproxy_rpc_service | Optional | true | Specifies whether to enable the RPC service of ODP. The default value true indicates that the RPC service is enabled. The value false indicates that the RPC service is disabled. In this case, the rpc_listen_port configuration item will not take effect.
Note
|
| home_path | Required | N/A | The installation path of ODP. |
| rs_list | Optional | N/A | The list of OBServer nodes in the OceanBase cluster, in the ip:mysql_port;ip:mysql_port format. If you use the rs_list configuration item to deploy ODP, it can only proxy the specified cluster.
Notice
|
| obproxy_config_server_url | Optional | N/A | The URL of obconfigserver. After you specify this parameter, ODP can proxy all clusters registered in obconfigserver. If you do not deploy obconfigserver and do not configure the ob-configserver component, you can also use the rs_list parameter. |
| enable_cluster_checkout | Optional | true | Specifies whether to check the cluster name. If this parameter is set to true, ODP will send the cluster name to the OBServer node during login for verification. |
| cluster_name | Optional | N/A | The name of the OceanBase cluster that ODP can proxy. If there are dependencies, obd will obtain this value from the oceanbase-ce dependency. |
| client_session_id_version | Optional | 2 | Specifies whether to use the new Client Session ID generation logic. The value can be set to 1 or 2. If set to 2, the new Client Session ID generation logic will be used.
Noteobd supports configuring the |
| proxy_id | Optional | 0 | Specifies the ID of ODP to ensure that the Client Session IDs generated by different ODP instances do not conflict. The value range of the proxy_id parameter depends on the value of the client_session_id_version parameter. The value range of the proxy_id parameter is as follows:
Noteobd supports configuring the |
| enable_strict_kernel_release | Required | false | Specifies whether to check the OS kernel. If set to true, ODP supports only Red Hat 5u, 6u, and 7u. If set to false, the Linux kernel version is not checked, and ODP may be unstable. |
| obproxy_sys_password | Optional |
|
The password of the ODP administrator account (root@proxysys). If you use obd V2.1.0 or later, a random string will be automatically generated if this parameter is not specified. You can view the password in the configuration file after deployment by using the obd cluster edit-config command. |
| observer_sys_password | Optional | The same as proxyro_password when OceanBase Database is deployed together. For standalone deployment, the value depends on the obd version:
|
The password of the account (proxyro@sys) used by ODP to connect to the OceanBase cluster. The password must be the same as the value of proxyro_password in OceanBase Database. If they are different, ODP cannot connect to OceanBase Database after the cluster is deployed. |
Here, we use the example/obagent/obagent-only-example.yaml file as an example to introduce the configuration items to be aware of when deploying OBAgent.
obagent:
servers:
- name: server1
# Please don't use hostname, only IP can be supported
ip: 10.10.10.1
- name: server2
ip: 10.10.10.2
- name: server3
ip: 10.10.10.3
global:
# The working directory for obagent. obagent is started under this directory. This is a required field.
home_path: /home/admin/obagent
# The port of monitor agent. The default port number is 8088.
monagent_http_port: 8088
# The port of manager agent. The default port number is 8089.
mgragent_http_port: 8089
# Log path. The default value is log/monagent.log.
log_path: log/monagent.log
# The log level of manager agent.
mgragent_log_level: info
# The total size of manager agent.Log size is measured in Megabytes. The default value is 30M.
mgragent_log_max_size: 30
# Expiration time for manager agent logs. The default value is 30 days.
mgragent_log_max_days: 30
# The maximum number for manager agent log files. The default value is 15.
mgragent_log_max_backups: 15
# The log level of monitor agent.
monagent_log_level: info
# The total size of monitor agent.Log size is measured in Megabytes. The default value is 200M.
monagent_log_max_size: 200
# Expiration time for monitor agent logs. The default value is 30 days.
monagent_log_max_days: 30
# The maximum number for monitor agent log files. The default value is 15.
monagent_log_max_backups: 15
# Username for HTTP authentication. The default value is admin.
http_basic_auth_user: admin
# Password for HTTP authentication. The default value is a random password.
# http_basic_auth_password: ******
monitor_user: ocp_monitor
# Monitor password for OceanBase Database. The default value is empty. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the ocp_agent_monitor_password in oceanbase-ce.
monitor_password:
# The SQL port for observer. The default value is 2881. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the mysql_port in oceanbase-ce.
sql_port: 2881
# The RPC port for observer. The default value is 2882. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the rpc_port in oceanbase-ce.
rpc_port: 2882
# Cluster name for OceanBase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the appname in oceanbase-ce.
cluster_name: obcluster
# Cluster ID for OceanBase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the cluster_id in oceanbase-ce.
cluster_id: 1
# The redo dir for Oceanbase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the redo_dir in oceanbase-ce.
ob_log_path: /home/admin/observer/store
# The data dir for Oceanbase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the data_dir in oceanbase-ce.
ob_data_path: /home/admin/observer/store
# The work directory for Oceanbase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the home_path in oceanbase-ce.
ob_install_path: /home/admin/observer
# The log path for Oceanbase Database. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the {home_path}/log in oceanbase-ce.
observer_log_path: /home/admin/observer/log
# Monitor status for OceanBase Database. Active is to enable. Inactive is to disable. The default value is active. When you deploy an cluster automatically, obd decides whether to enable this parameter based on depends.
ob_monitor_status: active
server1:
# Zone name for your observer. The default value is zone1. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce.
zone_name: zone1
server2:
# Zone name for your observer. The default value is zone1. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce.
zone_name: zone2
server3:
# Zone name for your observer. The default value is zone1. When a depends exists, obd gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce.
zone_name: zone3
You need to pay attention to the following configuration items. For more information, see OBAgent configuration items.
Configuration Item |
Required |
Default Value |
Description |
|---|---|---|---|
| servers | Yes | N/A | Each server needs to be specified with - name: server name (line break) ip: server IP. If multiple servers are specified, they need to be specified multiple times. The server name must be unique.If the server IPs are unique, you can also specify them with - <ip> (line break) - <ip>. In this case, - <ip> is equivalent to - name: server IP (line break) ip: server IP.
Caution |
| home_path | Yes | N/A | The working directory of the component. |
| monagent_http_port | Yes | 8088 | The HTTP port for OBAgent monitoring. |
| mgragent_http_port | Yes | 8089 | The HTTP port for OBAgent management. |
| log_path | Yes | log/monagent.log | The log path. |
| mgragent_log_level | No | N/A | The log level of ob_mgragent. |
| mgragent_log_max_size | No | 30 | The size of the ob_mgragent log file, in MB. |
| mgragent_log_max_days | No | 30 | The maximum number of days for which the ob_mgragent log file is retained. |
| mgragent_log_max_backups | No | 15 | The maximum number of backups for the ob_mgragent log file. |
| monagent_log_level | No | info | The log level of ob_monagent. |
| monagent_log_max_size | No | 200 | The size of the ob_monagent log file, in MB. |
| monagent_log_max_days | No | 30 | The maximum number of days for which the ob_monagent log file is retained. |
| monagent_log_max_backups | No | 15 | The maximum number of backups for the ob_monagent log file. |
| http_basic_auth_user | Yes | admin | The username for HTTP service authentication. |
| http_basic_auth_password | No | A random string | The password for HTTP service authentication. In custom scenarios, the password must be at least one character in length and can contain digits (0~9), uppercase letters (A~Z), lowercase letters (a~z), and special characters (~^*{}[]_-+). If this parameter is not configured, obd generates a random string. After the deployment is completed, you can run the obd cluster edit-config command to view the password in the configuration file. |
| monitor_user | No | ocp_monitor | The username for data collection of OceanBase Database monitoring. After you configure this parameter, a user with the same name is created in the sys tenant of OceanBase Database. If you deploy OceanBase Database and configure the oceanbase-ce component at the same time, the system uses the value of the ocp_agent_monitor_username parameter for deployment. |
| monitor_password | No | Empty | The password for data collection of OceanBase Database monitoring. If you deploy OceanBase Database and configure the oceanbase-ce component at the same time, the system uses the value of the ocp_agent_monitor_password parameter for deployment. |
| sql_port | No | 2881 | The SQL port of the OBServer node. The value must be the same as that of the mysql_port parameter in OceanBase Database. |
| rpc_port | No | 2882 | The RPC port of the OBServer node. The value must be the same as that of the rpc_port parameter in OceanBase Database. |
| cluster_name | No | obcluster | The name of the OceanBase cluster. The value must be the same as that of the appname parameter in the oceanbase-ce component. |
| cluster_id | No | 1 | The ID of the OceanBase cluster. The value must be the same as that of the cluster_id parameter in the oceanbase-ce component. |
| ob_log_path | No | N/A | The path of the log disk of the OBServer node. The value must be the same as that of the redo_dir parameter in the oceanbase-ce component. |
| ob_data_path | No | N/A | The path of the data disk of the OBServer node. The value must be the same as that of the data_dir parameter in the oceanbase-ce component. |
| ob_install_path | No | N/A | The installation directory of the OBServer node. The value must be the same as that of the home_path parameter in the oceanbase-ce component. |
| observer_log_path | No | N/A | The log path under the installation directory of the OBServer node. The value must be the same as that of {home_path}/log in the oceanbase-ce component. |
| ob_monitor_status | Yes | active | The status of OceanBase monitoring. active indicates that the monitoring is enabled, and inactive indicates that the monitoring is disabled. |
| zone_name | No | zone1 | The name of the zone where the OBServer node is located. |
This example uses the example/ocp-server/ocp-only-example.yaml file to describe the configuration items that you need to pay attention to when you deploy OCP. We recommend that you deploy OCP on the obd GUI. For more information, see Deploy OCP on the GUI.
ocp-server-ce:
servers:
- 10.10.10.1
global:
home_path: /home/admin/ocp
memory_size: 8G
port: 8080
soft_dir: /home/admin/ocp/software # Directory used to store packages
log_dir: /home/admin/ocp/logs # Directory used to temporary store downloaded logs
# admin_password: ****** # Password of ocp's admin user
jdbc_url: jdbc:oceanbase://10.10.10.1:2881/meta_database # Jdbc url of meta obcluster
jdbc_username: root@sys
jdbc_password: ********
# ocp_site_url: http://10.10.10.1:8080
# OCP meta tenant definition, including tenant name, cpu and memory
ocp_meta_tenant:
tenant_name: ocp_meta
max_cpu: 2.0
memory_size: 2G
ocp_meta_username: root # User to use under ocp meta tenant
ocp_meta_password: ****** # Password used to connect to ocp meta tenant
ocp_meta_db: meta_database # Database used to store ocp meta data
# OCP monitor tenant definition, including tenant name, cpu and memory
ocp_monitor_tenant:
tenant_name: ocp_monitor
max_cpu: 2.0
memory_size: 2G
ocp_monitor_username: root # User to use under ocp monitor tenant
ocp_monitor_password: ****** # Password used to connect to ocp meta tenant
ocp_monitor_db: monitor_database # Database used to store ocp meta data
You need to pay attention to the following configuration items. For more information, see OCP configuration items.
Note
Redeployment will clear the data in the cluster. If you want to modify the configuration items whose Effective Method is Redeployment, back up the data first.
If you deploy OCP by using the
distributed-with-obproxy-and-ocp-example.yamlconfiguration file, obd obtains the information about the OCP metadata database from the configuration of the OceanBase Database component. In this case, the configuration of thejdbc_xxxparameters will fail.
Parameter |
Required |
Default value |
Effective method |
Description |
|---|---|---|---|---|
| servers | Yes | None | Redeploy | Specify each server in the format of - name: server name (press Enter) ip: server IP address. If multiple servers are specified, repeat the specification. The server names must be unique.If the server IP addresses are unique, you can also specify them in the format of - <ip> (press Enter) - <ip>. In this case, the format of - <ip> is equivalent to - name: server IP address (press Enter) ip: server IP address. |
| home_path | Yes | None | Redeploy | The working directory of the component. |
| memory_size | No | 2G | Restart the process | The size of memory used by the ocp-server process. |
| port | Yes | 8080 | Restart the process | The listening port of the OCP service. |
| soft_dir | No | ~/ocp-server/lib | Redeploy | The directory where software packages such as OBProxy and OBAgent are stored in OCP. |
| log_dir | No | $home_path/log | Redeploy | The log storage directory of OCP. |
| admin_password | Yes | A random string | Restart the process | The login password of the OCP administrator account. |
| jdbc_url | No | None | Restart the process | The JDBC connection string of the OCP metadata database. |
| jdbc_username | No | None | Restart the process | The login username of the OCP metadata database, in the format of user_name@tenant_name. When OCP is deployed independently, it must be set to root@sys.
NoteWhen OCP is deployed independently, this parameter is required. |
| jdbc_password | No | None | Restart the process | The login password of the OCP metadata database. |
| ocp_site_url | No | None | Restart the process | The URL for accessing the OCP website. The URL must start with http or https, contain the VIP address, domain name, or port, and not end with a slash (/). If this parameter is not configured, the URL for accessing OCP is generated based on the server IP address (servers) and port (port) specified in the configuration file. |
| ocp_meta_tenant | Yes | tenant_name: meta_tenant max_cpu: 1 memory_size: 2147483648 |
Redeploy | The information of the OCP metadata tenant. obd will create the metadata tenant for OCP based on the configuration here.
|
| ocp_meta_username | No | meta | Restart the process | The username for connecting to the OCP metadata tenant. |
| ocp_meta_password | Yes |
|
Restart the process | The password corresponding to the username specified by ocp_meta_username. |
| ocp_meta_db | No | meta_database | Redeploy | The name of the database where OCP metadata is stored. |
| ocp_monitor_tenant | Yes | tenant_name: monitor_tenant max_cpu: 1 memory_size: 2147483648 |
Redeploy | The information of the OCP monitoring data tenant. obd will create the monitoring data tenant for OCP based on the configuration here.
|
| ocp_monitor_username | No | monitor_user | Restart the process | The username for connecting to the OCP monitoring data tenant. |
| ocp_monitor_password | Yes |
|
Restart the process | The password corresponding to the username specified by ocp_monitor_username. |
| ocp_monitor_db | No | monitor_database | Redeploy | The name of the database where OCP monitoring data is stored. |
This topic uses the example/oms/oms-only-example.yaml file as an example to describe the parameters to be configured when you deploy OMS. We recommend that you deploy OMS by using the obd GUI. For more information, see Deploy OMS by using the GUI.
oms:
type: docker # Deployment type, use docker for containerized deployment
image_name: reg.docker.alibaba-inc.com/oceanbase/oms # Docker image name for OMS
tag: feature_4.2.11_ce # Docker image tag
servers:
- 127.0.0.1 # Server IP address, please don't use hostname, only IP can be supported
- 10.10.10.1 # Server IP address
- 10.10.10.2 # Server IP address
global:
oms_meta_host: "10.10.10.1" # OMS meta database host address
oms_meta_password: "" # Password for OMS meta database user
oms_meta_port: 2881 # Port number for OMS meta database connection
oms_meta_user: root # Username for OMS meta database connection
# drc_cm_heartbeat_db: oms_hdb # Heartbeat database name
# drc_cm_db: "oms_cm" # DRC cluster manager database name
# drc_rm_db: "oms_rm" # DRC resource manager database name
# tsdb_password: "" # Password for time series database
# tsdb_service: "INFLUXDB" # Type of time series database service
# tsdb_url: "10.10.10.1:8086" # URL for time series database connection
# tsdb_username: "admin" # Username for time series database
# ghana_server_port: 8090 # Port for ghana server
# nginx_server_port: 8089 # Port for nginx server
# cm_server_port: 8088 # Port for cluster manager server
# supervisor_server_port: 9000 # Port for supervisor server
# sshd_server_port: 2023 # Port for SSH daemon server
mount_path: /data/1/oms # Mount path for OMS data storage
regions:
- cm_location: 1 # Cluster manager location identifier
cm_is_default: true # Whether this is the default region
cm_region: hz # Region identifier (e.g., hz for Hangzhou)
cm_region_cn: Hangzhou # Region name in Chinese
cm_url: 10.10.10.1:8089 #vip # Cluster manager URL, can be VIP address
cm_nodes:
- 127.0.0.1, # Cluster manager node IP address
- 10.10.10.1 # Cluster manager node IP address
- cm_location: 1 # Cluster manager location identifier
cm_is_default: false # Whether this is the default region
cm_region: bj # Region identifier (e.g., bj for Beijing)
cm_region_cn: Beijing # Region name in Chinese
cm_url: 10.10.10.2:8088 # Cluster manager URL
cm_nodes:
- 10.10.10.2 # Cluster manager node IP address
# settings:
# xxxxxx: "xxxxx" # Custom settings for OMS configuration
The following table lists the OMS configuration items that you need to pay attention to. For more information, see OMS configuration items.
Note
Re-deploying OMS will clear the data in the cluster. Before you modify the configuration items whose Effective method after modification is set to Re-deploy, make sure to back up the data.
Parameter |
Required |
Default value |
Effective method after modification |
Description |
|---|---|---|---|---|
| type | Yes | rpm | Not supported | Specifies the type of the component. Valid values: rpm and docker. When you deploy OMS, you must set the value to docker. |
| image_name | Yes | N/A | Not supported | Specifies the name of the Docker image required for deployment. You can run the docker images command to view the name in the REPOSITORY column. |
| tag | No | N/A | Not supported | Specifies the tag of the component to be deployed. You can run the docker images command to view the tag in the TAG column. |
| servers | Yes | N/A | Redeployment | Each server must be specified in the format of - name: server name (line break) ip: server IP address. You can specify multiple servers. The server names must be unique.If the server IP addresses are unique, you can also specify multiple servers in the format of - <ip> (line break) - <ip>. In this case, the format of - <ip> is equivalent to - name: server IP address (line break) ip: server IP address. |
| oms_meta_host | Yes | N/A | Restart the process | The IP address of the metadata database, which can be MySQL or OceanBase Database Community Edition. |
| oms_meta_password | Yes | N/A | Restart the process | The password of the metadata database. |
| oms_meta_port | Yes | N/A | Restart the process | The port number for connecting to the metadata database. |
| oms_meta_user | Yes | N/A | Restart the process | The name of the user for connecting to the metadata database. |
| drc_cm_heartbeat_db | Yes | N/A | Not supported | The name of the heartbeat database of the cluster management service. When you deploy OMS, obd creates the corresponding database in MetaDB based on the configuration. |
| drc_cm_db | Yes | N/A | Not supported | The name of the metadata database of the cluster management service. When you deploy OMS, obd creates the corresponding database in MetaDB based on the configuration. |
| drc_rm_db | Yes | N/A | Not supported | The name of the database of the management console. When you deploy OMS, obd creates the corresponding database in MetaDB based on the configuration. |
| tsdb_password | No | N/A | Restart the process | The password of the time series database. If you want to configure a time series database, you must set this parameter based on your environment. |
| tsdb_service | No | N/A | Restart the process | The type of the time series database. At present, only INFLUXDB is supported. |
| tsdb_url | No | N/A | Restart the process | The IP address of the server where InfluxDB is deployed. If you want to configure a time series database, you must set this parameter based on your environment. |
| tsdb_username | No | N/A | Restart the process | The username of the time series database. If you want to configure a time series database, you must set this parameter based on your environment. After you deploy a time series database, you must manually create a user for the time series database and specify the username and password. |
| ghana_server_port | Yes | 8090 | Restart the process | The port number of the GHANA service. Valid value: [1025, 65535]. |
| nginx_server_port | Yes | 8089 | Restart the process | The port number of the Nginx service. Valid value: [1025, 65535]. |
| cm_server_port | Yes | 8088 | Restart the process | The port number of the CM service. Valid value: [1025, 65535]. |
| supervisor_server_port | Yes | 9000 | Restart the process | The port number of the Supervisor service. Valid value: [1025, 65535]. |
| sshd_server_port | Yes | 2023 | Restart the process | The port number of the sshd service. Valid value: [1025, 65535]. |
| mount_path | Yes | N/A | Not supported | The storage path of OMS data. The directory must have at least 500 GB of available storage space. |
| regions | Yes | N/A | Restart the process | The list of OMS regions. |
| regions.cm_location | Yes | N/A | Not supported | The region code. Valid value: [0, 127]. Each region has a unique code. You can select a code. |
| regions.cm_is_default | Yes | N/A | Restart the process | Indicates whether to use the default OMS Community Edition cluster management service. If OMS is deployed in a single region, you must set this parameter to true. |
| regions.cm_region | No | N/A | Not supported | The region, for example, cn-jiangsu. This parameter is required in multi-node mode.
NoticeIf you use MSHA of Alibaba Cloud in a disaster recovery active-active scenario, use the region information of Alibaba Cloud as |
| regions.cm_region_cn | No | N/A | Not supported | The Chinese name of the region. For example, Jiangsu. |
| regions.cm_url | Yes | N/A | Restart the process | The address for accessing the OMS cluster management service. You can specify only the IP address and port number. When you deploy OMS, obd automatically adds http:// to the beginning of the URL. If the URL prefix is https://, you must specify the complete URL, for example, https://xx.xx.xx.xx:8088. If no VIP is deployed, the port number must be consistent with the value of cm_server_port.
NoteWhen you deploy OMS in single-node mode, you can set this parameter to the IP address of the current OMS server. We recommend that you do not use |
| regions.cm_nodes | Yes | N/A | Not supported | The list of IP addresses of the servers where the OMS Community Edition cluster management service is deployed. |
| settings | No | N/A | Restart the process | The parameters that need to be passed to OMS. |
The following example describes the parameters that you need to configure when you deploy MaaS. The example is based on the example/maas/maas-only-example.yaml file.
maas:
type: docker # Deployment type, use docker for containerized deployment
image_name: harbor.oceanbase-dev.com/obmaas/ob-maas-backend # Docker image name for MAAS BACKEND
tag: v1.2.0 # Docker image tag
servers:
- 127.0.0.1 # Server IP address, please don't use hostname, only IP can be supported
global:
data_dir: /data # Data directory for MAAS BACKEND
prometheus_port: 9090 # Prometheus port for MAAS BACKEND
port: 8001 # MAAS BACKEND port
The following table lists the parameters that you need to configure. For more information, see MaaS parameters.
Parameter |
Required |
Default value |
Description |
|---|---|---|---|
| type | Yes | rpm | The type of the component. Valid values: rpm and docker. You must specify docker when you deploy MaaS. |
| image_name | Yes | N/A | The name of the Docker image required for deployment. You can run the docker images command to view the name in the REPOSITORY column. |
| tag | Yes | N/A | The tag of the component to be deployed. You can run the docker images command to view the tag in the TAG column. |
| servers | Yes | N/A | You must specify the information of each server in the - name: server name (press Enter) ip: server IP format. You can also specify the information in the - <ip> format. In this case, the - <ip> format is equivalent to - name: server IP (press Enter) ip: server IP.
NoteMaaS supports only local single-node deployment. |
| data_dir | No | N/A | The data directory of the backend of MaaS. |
| prometheus_port | No | 9090 | The port of the backend of MaaS for Prometheus. |
| port | No | 8001 | The port of the backend of MaaS. |
This topic uses the example/powerrag/powerrag-example.yaml file as an example to describe the parameters to be noted when you deploy PowerRAG.
powerrag:
depends:
- oceanbase-standalone
type: dockers
version: v1.3.0
servers:
- 10.10.10.1
global:
#pkgs_path: /data/1/powerrag/powerrag-v1.3.0.x86_64
home_path: /home/admin/powerrag
volume_mount: /home/admin/powerrag-volume
compose_project: group1
enable_gpu: false
ob_tenant_name: powerrag
ob_tenant_password: ******
cache_scheme: mysql
expose_powerrag_api_port: 2801
The following table describes the parameters to be noted when you deploy PowerRAG. For more information, see PowerRAG parameters.
Parameter |
Required |
Default value |
Description |
|---|---|---|---|
| depends | Yes | N/A | The deployment of PowerRAG depends on OceanBase Database Standalone. When you deploy PowerRAG, you must configure the information of OceanBase Database Standalone and PowerRAG in the same configuration file and specify the dependency of oceanbase-standalone in the powerrag section by using the depends parameter. |
| type | Yes | rpm | The type of the component. Valid values: rpm and docker. You must specify docker when you deploy PowerRAG. |
| version | No | The latest version | The version of the component to be deployed. Usually, you do not need to specify this parameter. |
| servers | Yes | N/A | You must specify the information of each server in the - name: server name (press Enter) ip: server IP format. You can also specify the information in the - <ip> format. In this case, the - <ip> format is equivalent to - name: server IP (press Enter) ip: server IP.
NotePowerRAG supports only local single-node deployment. The IP address cannot be |
| pkgs_path | No | N/A | The directory to which PowerRAG is decompressed. |
| home_path | Yes | N/A | The installation path of PowerRAG. |
| volume_mount | No | ~/.powerrag/volumes | The common prefix for mounting the application data or log directory in the container. |
| compose_project | No | group1 | The name of the Docker Compose project. If you want to start multiple groups of PowerRAG services on one server, you must configure this parameter to distinguish the groups. |
| enable_gpu | No | false | Specifies whether to enable GPU optimization. |
| ob_tenant_name | No | powerrag | obd automatically creates a tenant with the same name in OceanBase Database based on the configuration. |
| ob_tenant_password | No | A random string | The password of the administrator user (root) of the tenant specified by ob_tenant_name. |
| cache_scheme | No | mysql | The type of the cache data storage. At present, only mysql is supported. |
| expose_powerrag_api_port | No | 2801 | The port of the PowerRAG API, which is mapped to the external Docker Compose environment for external access to PowerRAG. |
This topic uses the example/ob-configserver/ob-configserver-only-example.yaml file as an example to describe the parameters to be noted when you deploy obconfigserver. For more information about the deployment process, see Deploy obconfigserver by using the CLI.
ob-configserver:
servers:
- 127.0.0.1
global:
listen_port: 8080 # The port of ob-configserver web
# server_ip: 0.0.0.0 # Listen to the ob-configserver server IP. When you want to listen to the specified IP address,use it.
home_path: /home/admin/ob-configserver # The working directory for prometheus. ob-configserver is started under this directory. This is a required field.
## log config
# log_level: info # Log printing level of ob-configserver. The default value is `info`
# log_maxsize: 30 # The total size of manager ob-configserver.Log size is measured in Megabytes.The default value is 30
# log_maxage: 7 # The days of manager expired ob-configserver.Log retention days. The default value is 7
# log_maxbackups: 10 #The number of manager expired ob-configserver.Log. The default value is 10
# log_localtime: true # Switch of ob-configserver.Log naming with localtime. The default value is true
# log_compress: true # Compress ob-configserver.Log switch. The default value is true
## vip config, configserver will generate url with vip_address and port and return it to the client
## do not use some random value that can't be connected
# vip_address: "10.10.10.1"
# vip_port: 8080
## storage config
# storage:
## database type, support sqlite3 or mysql
## sqlite3 Usage:
# database_type: sqlite3
# connection_url: "/home/admin/ob-configserver/.data.db?cache=shared&_fk=1" # connection_url can be empty When database_type used sqlite3
## mysql Usage:
# database_type: mysql
# connection_url: "user:password@tcp(ip:port)/metadb?parseTime=true"
The following table describes the parameters to be noted when you deploy obconfigserver. For more information, see obconfigserver parameters.
Parameter |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Required | N/A | Each server must be specified with - name: server identifier (line break) ip: server IP address. Repeat this for multiple servers, ensuring the server identifiers are unique. If the server IP addresses are unique, you can also specify them in the format - <ip> (line break) - <ip>. In this case, - <ip> is equivalent to - name: server IP address (line break) ip: server IP address. |
| listen_port | Required | 8080 | The port on which the obconfigserver service listens. |
| server_ip | Required | 0.0.0.0 | The IP address for accessing the service. Only the specified IP address is listened to. If you have a whitelist requirement, you can modify this parameter. |
| home_path | Required | N/A | The working directory for the component. |
| log_level | Required | info | The log level of obconfigserver. By default, it is set to INFO. The log levels of obconfigserver, from low to high, are Debug (debug), Info (information), Warn (warning), Error (error), and Fatal (fatal). |
| log_maxsize | Required | 30 | The size of obconfigserver logs in MB. The default value is 30. |
| log_maxage | Required | 7 | The maximum retention period for obconfigserver logs in days. The default value is 7 days. |
| log_maxbackups | Required | 10 | The maximum number of expired logs that can be retained. |
| log_localtime | Required | true | Specifies whether to use local time to name logs. The default value is true. |
| log_compress | Required | true | Specifies whether to enable log compression. The default value is true. |
| vip_address | Optional | N/A | The IP address of the VIP. This parameter is required only when you use a VIP. |
| vip_port | Optional | N/A | The port number of the VIP. This parameter is required only when you use a VIP. |
| database_type | Required | sqlite3 | The type of the metadata database. Valid values: mysql and sqlite3. If you set this parameter to mysql, you can choose to use either a MySQL database or an OceanBase database as the metadata database for obconfigserver. |
| connection_url | Optional | $home_path/.data.db?cache=shared&_fk=1 | The path of the metadata database. If database_type is set to mysql, this parameter is required. If database_type is set to sqlite3, the default value is used if this parameter is not specified. If you specify this parameter, you must provide an absolute path. |
This example uses the example/prometheus/prometheus-only-example.yaml file to introduce the configuration parameters to pay attention to when you deploy Prometheus. For more information about how to deploy Prometheus by using a configuration file, see Add a white-screen monitoring solution to an existing cluster.
prometheus:
servers:
- 10.10.10.4
global:
# The working directory for prometheus. prometheus is started under this directory. This is a required field.
home_path: /home/admin/prometheus
address: 0.0.0.0 # The ip address to bind to. Along with port, corresponds to the `web.listen-address` parameter.
port: 9090 # The http port to use. Along with address, corresponds to the `web.listen-address` parameter.
enable_lifecycle: true # Enable shutdown and reload via HTTP request. Corresponds to the `web.enable-lifecycle` parameter.
data_dir: /home/admin/prometheus/data # Base path for metrics storage. Corresponds to the `storage.tsdb.path` parameter.
# basic_auth_users: # Usernames and passwords that have full access to the web server via basic authentication. Corresponds to the `basic_auth_users` parameter.
# <username>: <password> # The format of `basic_auth_users` : the key is the user name and the value is the password.
# web_config: # Content of Prometheus web service config file. The format is consistent with the file. However, `basic_auth_users` cannot be set in it. Please set `basic_auth_users` above if needed. Corresponds to the `web.config.file` parameter.
# tls_server_config:
# # Certificate and key files for server to use to authenticate to client.
# cert_file: <filename>
# key_file: <filename>
config: # Configuration of the Prometheus service. The format is consistent with the Prometheus config file. Corresponds to the `config.file` parameter.
rule_files:
- rules/*rules.yaml
scrape_configs:
- job_name: prometheus
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- localhost:9090
- job_name: node
basic_auth:
username: ********
password: ********
metrics_path: /metrics/node/host
scheme: http
file_sd_configs: # Set the targets to be collected by reading local files. The example is to collect targets corresponding to all yaml files in the 'targets' directory under $home_path.
- files:
- 'targets/*.yaml'
- job_name: ob_basic
basic_auth:
username: ********
password: ********
metrics_path: /metrics/ob/basic
scheme: http
file_sd_configs:
- files:
- 'targets/*.yaml'
- job_name: ob_extra
basic_auth:
username: ********
password: ********
metrics_path: /metrics/ob/extra
scheme: http
file_sd_configs:
- files:
- 'targets/*.yaml'
- job_name: agent
basic_auth:
username: **********
password: ********
metrics_path: /metrics/stat
scheme: http
file_sd_configs:
- files:
- 'targets/*.yaml'
# additional_parameters: # Additional parameters for Prometheus service, among which `web.listen-address`, `web.enable-lifecycle`, `storage.tsdb.path`, `config.file` and `web.config.file` cannot be set. Please set them in the corresponding configuration above if needed.
# - log.level: debug
The following table lists the configuration parameters that you need to pay attention to. For more information, see Prometheus configuration parameters.
Parameter |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Required | N/A | Each server must be specified with - name: server identifier (line break) ip: server IP address. Repeat this for multiple servers, ensuring the server identifiers are unique. If the server IP addresses are unique, you can also specify them in the format - <ip> (line break) - <ip>. In this case, - <ip> is equivalent to - name: server IP address (line break) ip: server IP address. |
| home_path | Required | N/A | The working directory for the component. |
| address | Required | 0.0.0.0 | The listening address of Prometheus. |
| port | Required | 9090 | The listening port of Prometheus. |
| enable_lifecycle | Required | true | Specifies whether to enable the feature that allows you to close and reload the service by using HTTP requests. |
| data_dir | Optional | N/A | The base path for storing metrics. |
| basic_auth_users | Optional | N/A | The authentication information of the Prometheus Web service. The key is the username and the value is the password. |
| web_config | Optional | N/A | The configuration of the Prometheus Web service. You can configure the certificate and key files for client authentication under this parameter. |
| config | Optional | N/A | The configuration of Prometheus. The format is consistent with that of the Prometheus configuration file. This parameter corresponds to the config.file parameter. |
| additional_parameters | Optional | N/A | The startup parameters of Prometheus. |
This example uses the example/grafana/grafana-only-example.yaml file to introduce the configuration parameters to pay attention to when you deploy Grafana. For more information about how to deploy Grafana by using a configuration file, see Add a white-screen monitoring solution to an existing cluster.
grafana:
servers:
- 10.10.10.4
global:
home_path: /home/admin/grafana
login_password: ******** # Grafana login password.
data_dir: # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used).$data_dir can be empty. The default value is $home_path/data.
logs_dir: # Directory where grafana can store logs, can be empty. The default value is $data_dir/log.
plugins_dir: # Directory where grafana will automatically scan and look for plugins, can be empty. The default value is $data_dir/plugins.
provisioning_dir: # folder that contains provisioning config files that grafana will apply on startup and while running, can be empty. The default value is $home_path/conf/provisioning.
temp_data_lifetime: 24h # How long temporary images in data directory should be kept. Supported modifiers h (hours), m (minutes), Use 0 to never clean up temporary files, can be empty. The default value is 24h.
log_max_days: 7 # Expired days of log file(delete after max days), can be empty. The default value is 7.
# domain: # The public facing domain name used to access grafana from a browser, can be empty. The default value is $server.ip.
# port: # The http port to use, can be empty. The default value is 3000.
# # list of datasources to insert/update depending on what's available in the database, can be empty.
# # For more parameter settings, please refer to https://grafana.com/docs/grafana/latest/administration/provisioning/#datasources
# datasources:
# name: # name of the datasource. Required and should not be 'OB-Prometheus'
# type: # datasource type. Required
# access: # access mode. direct or proxy. Required
# url: # the url of datasource
# list of dashboards providers that load dashboards into Grafana from the local filesystem, can be empty.
# For more information, please refer to https://grafana.com/docs/grafana/latest/administration/provisioning/#dashboards
# providers:
# name: # an unique provider name. Required and should not be 'OceanBase Metrics'
# type: # provider type. Default to 'file'
# options:
# path: # path to dashboard files on disk. Required when using the 'file' type
# # customize your Grafana instance by adding/modifying the custom configuration as follows
# # for more information, please refer to https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#configure-grafana
# # Here, setting parameters is required for format conversion.
# # For example, if the original grafana configuration format is
# #
# # [section1.section2]
# # key1 = value1
# # key2 = value2
# #
# # Then when writing the configuration below, you need to write it as
# #
# # section1:
# # section2:
# # key1: value1
# # key2: value2
# #
# # Here we only list one item, because there are more than 500 items. Please add them according to your own needs.
# customize_config:
# # original grafana configuration format is
# # [server]
# # protocol = http
# server:
# protocol: http
The following table lists the configuration parameters that you need to pay attention to. For more information, see Grafana configuration parameters.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Yes | N/A | Specify the machines with - name: machine identifier (line break) ip: machine IP. If multiple machines are specified, repeat this format. The machine identifiers must be unique. If the machine IPs are unique, you can also use - <ip> (line break) - <ip> to specify the machines. In this case, - <ip> is equivalent to - name: machine IP (line break) ip: machine IP. |
| home_path | Yes | N/A | The working directory of the component. |
| login_password | Yes |
|
The login password of Grafana. You can run the obd cluster edit-config command after deployment to view the password in the configuration file. |
| data_dir | No | $home_path/data | The path used by Grafana to store SQLite3, temporary files, and sessions. |
| logs_dir | No | $data_dir/log | The directory used by Grafana to store logs. |
| plugins_dir | No | $data_dir/plugins | The directory where Grafana automatically scans and finds plugins. |
| provisioning_dir | No | $home_path/conf/provisioning | The folder containing configuration files that Grafana applies when it starts and runs. |
| temp_data_lifetime | No | 24h | The retention period of temporary images in the data directory of Grafana. Supported units: h (hour) and m (minute). If the value is set to 0, temporary files will never be cleared. |
| log_max_days | No | 7 | The threshold of the number of days for which logs are retained. After the logs are retained for the specified number of days, they are deleted. |
This section uses the example/alertmanager-only-example.yaml file as an example to describe the configuration items to be noted when you deploy Alertmanager. We recommend that you deploy Alertmanager on the obd GUI. For more information, see Deploy an OceanBase cluster.
alertmanager:
servers:
- 192.168.1.5
global:
home_path: /home/admin/alertmanager
# log_dir: /home/admin/alertmanager/log # alertManager log storage directory
# data_retention: 120h #alertmanager how long to keep data form, corresponds to the `data.retention` parameter.
# address: 0.0.0.0 # The ip address to bind to. Along with port, corresponds to the `web.listen-address` parameter.
# port: 9093 # The http port to use. Along with address, corresponds to the `web.listen-address` parameter.
# data_dir: /home/admin/alertmanager/data # Base path for data storage. Corresponds to the `storage.path` parameter.
# basic_auth_users: # Usernames and passwords that have full access to the web server via basic authentication. Corresponds to the `web.config.fil` parameter.
# <username>: <password> # The format of `basic_auth_users` : the key is the user name and the value is the password.
# web_config: # Content of alertmanager web service config file. The format is consistent with the file. However, `basic_auth_users` cannot be set in it. Please set `basic_auth_users` above if needed. Corresponds to the `web.config.file` parameter.
# tls_server_config:
# # Certificate and key files for server to use to authenticate to client.
# cert_file: <filename>
# key_file: <filename>
# receivers: #one or more notification list
# - test #User-defined notification name
# - test2
# alertmanager_config: # This field is a user-defined alertmanager configuration and conflicts with receivers
# route:
# group_by: [ 'alertname' ]
# group_wait: 30s
# group_interval: 5m
# repeat_interval: 1h
# receiver: 'yourname'
# receivers:
# - name: 'yourname'
# webhook_configs:
# - url: 'http://127.0.0.1:5001/'
# additional_parameters: #Additional parameters for Alertmanager service, among which `web.listen-address`, `web.enable-lifecycle`, `storage.tsdb.path`, `config.file` and `web.config.file` cannot be set. Please set them in the corresponding configuration above if needed.
# - log.level: debug
# test: # The same as the name of the receivers configured by the user
# receiver_type: webhook # alrtmanager notification type
# webhook_url: http://localhost:6766
# test2: # The same as the name of the receivers configured by the user
# receiver_type: email
# to: "to email"
# from: "from email"
# smarthost: "smtp.xx.com:xxx"
# auth_username: "email name"
# auth_password: xxx
# require_tls: true
# send_resolved: true
The following table describes the configuration items that you need to pay attention to. For more information, see Alertmanager configuration items.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| servers | Yes | N/A | Specify the machines on which the component is deployed. Currently, you can specify only one machine when you deploy Alertmanager. You can use the - name: machine identifier (line break) ip: machine IP format to specify the machine. You can also use the - <ip> (line break) - <ip> format to specify the machines. In this case, - <ip> is equivalent to - name: machine IP (line break) ip: machine IP. |
| home_path | Yes | N/A | The working directory of the component. |
| log_dir | No | ${home_path}/log | The directory for storing logs. |
| data_dir | No | ${home_path}/data | The directory for storing data. This parameter corresponds to the storage.path parameter in the native Alertmanager configuration. |
| receivers | No | N/A | The list of receivers. You can customize the receiver names. After you configure the receiver names, you need to configure the receiver types and corresponding information for the receiver names. For more information, see receivers.
NoteIf you do not configure the |
| address | No | 0.0.0.0 | The IP address for accessing the Alertmanager web page. |
| port | No | 9093 | The port for listening to Alertmanager. |
| data_retention | No | 120h | The retention period of data forms. Data forms exceeding the retention period will be deleted. This parameter corresponds to the data.retention parameter in the native Alertmanager configuration. |
| basic_auth_users | No | admin: *****Here, admin is the username, and ***** is a randomly generated password |
The username and password for accessing the web server. You can configure the username and password in the <username>: <password> format. This parameter corresponds to the web.config.fil parameter in the native Alertmanager configuration. |
| web_config | No | N/A | The authentication-related configuration. You can configure the certificate and key files for client authentication in this configuration. This parameter corresponds to the web.config.file parameter in the native Alertmanager configuration. |
| alertmanager_config | No | N/A | The custom alertmanager configuration. This parameter is fully compatible with the native Alertmanager configuration items.
NoteIf you do not configure the |
| additional_parameters | No | N/A | Additional startup parameters. You can use this parameter to configure the startup parameters. You can configure a key-value pair (Key-Value) or a string. |
receivers
After you configure the notification list in receivers, you need to configure the receiving information based on the receiving type. The receiving type can be set to the following options:
discord: Sends alerts to a Discord server. For more information, see discord_config.email: Sends email notifications through the SMTP protocol. For more information, see email_config.msteams: Sends alerts to Microsoft Teams (classic version). For more information, see msteams_config.msteamsv2: Sends alerts to Microsoft Teams (v2 version). For more information, see msteamsv2_config.jira: Automatically creates an alert as a Jira issue. For more information, see jira_config.opsgenie: Sends alerts through Opsgenie (supports automatic assignment and on-call scheduling). For more information, see opsgenie_config.pagerduty: Sends alerts through PagerDuty (supports emergency contact assignment). For more information, see pagerduty_config.pushover: Sends mobile notifications through Pushover (supports iOS/Android). For more information, see pushover_config.rocketchat: Sends alerts to Rocket.Chat. For more information, see rocketchat_config.slack: Sends alerts through a provided webhook or bot token. For more information, see slack_config.sns: Sends alerts through AWS SNS (supports SMS, email, Lambda, etc.). For more information, see sns_config.telegram: Sends alerts through Telegram. For more information, see telegram_config.victorops: Sends alerts through VictorOps (now known as Splunk On-Call). For more information, see victorops_config.webex: Sends alerts to Cisco Webex. For more information, see webex_config.webhook: Custom webhook interface (most flexible option). For more information, see webhook_config.wechat: Sends alerts through Enterprise WeChat. For more information, see wechat_config.
The required fields for each receiving type are described below:
Receiver type |
Field name |
Default value |
Description |
|---|---|---|---|
| discord | webhook_url | None | The URL of the Discord webhook. This field is mutually exclusive with webhook_url_file. Only one of the two can be configured. |
| webhook_url_file | None | The file path of the Discord webhook URL. If this field is configured, the URL will be read from the file. This field is mutually exclusive with webhook_url. Only one of the two can be configured. |
|
| to | None | The recipient's email address. A comma-separated list of RFC 5322-compliant email addresses is allowed. | |
| from | None | The sender's email address. | |
| smarthost | None | The SMTP host for sending emails, including the port number. | |
| auth_username | None | The SMTP authentication username. SMTP authentication is performed using CRAM-MD5, LOGIN, or PLAIN. | |
| auth_password | None | The SMTP authentication password. This field is mutually exclusive with auth_password_file. Only one of the two can be configured. |
|
| auth_password_file | None | The file path of the SMTP authentication password. If this field is configured, the password will be read from the file. This field is mutually exclusive with auth_password. Only one of the two can be configured. |
|
| msteams | webhook_url | None | The URL of the Microsoft Teams webhook. This field is mutually exclusive with webhook_url_file. Only one of the two can be configured. |
| webhook_url_file | None | The file path of the Microsoft Teams webhook URL. If this field is configured, the URL will be read from the file. This field is mutually exclusive with webhook_url. Only one of the two can be configured. |
|
| msteamsv2 | webhook_url | None | The URL of the incoming webhook. This field is mutually exclusive with webhook_url_file. Only one of the two can be configured. |
| webhook_url_file | None | The file path of the incoming webhook URL. If this field is configured, the URL will be read from the file. This field is mutually exclusive with webhook_url. Only one of the two can be configured. |
|
| jira | api_url | None | The URL of the Jira instance, including the complete API path. |
| project | None | The identifier of the Jira project. | |
| opsgenie | api_key | None | The API key used to communicate with the Opsgenie API. This field is mutually exclusive with api_key_file. Only one of the two can be configured. |
| api_key_file | None | The file path of the API key used to communicate with the Opsgenie API. If this field is configured, the key will be read from the file. This field is mutually exclusive with api_key. Only one of the two can be configured. |
|
| api_url | https://api.opsgenie.com/ | The target host address for the Opsgenie API request. | |
| pagerduty | routing_key | None | The PagerDuty routing key. This field is required only when using the PagerDuty integration type Events API v2. If configured, this field is mutually exclusive with routing_key_file. Only one of the two can be configured. |
| routing_key_file | None | The file path of the PagerDuty routing key. This field is required only when using the PagerDuty integration type Events API v2. If configured, this field is mutually exclusive with routing_key. Only one of the two can be configured. |
|
| service_key | None | The PagerDuty service key. This field is required only when using the PagerDuty integration type Prometheus. If configured, this field is mutually exclusive with service_key_file. Only one of the two can be configured. |
|
| service_key_file | None | The file path of the PagerDuty service key. This field is required only when using the PagerDuty integration type Prometheus. If configured, this field is mutually exclusive with service_key. Only one of the two can be configured. |
|
| url | https://events.pagerduty.com/v2/enqueue | The target URL for the API request. | |
| pushover | user_key | None | The recipient's user key. This field is mutually exclusive with user_key_file. Only one of the two can be configured. |
| user_key_file | None | The file path of the recipient's user key. If this field is configured, the key will be read from the file. This field is mutually exclusive with user_key. Only one of the two can be configured. |
|
| token | None | The API token of the registered application. This field is mutually exclusive with token_file. Only one of the two can be configured. |
|
| token_file | None | The file path of the API token of the registered application. If this field is configured, the token will be read from the file. This field is mutually exclusive with token. Only one of the two can be configured. |
|
| rocketchat | token | None | The sender's token. This field is mutually exclusive with token_file. Only one of the two can be configured. |
| token_file | None | The file path of the sender's token. If this field is configured, the token will be read from the file. This field is mutually exclusive with token. Only one of the two can be configured. |
|
| token_id | None | The sender's token ID. This field is mutually exclusive with token_id_file. Only one of the two can be configured. |
|
| token_id_file | None | The file path of the sender's token ID. If this field is configured, the token ID will be read from the file. This field is mutually exclusive with token_id. Only one of the two can be configured. |
|
| slack | api_url | None | Depending on the scenario, the following two cases apply:
|
| api_url_file | None | If alerts are sent via an incoming webhook, configure the webhook URL file path here. If this field is configured, the URL will be read from the file. This field is mutually exclusive with api_url. Only one of the two can be configured. |
|
| http_config | None | If alerts are sent using a bot token, the bot token must be set as the authorization credential in http_config. |
|
| channel | None | If alerts are sent using a bot token, the channel must contain the name or ID of the channel to which notifications are to be sent. |
|
| sns | topic_arn | None | The Amazon Resource Name (ARN) of the SNS topic. The format is: arn:aws:sns:us-east-2:698519295917:my-topic. If this value is not specified, either phone_number or target_arn must be specified. |
| phone_number | None | The phone number (in E.164 format) for sending SMS messages. If this value is not specified, either topic_arn or target_arn must be specified. |
|
| target_arn | None | The Amazon Resource Name (ARN) of the mobile platform endpoint (for mobile push notifications). If this value is not specified, either topic_arn or phone_number must be specified. |
|
| telegram | bot_token | None | The Telegram bot token. This field is mutually exclusive with bot_token_file. Only one of the two can be configured. |
| bot_token_file | None | The file path of the Telegram bot token. If this field is configured, the token will be read from the file. This field is mutually exclusive with bot_token. Only one of the two can be configured. |
|
| chat_id | None | The chat ID to which the message is sent. | |
| victorops | api_key | None | The API key used to communicate with the VictorOps API. This field is mutually exclusive with api_key_file. Only one of the two can be configured. |
| api_key_file | None | The file path of the API key used to communicate with the VictorOps API. This field is mutually exclusive with api_key. Only one of the two can be configured. |
|
| routing_key | None | The key used to map alerts to teams. | |
| webhook | url | None | The endpoint to which an HTTP POST request is sent. This field is mutually exclusive with url_file. Only one of the two can be configured. |
| url_file | None | The file path of the endpoint to which an HTTP POST request is sent. If this field is configured, the endpoint will be read from the file. This field is mutually exclusive with url. Only one of the two can be configured. |
|
| api_secret | None | The API key used to communicate with the WeChat API. | |
| corp_id | None | The company ID used for authentication. | |
| webex | room_id | None | The ID of the Webex Teams room to which the message is sent. |
This topic uses the example/obbinlog-ce/obbinlog-ce-only-example.yaml file as an example to describe the configuration items to be aware of when deploying obbinlog. For more information about the deployment process, see Deploy the Binlog service.
obbinlog-ce:
version: 4.0.1
servers:
- name: server1
ip: 10.10.10.1
- name: server2
ip: 10.10.10.2
global:
home_path: /home/admin/obbinlog
service_port: 2983 # External port. The default value is 2983.
prometheus_port: 2984 # The Prometheus port. The default value is 2984.
meta_host: 10.10.10.1 # meta support ob/mysql
meta_port: 2881
meta_username: root@binlog # need tenant exist, if db is mysql, use root or other
meta_password: ******
meta_db: test
# init_schema: true # init meta db, default true
The following table lists the configuration items that you need to pay attention to. For more information about the configuration items, see obbinlog configuration items.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| version | Optional | The latest version in the image library | The version of the component to be deployed. Generally, you do not need to specify this parameter. |
| servers | Required | N/A | For each server, use - name: server name (press Enter) ip: server IP to specify the server. You can also use - <ip> to specify the server. In this case, - <ip> is equivalent to - name: server IP (press Enter) ip: server IP. |
| home_path | Required | N/A | The installation path of obbinlog. |
| service_port | Required | 2983 | The listening port of the Binlog service. |
| prometheus_port | Required | 2984 | The listening port of the Prometheus component of the Binlog service. |
| meta_host |
|
N/A | The IP address of the meta database of the Binlog service.
NoteYou can use OceanBase Database or MySQL Database as the meta database. |
| meta_port |
|
N/A | The listening port of the meta database of the Binlog service. |
| meta_username |
|
N/A | The username of the meta database of the Binlog service. Make sure that the specified user exists in the meta database. |
| meta_password |
|
N/A | The password of the meta_username user. |
| meta_db |
|
N/A | The name of the database to be used in the meta database of the Binlog service. Make sure that the specified database exists in the meta database. |
| init_schema | Optional | true | Specifies whether to initialize the meta database. Initializing the meta database creates the required tables in the meta database. For more information, see Metadata in the official documentation of OceanBase Binlog service. |
This topic uses the example/oblogproxy/oblogproxy-only-example.yaml file as an example to describe the configuration items to be aware of when deploying oblogproxy. For more information about the deployment process, see Deploy oblogproxy by using the command line.
oblogproxy:
version: 2.0.0
servers:
- 192.168.1.1
global:
home_path: /home/admin/oblogproxy
service_port: 2983 # External port. The default value is 2983.
ob_sys_username: "" # A user under the sys tenant of oceanbase-ce, oblogproxy communicates with oceanbase-ce using this user.,default ''
ob_sys_password: "" # ob_sys_username`s password, default ''
#binlog_dir: /home/admin/oblogproxy/run # The directory for binlog file. The default value is $home_path/run.
#binlog_mode: true # enable binlog mode, default true
The following table lists the configuration items that you need to pay attention to. For more information about the configuration items, see oblogproxy configuration items.
Configuration item |
Required |
Default value |
Description |
|---|---|---|---|
| version | Optional | The latest version | The version of the component to be deployed. Generally, you do not need to specify this parameter. |
| servers | Required | N/A | For each server, use - name: server name (press Enter) ip: server IP to specify the server. You can also use - <ip> to specify the server. In this case, - <ip> is equivalent to - name: server IP (press Enter) ip: server IP. |
| home_path | Required | N/A | The installation path of oblogproxy. |
| service_port | Required | 2983 | The listening port of the oblogproxy service. |
| ob_sys_username | Optional | N/A | The username of the user that communicates with OceanBase Database. The user must be a user in the sys tenant. You need to create the user in advance. In this parameter, you need to specify only the user name, not the cluster name or tenant name. |
| ob_sys_password | Optional | N/A | The password of the user specified in the ob_sys_username parameter. The password must be consistent with that of the corresponding user in OceanBase Database. |
| binlog_dir | Optional | $home_path/run | The root path of the Binlog service. You must specify an absolute path. |
| binlog_mode | Optional | true | Specifies whether to enable the Binlog mode. |
For more information about other oblogproxy-related configuration items, see Configuration file in the official documentation of OceanBase Log Proxy Service. Note the following points:
When you deploy oblogproxy by using obd, the
binlog_dirparameter in obd corresponds to thebinlog_log_bin_basenameparameter of oblogproxy.When you deploy oblogproxy by using obd, the default value of the
binlog_modeparameter istrue.When you deploy oblogproxy by using obd, the
ob_sys_usernameandob_sys_passwordparameters must be specified as plain text.
