- Kibana Guide: other versions:
- What is Kibana?
- What’s new in 7.17
- Kibana concepts
- Quick start
- Set up
- Install Kibana
- Configure Kibana
- Alerting and action settings
- APM settings
- Banners settings
- Development tools settings
- Graph settings
- Fleet settings
- i18n settings
- Logging settings
- Logs settings
- Metrics settings
- Machine learning settings
- Monitoring settings
- Reporting settings
- Secure settings
- Search sessions settings
- Security settings
- Spaces settings
- Task Manager settings
- Telemetry settings
- URL drilldown settings
- Start and stop Kibana
- Access Kibana
- Securing access to Kibana
- Add data
- Upgrade Kibana
- Logging configuration migration
- Configure security
- Configure reporting
- Configure monitoring
- Production considerations
- Discover
- Dashboard and visualizations
- Canvas
- Maps
- Build a map to compare metrics by country or region
- Track, visualize, and alert on assets in real time
- Map custom regions with reverse geocoding
- Heat map layer
- Tile layer
- Vector layer
- Plot big data
- Search geographic data
- Configure map settings
- Connect to Elastic Maps Service
- Import geospatial data
- Troubleshoot
- Reporting and sharing
- Machine learning
- Graph
- Alerting
- Observability
- APM
- Security
- Dev Tools
- Fleet
- Osquery
- Stack Monitoring
- Stack Management
- REST API
- Get features API
- Kibana spaces APIs
- Kibana role management APIs
- User session management APIs
- Saved objects APIs
- Index patterns APIs
- Alerting APIs
- Action and connector APIs
- Cases APIs
- Import and export dashboard APIs
- Logstash configuration management APIs
- Machine learning APIs
- Short URLs APIs
- Get Task Manager health
- Upgrade assistant APIs
- Kibana plugins
- Accessibility
- Release notes
- Kibana 7.17.28
- Kibana 7.17.27
- Kibana 7.17.26
- Kibana 7.17.25
- Kibana 7.17.24
- Kibana 7.17.23
- Kibana 7.17.22
- Kibana 7.17.21
- Kibana 7.17.20
- Kibana 7.17.19
- Kibana 7.17.18
- Kibana 7.17.17
- Kibana 7.17.16
- Kibana 7.17.15
- Kibana 7.17.14
- Kibana 7.17.13
- Kibana 7.17.12
- Kibana 7.17.11
- Kibana 7.17.10
- Kibana 7.17.9
- Kibana 7.17.8
- Kibana 7.17.7
- Kibana 7.17.6
- Kibana 7.17.5
- Kibana 7.17.4
- Kibana 7.17.3
- Kibana 7.17.2
- Kibana 7.17.1
- Kibana 7.17.0
- Developer guide
Logging settings in Kibana
editLogging settings in Kibana
editKibana relies on three high-level entities to set the logging service: appenders, loggers, and root.
-
Appenders define where log messages are displayed (stdout or console) and their layout (
pattern
orjson
). They also allow you to specify if you want the logs stored and, if so, where (file on the disk). -
Loggers define what logging settings, such as the level of verbosity and the appenders, to apply to a particular context. Each log entry context provides information about the service or plugin that emits it and any of its sub-parts, for example,
metrics.ops
orelasticsearch.query
. - Root is a logger that applies to all the log entries in Kibana.
Refer to the examples for common configuration use cases. To learn more about possible configuration values, go to Kibana’s Logging service.
Backwards compatibility
editCompatibility with the legacy logging system is assured until the end of the v7
version.
All log messages handled by root
context (default) are forwarded to the legacy logging service.
The logging configuration is validated against the predefined schema and if there are
any issues with it, Kibana will fail to start with the detailed error message.
When you switch to the new logging configuration, you will start seeing duplicate log entries in both formats.
These will be removed when the default
appender is no longer required.
Examples
editHere are some configuration examples for the most common logging use cases:
Log to a file
editLog the default log format to a file instead of to stdout (the default).
logging: appenders: file: type: file fileName: /var/log/kibana.log layout: type: pattern root: appenders: [default, file]
Log in JSON format
editLog the default log format to JSON layout instead of pattern (the default).
With json
layout, log messages will be formatted as JSON strings in ECS format that includes a timestamp, log level, logger, message text and any other metadata that may be associated with the log message itself.
logging: appenders: json-layout: type: console layout: type: json root: appenders: [default, json-layout]
Log with meta to stdout
editInclude %meta
in your pattern layout:
logging: appenders: console-meta: type: console layout: type: pattern pattern: "[%date] [%level] [%logger] [%meta] %message" root: appenders: [default, console-meta]
Log Elasticsearch queries
editlogging: appenders: console_appender: type: console layout: type: pattern highlight: true root: appenders: [default, console_appender] level: warn loggers: - name: elasticsearch.query level: debug
Change overall log level
editlogging: root: level: debug
Customize specific log records
editHere is a detailed configuration example that can be used to configure loggers, appenders and layouts:
logging: appenders: console: type: console layout: type: pattern highlight: true file: type: file fileName: /var/log/kibana.log custom: type: console layout: type: pattern pattern: "[%date][%level] %message" json-file-appender: type: file fileName: /var/log/kibana-json.log layout: type: json root: appenders: [default, console, file] level: error loggers: - name: plugins appenders: [custom] level: warn - name: plugins.myPlugin level: info - name: server level: fatal - name: optimize appenders: [console] - name: telemetry appenders: [json-file-appender] level: all - name: metrics.ops appenders: [console] level: debug
Here is what we get with the config above:
Context name | Appenders | Level |
---|---|---|
root |
console, file |
error |
plugins |
custom |
warn |
plugins.myPlugin |
custom |
info |
server |
console, file |
fatal |
optimize |
console |
error |
telemetry |
json-file-appender |
all |
metrics.ops |
console |
debug |
If you modify root.appenders
, make sure to include default
.
On this page