Kibana

If you like this project, consider supporting me on Buy Me a Coffee ☕️


tags:

Kibana is the open-source frontend for the Elastic Stack (ELK) — a data visualization and exploration tool for log analytics, application monitoring, and operational intelligence. Kibana connects to Elasticsearch to search, view, and interact with data stored in Elasticsearch indices.

What Kibana does / Что делает Kibana:

ELK Stack / Стек ELK:

Modern alternatives / Современные альтернативы:

📚 Official Docs / Официальная документация: Kibana Guide · KQL Reference · Elasticsearch Guide

Default Ports & Services

Service Port Config File Description (EN) Описание (RU)
Kibana 5601 /etc/kibana/kibana.yml Kibana web UI Веб-интерфейс Kibana
Elasticsearch 9200 /etc/elasticsearch/elasticsearch.yml ES REST API REST API Elasticsearch
Logstash 5044 /etc/logstash/logstash.yml Beats input Ввод от Beats

KQL (Kibana Query Language)

Used in the "Search" bar. / Используется в строке "Search".

# Exact match
status: 200

# Text search
message: "error"

# Boolean logic
status: 500 AND method: "POST"
status: 404 OR status: 503
NOT status: 200

# Range
bytes > 1000
response_time >= 500

# Wildcard
host: web*
machinename: *"prod"*

# Exist check (Field is present)
_exists_: "user_id"

# Nested fields
http.response.status_code: 404

Time Filter

Always verify the time picker in the top right corner! / Всегда проверяйте выбор времени в верхнем правом углу!


Management

Index Patterns

Stack Management > Index Patterns

Define how Kibana accesses indices. / Определяет, как Kibana обращается к индексам.

Saved Objects

Stack Management > Saved Objects


Sysadmin Operations

Installation

# Debian/Ubuntu
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update && sudo apt install kibana

# RHEL/Fedora/CentOS
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo dnf install kibana

Config File

/etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"                        # Listen on all interfaces / Слушать на всех интерфейсах

# Elasticsearch connection
elasticsearch.hosts: ["http://<ES_IP>:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "<PASSWORD>"

# TLS/SSL (production recommended) / TLS/SSL
# server.ssl.enabled: true
# server.ssl.certificate: /path/to/cert.pem
# server.ssl.key: /path/to/key.pem

Service Management

sudo systemctl start kibana                   # Start Kibana / Запустить Kibana
sudo systemctl stop kibana                    # Stop Kibana / Остановить Kibana
sudo systemctl restart kibana                 # Restart Kibana / Перезапустить Kibana
sudo systemctl enable kibana                  # Enable on boot / Включить автозапуск
systemctl status kibana                       # Check status / Проверить статус
journalctl -u kibana -f                       # Follow logs / Следить за логами
journalctl -u kibana --since "1 hour ago"     # Recent logs / Недавние логи

Troubleshooting

Status Page

UI: http://<KIBANA_HOST>:5601/status Checks plugin status and Elasticsearch connectivity. / Проверяет статус плагинов и связь с Elasticsearch.

Common Errors

  1. "Kibana server is not ready yet"

    • Elasticsearch is down or initializing. / Elasticsearch упал или инициализируется.
    • Check kibana.yml credentials. / Проверьте данные в kibana.yml.
    • Verify connectivity: curl http://<ES_IP>:9200
  2. Date Format Issues / Проблемы с форматом дат

    • Check mappings in Elasticsearch (GET _mapping). / Проверьте маппинг в ES.
    • Ensure Index Pattern time field matches data. / Убедитесь, что поле времени в Index Pattern совпадает с данными.
  3. Heap Memory / Память Heap

    • Node.js options via systemd override if Kibana is crashing:
    sudo systemctl edit kibana
    # Add: [Service]
    # Environment="NODE_OPTIONS=--max-old-space-size=4096"
    sudo systemctl daemon-reload && sudo systemctl restart kibana
  4. Slow Dashboards / Медленные дэшборды

    • Check Elasticsearch cluster health: curl <ES_IP>:9200/_cluster/health?pretty
    • Reduce time range in the time picker
    • Optimize visualizations — avoid heavy aggregations

Logrotate for Kibana

/etc/logrotate.d/kibana

/var/log/kibana/kibana.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    create 0640 kibana kibana
    postrotate
        systemctl reload kibana > /dev/null 2>&1 || true
    endscript
}

💡 Best Practices


On this page

linux Kibana — Data Visualization for Elasticsearch Discovery &amp; Search Default Ports &amp; Services KQL (Kibana Query Language) Time Filter Management Index Patterns Saved Objects Sysadmin Operations Installation Config File Service Management Troubleshooting Status Page Common Errors Logrotate for Kibana 💡 Best Practices Documentation Links