Kibana (AlmaLinux 8)

Kibana (AlmaLinux 8)

  • OS: almalinux 8

Description

Kibana is a data visualization and exploration tool that allows users to analyze large amounts of data stored in Elasticsearch. It provides a user-friendly interface for creating and sharing dynamic dashboards, visualizations, and reports. Kibana offers a wide range of features, including real-time data monitoring, interactive charts and graphs, geospatial analysis, and machine learning capabilities.

Software included

Package Version
Kibana latest
Docker 3.20.10
Docker compose 2.12.2
containerd.io 1.6.10

Initial start of the service

This application uses Docker to provide faster startup of the associated software (Kibana) and direct use. This eliminates the need to familiarize yourself with its specifics in terms of configuration and installation. To start working directly with the application, all you need to do is visit the IP address that is assigned to your virtual machine in your browser to access Kibana.

Note: By default, Kibana can be accessed directly by IP address. To start using Kibana with your real domain, you first need to point the domain in question to your IP address and change the settings for where Kibana opens from through its admin panel.

Quick settings and frequently asked questions

  • Logging into the cloud service is done using an SSH key or password that you have specified.
  • Docker is installed as recommended by the official docker documentation.
  • The standard docker and docker compose commands are now available in this application.
  • When the virtual machine is first started, it takes a few minutes before a Docker container containing Kibana is started.
  • Kibana data is set to persistent and is located in /opt/kibana/data/.
  • By default, Kafka runs on all available interfaces on the machine. Kibana access port is 5601.

Additional Docker settings

Additional Kibana settings that you can change and that are controlled directly by Docker are set as variable values in the configuration file /opt/docker-kibana/docker-compose.yml:

Note: After changing any of the values, you must recreate the Docker container on which the application is running. For more information, please read the Working with Docker section.

Kibana docker settings

  • KIBANA_ELASTICSEARCH_URL: Elasticsearch URL. Provide Client node url in the case of a cluster. Default: elasticsearch
  • KIBANA_ELASTICSEARCH_PORT_NUMBER: Elasticsearch port. Default: 9200
  • KIBANA_HOST: Kibana host. Default: 0.0.0.0
  • KIBANA_PORT_NUMBER: Kibana port. Default: 5601
  • KIBANA_WAIT_READY_MAX_RETRIES: Max retries to wait for Kibana to be ready. Default: 30
  • KIBANA_INITSCRIPTS_START_SERVER: Whether to start the Kibana server before executing the init scripts. Default: yes
  • KIBANA_FORCE_INITSCRIPTS: Whether to force the execution of the init scripts. Default: no

Elasticsearch docker settings

  • ELASTICSEARCH_EXTRA_FLAGS: Additional command-line arguments for elasticsearch daemon.
  • ELASTICSEARCH_CLUSTER_NAME: Elasticsearch Cluster Name. Default: elasticsearch-cluster.
  • ELASTICSEARCH_CLUSTER_HOSTS: List of elasticsearch hosts in the cluster. The available list separators are ' ', ',' and ';'. Without defaults.
  • ELASTICSEARCH_CLUSTER_MASTER_HOSTS: List of elasticsearch master-eligible hosts. The available list separators are ' ', ',' and ';'. If no values are provided, the value of ELASTICSEARCH_CLUSTER_HOSTS will be taken into account.
  • ELASTICSEARCH_IS_DEDICATED_NODE: An Elasticsearch node to act as a 'dedicated node'. Default: no
  • ELASTICSEARCH_NODE_TYPE: Elasticsearch node type to act as 'dedicated node'. Valid values: master, data, coordinating and ingest.
  • ELASTICSEARCH_NODE_NAME: Elasticsearch node name. No defaults.
  • ELASTICSEARCH_BIND_ADDRESS: Address/interface to run on. Default: 0.0.0.0
  • ELASTICSEARCH_PORT_NUMBER: Elasticsearch port. Default: 9200
  • ELASTICSEARCH_NODE_PORT_NUMBER: Elasticsearch Node to Node port. Default: 9300
  • ELASTICSEARCH_PLUGINS: Plugins to install separated by , or ;. No defaults.
  • ELASTICSEARCH_KEYS: A list of key=value pairs to save separated by , or ;. No defaults.
  • ELASTICSEARCH_HEAP_SIZE: Reserved memory for Xmx and Xms java heap parameters. Default: 1024m
  • ELASTICSEARCH_FS_SNAPSHOT_REPO_PATH: Elasticsearch file system snapshot repository path. No defaults.
  • ELASTICSEARCH_DATA_DIR_LIST: Directories used to store data separated by , or ;. No defaults.

Working with Docker

The organization of this application is entirely done using Docker. In this way, we can provide you with ready-made applications faster. In addition, their configuration is more flexible and quite controllable. To be able to control this application, however, you need to know some basic Docker functionalities and features.

Restarting all services

Restarting the database and the Docker container that contains Kibana itself, along with the rest of the software, can be done in two ways:

  1. By restarting the entire virtual machine
  2. Restarting the Docker containers, which is the faster option. To do this, access your machine via SSH, and run the following commands:
sudo su -
cd /opt/docker-kibana
docker compose restart
cd /opt/docker-kibana/
docker compose stop
docker compose up -d

Checking the status of the Docker application

To check, you need to run the following commands:

sudo su -
docker ps -a

Please pay attention to the STATUS column. It should show how long the service has been running, for example Up X minutes. If the status is Restarting then you need to check what is wrong with the application. In such a case, you can check by following the application logs as follows:

  1. Get the application name that you can see in the NAMES column from the output of the docker ps -a command. View the logs with the docker logs <NAME> command, where is the name of the container.

Changing settings

The settings in section Additional Docker settings can be set in the docker-compose.yml file. The path to it is described again in this section. To change a setting, open the configuration file and note the environment section under kibana. Each configuration option must be described on a new line with a dash in front, as in the following example:

    environment:
      - KIBANA_ELASTICSEARCH_URL=elasticsearch
      - KIBANA_HOST=0.0.0.0

Please note that the correct indentation (number of spaces) must also be observed, as this is important for yaml configuration files.