Data Node Configuration

The file datanode.conf is the Data Node configuration file. When first installing and configuring the Graylog Data node, we recommend that you follow the instructions provided in the Data Node installation guide. For additional configuration options available via this file, consult the chart below: 

Parameter Type Required Default Value Description
bind_address String TRUE 0.0.0.0 HTTP bind address. The network interface used by the Graylog Data Node to bind all services.
clustername String FALSE datanode-cluster Name of the cluster on which the embedded OpenSearch will form. Should be the same for all data nodes in one cluster.
config_location Path FALSE   Source directory of the additional configuration files for the Data Node. Additional certificates can be provided here.
datanode_http_port Integer TRUE 8999 HTTP port. The port on which the Data Node REST API is listening.
enabled_tls_protocols Set FALSE   Allowed TLS protocols for system-wide TLS-enabled servers (e.g. message inputs, http interface). Setting this to an empty value leaves it up to system libraries and the used JDK to chose a default.
http_certificate String FALSE   Relative path (to config_location) to a keystore used for OpenSearch REST layer TLS.
http_certificate_password String FALSE   Password for a keystore defined in http_certificate.
http_enable_gzip Boolean FALSE 1 Enable GZIP support for HTTP interface. This compresses API responses and helps to reduce overall round trip times.
http_max_header_size Integer TRUE 8192 The maximum size of the HTTP request headers in bytes
http_publish_uri URI FALSE   This configuration should be used if you want to connect to this Graylog Data Node's REST API, and it is available on another network interface than $http_bind_address, for example if the machine has multiple network interfaces or is behind a NAT gateway.
http_thread_pool_size Integer TRUE 64 The size of the thread pool used exclusively for serving the HTTP interface.
indexer_jwt_auth_token_caching_duration Duration FALSE 60 seconds Communication between Graylog and OpenSearch is secured by JWT. This configuration defines the interval between token regenerations.
indexer_jwt_auth_token_expiration_duration Duration FALSE 180 seconds Communication between Graylog and OpenSearch is secured by JWT. This configuration defines the validity interval of JWT tokens.
initial_cluster_manager_nodes String FALSE   Comma-separated list of OpenSearch nodes that are eligible as manager nodes.
mongodb_max_connections Integer FALSE 1000 Increase this value according to the maximum connections your MongoDB server can handle from a single client if you encounter MongoDB connection problems.
mongodb_uri String TRUE mongodb://localhost/graylog MongoDB connection string. See the MongoDB documentation for details
mongodb_version_probe_attempts Integer FALSE 0 This defines the number of attempts the search version probe should run before giving up. Default 0 means retry indefinitely until a connection can be established.
node_id_file String FALSE data/node-id The auto-generated node ID will be stored in this file and read after restarts. It is recommended to use an absolute file path here if you are starting Graylog Data Node from init scripts or similar.
node_name String FALSE   Unique name of your Data Node instance. Use this if your node name should be different from the hostname that's found by programmatically looking it up.
node_roles List FALSE [cluster_manager, data, ingest, remote_cluster_client, search] The list of the OpenSearch node's roles.
node_search_cache_size String FALSE 10gb Cache size for searchable snaphots.
opensearch_config_location Path TRUE datanode/config Configuration directory of the embedded OpenSearch. This is the directory where the OpenSearch process will store its configuration files. Warning: Each start of the Data Node will regenerate the complete content of the directory!
opensearch_data_location Path TRUE datanode/data Data directory of the embedded OpenSearch. Contains OpenSearch indices.
opensearch_discovery_seed_hosts List FALSE [] Provides a list of the addresses of the leader-eligible nodes in the cluster. Automatically sets to all nodes if not provided.
opensearch_heap String FALSE 1g OpenSearch heap memory. Initial and maxmium heap must be identical for OpenSearch; otherwise the boot fails.
opensearch_http_port Integer FALSE 9200 HTTP port on which the embedded OpenSearch listens.
opensearch_indices_query_bool_max_clause_count Integer FALSE 32768 This setting limits the number of clauses a Lucene Boolean query can have.
opensearch_location String FALSE dist Directory where Data Node will search for an OpenSearch distribution.
opensearch_logger_org_opensearch String FALSE INFO Configures verbosity of embedded OpenSearch logs. Possible values OFF, FATAL, ERROR, WARN, INFO, DEBUG, and TRACE.
opensearch_logs_location Path TRUE datanode/logs Logs directory of the embedded OpenSearch.
opensearch_network_host String FALSE   Binds an OpenSearch node to an address. Use 0.0.0.0 to include all available network interfaces, or specify an IP address assigned to a specific interface.
opensearch_plugins_security_audit_type String FALSE   Configures OpenSearch audit log storage type. See the OpenSearch documentation for more information.
opensearch_transport_port Integer FALSE 9300 Transport port on which the embedded OpenSearch listens.
password_secret String TRUE   You MUST set a secret to secure/pepper the stored user passwords here. Use at least 64 characters. Generate one by using, for example: pwgen -N 1 -s 96. Warning: This value must be the same on all Graylog and Data Node nodes in the cluster. Changing this value after installation will render all user sessions and encrypted values in the database invalid (e.g. encrypted access tokens).
path_repo List FALSE   Filesystem path where searchable snapshots should be stored.
process_logs_buffer_size Integer FALSE 500 The number of log entries the OpenSearch process should hold in memory and make accessible for Data Node via API calls.
root_password_sha2 String FALSE   You MUST specify a hash password for the root user (which you only need to initially set up the system and in case you lose connectivity to your authentication backend). This password cannot be changed using the API or via the web interface. If you need to change it, modify it in this file. Create one by using, for example: echo -n yourpassword | shasum -a 256.
root_username String FALSE admin The default root user is named admin.
s3_client_default_access_key String FALSE   S3 repository access key for searchable snapshots.
s3_client_default_endpoint String FALSE   S3 repository endpoint for searchable snapshots.
s3_client_default_path_style_access Boolean FALSE 1 S3 repository path-style access for searchable snapshots.
s3_client_default_protocol String FALSE http S3 repository protocol for searchable snapshots.
s3_client_default_region String FALSE us-east-2 S3 repository region for searchable snapshots.
s3_client_default_secret_key String FALSE   S3 repository secret key for searchable snapshots.
shutdown_timeout Integer FALSE 30000 How many milliseconds should the Data Node wait for termination of all tasks during the shutdown.
skip_preflight_checks Boolean FALSE 0 Do not perform any preflight checks when starting the Data Node.
transport_certificate String FALSE   Relative path (to config_location) to a keystore used for OpenSearch transport layer TLS.
transport_certificate_password String FALSE   Password for a keystore defined in transport_certificate.