2023-12-13 14:03:08 +01:00
|
|
|
---
|
|
|
|
title: Server Configuration Reference
|
|
|
|
slug: /deployment/configuration
|
2024-09-05 10:30:31 +02:00
|
|
|
collate: false
|
2023-12-13 14:03:08 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
# Server Configuration Reference
|
|
|
|
|
|
|
|
This document describes OpenMetadata Server Configuration
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
swagger:
|
|
|
|
resourcePackage: org.openmetadata.service.resources
|
|
|
|
|
|
|
|
|
|
|
|
server:
|
|
|
|
rootPath: '/api/*'
|
|
|
|
applicationConnectors:
|
|
|
|
- type: http
|
|
|
|
port: 8585
|
|
|
|
adminConnectors:
|
|
|
|
- type: http
|
|
|
|
port: 8586
|
|
|
|
|
|
|
|
# Logging settings.
|
|
|
|
# https://logback.qos.ch/manual/layouts.html#conversionWord
|
|
|
|
logging:
|
|
|
|
level: INFO
|
|
|
|
loggers:
|
|
|
|
org.openmetadata.service.common: DEBUG
|
|
|
|
io.swagger: ERROR
|
|
|
|
appenders:
|
|
|
|
- type: file
|
|
|
|
threshold: TRACE
|
|
|
|
logFormat: "%level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %msg %n"
|
|
|
|
currentLogFilename: ./logs/openmetadata.log
|
|
|
|
archivedLogFilenamePattern: ./logs/openmetadata-%d{yyyy-MM-dd}-%i.log.gz
|
|
|
|
archivedFileCount: 7
|
|
|
|
timeZone: UTC
|
|
|
|
maxFileSize: 50MB
|
|
|
|
|
|
|
|
database:
|
|
|
|
# the name of the JDBC driver, mysql in our case
|
|
|
|
driverClass: com.mysql.cj.jdbc.Driver
|
|
|
|
# the username and password
|
|
|
|
user: openmetadata_user
|
|
|
|
password: openmetadata_password
|
|
|
|
# the JDBC URL; the database is called openmetadata_db
|
|
|
|
url: jdbc:mysql://localhost/openmetadata_db?useSSL=false&serverTimezone=UTC
|
|
|
|
|
|
|
|
elasticsearch:
|
|
|
|
host: localhost
|
|
|
|
port: 9200
|
|
|
|
|
|
|
|
eventHandlerConfiguration:
|
|
|
|
eventHandlerClassNames:
|
|
|
|
- "org.openmetadata.service.events.AuditEventHandler"
|
|
|
|
|
|
|
|
health:
|
|
|
|
delayedShutdownHandlerEnabled: true
|
|
|
|
shutdownWaitPeriod: 1s
|
|
|
|
healthCheckUrlPaths: ["/api/v1/health-check"]
|
|
|
|
healthChecks:
|
|
|
|
- name: UserDatabaseCheck
|
|
|
|
critical: true
|
|
|
|
schedule:
|
|
|
|
checkInterval: 2500ms
|
|
|
|
downtimeInterval: 10s
|
|
|
|
failureAttempts: 2
|
|
|
|
successAttempts: 1
|
|
|
|
```
|
|
|
|
|
|
|
|
## Server Port
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
server:
|
|
|
|
rootPath: '/api/*'
|
|
|
|
applicationConnectors:
|
|
|
|
- type: http
|
|
|
|
port: 8585
|
|
|
|
adminConnectors:
|
|
|
|
- type: http
|
|
|
|
port: 8586
|
|
|
|
```
|
|
|
|
|
|
|
|
By default, the OpenMetadata server runs on port 8585. It uses Jetty Server. The above config can be changed to make it
|
|
|
|
run on a different port. Once you have updated the port details in config restart the server.
|
|
|
|
|
|
|
|
## Database
|
|
|
|
|
|
|
|
OpenMetadata supports MySQL or Postgres as the database. The database configurations and connection strings must be as
|
|
|
|
specified below.
|
|
|
|
|
|
|
|
The section below refers to the database connection details to MySQL database. We recommend you create
|
|
|
|
a MySQL user with a strong password and update this section accordingly.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
database:
|
|
|
|
# the name of the JDBC driver, mysql in our case
|
|
|
|
driverClass: com.mysql.cj.jdbc.Driver
|
|
|
|
# the username and password
|
|
|
|
user: openmetadata_user
|
|
|
|
password: openmetadata_password
|
|
|
|
# the JDBC URL; the database is called openmetadata_db
|
|
|
|
url: jdbc:mysql://localhost/openmetadata_db?useSSL=false&serverTimezone=UTC
|
|
|
|
```
|
|
|
|
|
|
|
|
The section below refers to the database connection details to Postgres database. OpenMetadata uses stored generated
|
|
|
|
columns which is supported in Postgres 12. Ensure that you have Postgres 12 or a later version. We recommend you create
|
|
|
|
a Postgres user with a strong password and update this section accordingly.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
database:
|
|
|
|
# the name of the JDBC driver, postgres in our case
|
|
|
|
driverClass: org.postgresql.Driver
|
|
|
|
# the username and password
|
|
|
|
user: openmetadata_user
|
|
|
|
password: openmetadata_password
|
|
|
|
# the JDBC URL; the database is called openmetadata_db
|
|
|
|
url: jdbc:postgresql://localhost:5432/openmetadata_db?useSSL=false&serverTimezone=UTC
|
|
|
|
```
|
|
|
|
|
|
|
|
## ElasticSearch
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
elasticsearch:
|
|
|
|
host: localhost
|
|
|
|
port: 9200
|
|
|
|
```
|
|
|
|
|
|
|
|
ElasticSearch is one of the pre-requisites to run OpenMetadata. Default configuration expects a single instance of
|
|
|
|
ElasticSearch running on the local machine. Please make sure you update it with your production elastic search.
|
|
|
|
|
|
|
|
## Event Handlers
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
eventHandlerConfiguration:
|
|
|
|
eventHandlerClassNames:
|
|
|
|
- "org.openmetadata.service.events.AuditEventHandler"
|
|
|
|
```
|
|
|
|
|
|
|
|
EventHandler configuration is optional. It will update the AuditLog in MySQL DB and also ElasticSearch indexes whenever
|
|
|
|
any entity is updated either through UI or API interactions. We recommend you leave it there as it enhances the user
|
|
|
|
experience.
|
|
|
|
|
|
|
|
## Healthcheck
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
health:
|
|
|
|
delayedShutdownHandlerEnabled: true
|
|
|
|
shutdownWaitPeriod: 1s
|
|
|
|
healthCheckUrlPaths: ["/api/v1/health-check"]
|
|
|
|
healthChecks:
|
|
|
|
- name: UserDatabaseCheck
|
|
|
|
critical: true
|
|
|
|
schedule:
|
|
|
|
checkInterval: 2500ms
|
|
|
|
downtimeInterval: 10s
|
|
|
|
failureAttempts: 2
|
|
|
|
successAttempts: 1
|
|
|
|
```
|
|
|
|
|
|
|
|
Healthcheck API provides an API endpoint to check the OpenMetadata server health. We recommend in production settings to
|
|
|
|
use this API to monitor the health of your OpenMetadata instance. Please tune the above configuration according to your
|
|
|
|
production needs.
|
|
|
|
|
|
|
|
## Security
|
|
|
|
|
|
|
|
Please follow our [Enable Security Guide](/deployment/security) to configure security for your OpenMetadata installation.
|