Configuring Kibana Settings
1. Setting Default Data View
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| defaultDataView | Specifies the default data view to load when Kibana starts | null |
Can be set to a data view ID or title |
| defaultDataView.id | ID of the default data view | "" |
Must match an existing data view ID |
| defaultDataView.title | Title of the default data view | "" |
Used if ID is not specified or invalid |
Example: Setting Default Data View via kibana.yml
defaultDataView:
id: "my-data-view-id"
title: "My Default Data View"
Note: The default data view must exist in Kibana before it can be set as the default.
2. Configuring Time Zone
| Setting | Value | Description |
|---|---|---|
| server.timezone | UTC |
Time zone used for date formatting and display in Kibana. Defaults to system time zone. |
Note: Time zone values must follow the IANA time zone database format (e.g.,
America/New_York, Europe/London). Using an invalid time zone will cause Kibana to fall back to UTC.
3. Setting Date Format
| Configuration Option | Values | Description |
|---|---|---|
| i18n.dateFormat | MM/DD/YYYY |
Default date format for Kibana UI |
| i18n.dateFormat | DD/MM/YYYY |
European date format |
| i18n.dateFormat | YYYY-MM-DD |
ISO 8601 date format |
Note: Changes to
kibana.yml require a Kibana restart to take effect.
4. Configuring UI Theme
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| kibana.ui.theme | Defines the theme for Kibana UI | light |
Available options: light, dark |
| kibana.ui.theme.custom | Custom theme configuration (JSON) | {} |
Allows customization of colors, fonts, etc. |
Note: The theme setting is applied at startup and requires a restart to take effect.
5. Setting Default Route
| Setting | Value | Description |
|---|---|---|
| defaultRoute | /app/kibana |
Defines the default route when accessing Kibana root URL |
6. Configuring Query Language
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| query.language | Defines the default query language for Kibana | lucene |
Can be set to lucene or kuery |
| query.defaultField | Default field to search when no field is specified | message |
Used in Lucene queries |
| query.kuery.defaultField | Default field for KQL queries | message |
Used in Kibana Query Language (KQL) |
Example: Setting KQL as Default Language
elasticsearch:
hosts: [ "localhost:9200" ]
kibana:
host: "localhost"
port: 5601
query:
language: "kuery"
Note: KQL (Kibana Query Language) is more user-friendly than Lucene syntax and supports complex queries with nested fields.
7. Setting Notification Preferences
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| xpack.notification.email.enabled | Enables email notifications | false |
Requires email configuration to function |
| xpack.notification.email.host | SMTP server host for email notifications | localhost |
Must be configured for email notifications to work |
| xpack.notification.email.port | SMTP server port for email notifications | 25 |
Common ports: 25, 465, 587 |
| xpack.notification.email.username | SMTP username for authentication | null |
Required if SMTP requires authentication |
| xpack.notification.email.password | SMTP password for authentication | null |
Must be encrypted in config file |
| xpack.notification.email.secure | Enables secure (SSL/TLS) connection | false |
Set to true for secure connections |
Example: Configure Email Notifications
xpack:
notification:
email:
enabled: true
host: "smtp.example.com"
port: 587
username: "user@example.com"
password: "secret123"
secure: true
Note: Email notifications require a valid SMTP server configuration. Ensure that the Kibana server can connect to the specified SMTP host and port.
8. Configuring CSV Export Limits
| Setting | Default Value | Description | Notes |
|---|---|---|---|
| csv.max_size | 100MB |
Maximum size of CSV export file | Exports larger than this limit will be rejected |
| csv.max_fields | 10000 |
Maximum number of fields in a CSV row | Exceeding this limit may cause performance issues |
| csv.max_rows | 100000 |
Maximum number of rows in a CSV export | Exports with more rows will be truncated or rejected |
Note: These limits help prevent excessive resource consumption during CSV exports. Adjust according to your system's capacity and security requirements.
9. Setting Discover Defaults
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| discover.defaultColumns | Columns displayed by default in Discover | ["_source"] |
Array of field names to display |
| discover.sampleSize | Number of documents to sample for field statistics | 500 |
Higher values provide more accurate stats but slower load times |
| discover.docTable | Configuration for document table display | { "highlight": true } |
Enables syntax highlighting in document view |
| discover.timefield | Default time field used in Discover | @timestamp |
Must be a valid date field in your index pattern |
Example: Setting Discover Defaults in kibana.yml
discover:
defaultColumns:
- _source
- @timestamp
sampleSize: 1000
docTable:
highlight: true
timefield: @timestamp
10. Configuring Accessibility
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| elasticsearch.hosts | URLs of the Elasticsearch nodes | ["http://localhost:9200"] |
Must be accessible to Kibana server |
| server.host | Host Kibana binds to | "localhost" |
Change for external access |
| server.port | Port Kibana listens on | 5601 |
Ensure it's not blocked by firewall |
| server.name | Name of the Kibana instance | "kibana" |
Used in logs and monitoring |
| server.basePath | Base path for Kibana UI | "" |
Useful for reverse proxy setups |
| server.rewriteBasePath | Whether to rewrite base path in responses | false |
Set to true when using reverse proxy |
| elasticsearch.username | Username for Elasticsearch authentication | "" |
Required if security is enabled |
| elasticsearch.password | Password for Elasticsearch authentication | "" |
Required if security is enabled |
| elasticsearch.ssl.verificationMode | SSL certificate verification mode | "full" |
Set to "none" for testing only |
| elasticsearch.requestTimeout | Timeout for Elasticsearch requests (ms) | 30000 |
Adjust based on network conditions |
Example: Basic Kibana Configuration
elasticsearch.hosts: [ "http://localhost:9200" ]
server.host: "0.0.0.0"
server.port: 5601
server.name: "kibana-server"
elasticsearch.username: "kibana_user"
elasticsearch.password: "secure_password"
Note: Ensure that the Kibana user has appropriate permissions in Elasticsearch to access required indices and perform necessary operations.
11. Managing Advanced Settings
| Setting | Description | Default Value | Notes |
|---|---|---|---|
| advancedSettings.enabled | Enables or disables the advanced settings UI in Kibana. | false |
Requires Kibana restart to take effect. |
| advancedSettings.allow | List of advanced settings that are allowed to be changed. | [] |
Use with caution as it can affect Kibana's stability. |
| advancedSettings.hide | List of advanced settings that are hidden from the UI. | [] |
Useful for preventing users from modifying sensitive settings. |
Example: Enabling Advanced Settings
elasticsearch.hosts: [ "localhost:9200" ]
kibana.host: "localhost"
kibana.port: 5601
advancedSettings.enabled: true
Note: Changes to advanced settings are not persisted across Kibana restarts unless explicitly configured in
kibana.yml.
12. Setting Up Custom Branding
Example: Kibana branding configuration
server.branding:
logo:
default: "https://example.com/logo.png"
darkMode: "https://example.com/dark-logo.png"
favicon:
default: "https://example.com/favicon.ico"
darkMode: "https://www.example.com/dark-favicon.ico"
applicationTitle: "My Custom Kibana"
| Property | Description | Default Value | Notes |
|---|---|---|---|
| server.branding.logo.default | URL to the default logo image | None | Required for branding |
| server.branding.logo.darkMode | URL to the logo for dark mode | None | Optional, enhances user experience |
| server.branding.favicon.default | URL to the default favicon | None | Required for branding |
| server.branding.favicon.darkMode | URL to the favicon for dark mode | None | Optional, enhances user experience |
| server.branding.applicationTitle | Custom title for the Kibana application | Kibana | Improves branding clarity |
Note: Ensure that all image URLs are accessible and properly formatted to avoid display issues in Kibana.