Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)

By | 23/06/2023

Last Updated on 02/01/2024 by administrator

Instalace Ubuntu Elasticsearch Kibana Logstash Filebeat (Elastic Stack)

Instalace Ubuntu Elasticsearch Kibana

Motivace:

Elastic Stack je sada open-source nástrojů vyvíjená společností Elastic. Tato sada nástrojů se skládá z několika komponent, včetně Elasticsearch, Logstash, Kibana a Beats, které spolupracují a poskytují robustní řešení pro sběr, ukládání, analýzu a vizualizaci dat.

elastic

OS:

Instalace byla prováděna na Ubuntu 22.04 LTS. Konkrétně otestováno přes VirtualBox.

Minimální hardwarové požadavky [4]:

  • Procesor: 2 nebo více jáder s rychlostí 2 GHz nebo vyšší.
  • Operační paměť (RAM): Nejméně 8 GB RAM (doporučeno je více).
  • Diskový prostor: Doporučuje se minimálně 50 GB volného místa pro data Elasticsearch.

Implementace:

Níže bude postupováno a bude tak provedena Instalace na Ubuntu pro Elasticsearch, Kibana, Logstash a Filebeat.

Přidání repozitáře Elastic:

Provést import GPG klíče Elastic:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg

Příkaz níže přidá soubor elastic-8.x.list pro Elastic source list do složky /etc/apt/sources.list.d/

echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list

Pozn. Aktuální verze Elasticsearch je 8.8.1 (ke dni 16.6.2023) při psaní tohoto článku, nicméně návod byl také odzkoušen na Elasticsearch 8.10.4 (ke dni 23.10.2023) a postup níže je stejný.

Příkazem apt update se provede aktualizace seznamu balíčků z repozitářů:

sudo apt update

Instalace a konfigurace Elasticsearch:

Elasticsearch je open-source vyhledávací a analytická platforma. Je často používána pro fulltextové vyhledávání, logování, analýzu dat a tvorbu personalizovaných doporučení. Defaultně naslouchá na portu TCP/9200.

Díky přidání source listu je možné provést instalaci Elasticsearch:

sudo apt install elasticsearch

Výstup příkazu sudo apt install elasticsearch bude vypada podobně. Je duležité si poznamenat heslo pro superusera označené níže:

Setting up elasticsearch (8.8.1) ...
--------------------------- Security autoconfiguration information ------------------------------

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.

The generated password for the elastic built-in superuser is : tG5zeZcxdfqqQqpCaIKJ

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token '
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

-------------------------------------------------------------------------------------------------

Otevřít elasticsearch.yml soubor ve složce /etc/elasticsearch/:

sudo vi /etc/elasticsearch/elasticsearch.yml

a přepsat parametr network.host na localhost

network.host: localhost

Pozn. Defaultně Elasticsearch naslouchá na portu TCP/9200 a je přístupný pro vzdálený přístup. Parametrem localhost, se definuje, že bude dostupný pouze z tohoto nainstalovaného serveru, tímto se zvýší jeho bezpečnost (zabrání se vzdálenému čtení dat nebo vypnutí clusteru).

Nepovinné nastavení – Jak nastavit zasílání Elastic dat na jiný HDD:

Pozor – pokud se rozhodnote zasílat logy na jiný HDD, je potřeba toto provést předtím, než se bude pokračovat z instalaci Kibana. Pokud se toto provede až později, je nutné celý elasticsearch a kibana odinstalovat viz. níže – Odinstalace.

Např. pokud je k tomu připraven oddíl (partition) v lokaci /elasticdata, upraví se cesta do této složky následovně v souboru elasticsearch.yml.

vi /etc/elasticsearch/elasticsearch.yml

Přepsat parametr path.data na /elasticdata:

path.data: /elasticdata

Změnit vlastníka složky a podsložek /elasticdata:

chown -R elasticsearch:elasticsearch /elasticdata

Spuštění Elasticsearch:

Nastartování Elasticsearch služby:

sudo systemctl start elasticsearch

Aby se Elasticsearch služba aktivovala po rebootu Ubuntu aplikovat příkaz níže:

sudo systemctl enable elasticsearch

Příkaz níže otestuje, zda služba Elasticsearach běží:

curl -X GET "https://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=50s&pretty" --key certificates/elasticsearch-ca.pem  -k -u elastic

[3] Výstup příkazu curl -X GET by měl vypadat podobně jakož je to viděno níže. Příkaz bude žádat heslo pro uživatele elastic, v tomto případě se jedná o vygenerované výše, čím bylo tG5zeZcxdfqqQqpCaIKJ.

Enter host password for user 'elastic':
{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1,
  "active_shards" : 1,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Instalace Kibana:

Kibana je open-source nástroj pro vizualizaci a analýzu dat, který je součástí Elastic Stack (ELK Stack). Je navržen tak, aby poskytoval uživatelům možnost interaktivně prozkoumávat, analyzovat a vizualizovat data uložená v Elasticsearch. Defaultně naslouchá na portu TCP/5601.

Provést instalaci Kibana:

sudo apt install kibana -y

Spuštění Kibana:

Aby se Elasticsearch služba aktivovala po rebootu Ubuntu aplikovat příkaz níže:

sudo systemctl enable kibana

Provést spuštění Elasticsearch služby:

sudo systemctl start kibana

Instalace a konfigurace webového serveru Nginx:

Instalace webového serveru Nginx:

apt install nginx -y

Otevřít soubor default ve složce /etc/nginx/sites-enabled/:

vi /etc/nginx/sites-enabled/default

zakomentovat řádek níže:

#try_files $uri $uri/ =404;

a přidat řádek pro proxy pass:

proxy_pass http://127.0.0.1:5601;

Částečný výpis configu v souboru /etc/nginx/sites-enabled/default bude vypadat následovně:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
...
        location / {
                proxy_pass http://127.0.0.1:5601;
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                #try_files $uri $uri/ =404;

Pro kontrolování Nginx syntaxe použít:

sudo nginx -t

Provést restart služby Nginx:

sudo systemctl reload nginx

Povolit automatické spuštění Nginx služby při startu systému:

sudo systemctl enable nginx

Pozn. Pro využití HTTPS a automatickou obnovu certifikátu přes Let’s Encrypt je možně využít Nginx Certbota.

Test připojení na Elastic:

Nyní je možné se připojit vzdáleně na Elastic server přes webový prohlížeč. V tomto případě běží pod http://192.168.0.162.

Je nutné vygenerovat Enrollment token. To se provede příkazem níže. Parametr “s” definuje login, pro přihlášení k webovému rozhraní:

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Ten zkopírovat do okna, jak ukazuje obrázek níže a kliknout na Configure Elastic:

Zobrazí okno, kde je nutné zadat kód pro ověření Kibana serveru. Tento kód se vygeneruje příkazem níže:

/usr/share/kibana/bin/kibana-verification-code

Instalace Elastic Stack Ubuntu

Následně se automaticky provede dokončení instalace Elastic:

Instalace Elastic Stack UbuntuNyní je možné se přihlásit pod uživatelem elastic. Heslo se použije to, co se vygenerovalo po instalaci Elasticsearch výše (The generated password for the elastic built-in superuser):

Elastic login

Pozn. Při ztracení hesla je možné heslo vygenerovat znovu pro uživatele elastic pomocí příkazu níže:

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Instalace Ubuntu Elasticsearch Kibana

Instalace a konfigurace Logstash:

Logstash je open-source nástroj pro sběr, zpracování a načítání dat z různých zdrojů do různých cílů. Slouží pro lepší flexibilitu shromažďování dat z různých zdrojů. Defaultně naslouchá na portu TCP/5044.

Logstash bude nakonfigurován na stejném serveru jako Elasticsearch.

sudo apt install logstash -y

Logstash přijímá data na vstupu (INPUTS), což mužou být logové soubory, události z různých protokolů (např. syslog, HTTP, MQTT), relační databáze.

Dále tyto data zpracuje (FILTERS), zde provádějí transformaci a normalizaci dat získaných z input pluginů. Tyto pluginy mohou provádět různé úpravy, jako například parsování logových záznamů, extrahování polí, úpravy časových údajů, filtrování událostí podle určitých kritérií, přidávání metadata atd.

A pošle je na výstup (OUTPUTS), kde cílem je Elasticsearch, ale může to být i relační databáze různé služby pro vizualizaci dat (např. Kibana), cloudové úložiště atd.

Nejdřív tedy bude vytvořen INPUT soubor 02-beats-input.conf, kde se nastaví Filebeat input:

sudo vi /etc/logstash/conf.d/02-beats-input.conf

a vložit do souboru 02-beats-input.conf konfiguraci níže. Touto konfiguraci bude následně poslouchat Logstash na portu TCP/5044:

input {
  beats {
    port => 5044
  }
}

Zkopírovat certifikát http_ca.crt ze složky /etc/elasticsearch/certs/ do složky /etc/logstash/, jelikož logstash nemá práva pro čtení ve složce /etc/elasticsearch/certs/:

cp /etc/elasticsearch/certs/http_ca.crt /etc/logstash/

Povolit read práva pro others aby logstash mohl přečíst http_ca.crt certifikát:

chmod o+r /etc/logstash/http_ca.crt

Dále bude vytvořen OUTPUT soubor 30-elasticsearch-output.conf:

sudo vi /etc/logstash/conf.d/30-elasticsearch-output.conf

a vložit do souboru 30-elasticsearch-output.conf konfiguraci níže. To nakonfiguruje Logstash aby ukládal data v Elasticsearch který běží na stejném serveru a portu TCP/9200, čili v tomto případě je to localhost:9200:

Výše vygenerované údaje pro přihlášení byly elastic/tG5zeZcxdfqqQqpCaIKJ

output {
  if [@metadata][pipeline] {
        elasticsearch {
        user => 'elastic'
        password => 'tG5zeZcxdfqqQqpCaIKJ'
        hosts => ["https://localhost:9200"]
        ssl_certificate_authorities => ["/etc/logstash/http_ca.crt"]
        manage_template => false
        index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
        pipeline => "%{[@metadata][pipeline]}"
        }
  } else {
        elasticsearch {
        hosts => ["https://localhost:9200"]
        user => 'elastic'
        password => 'tG5zeZcxdfqqQqpCaIKJ'
        ssl_certificate_authorities => ["/etc/logstash/http_ca.crt"]
        manage_template => false
        index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
        }
  }
}

Otestování Logstash konfigurace se provede příkazem níže:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Pokud nenastala žádná chyba, výstup příkazu sudo -u logstash /usr/share/logstash/bin/logstash –path.settings /etc/logstash -t by měl ukázat Config Validation Result: OK. Exiting Logstash hlášku:

Using bundled JDK: /usr/share/logstash/jdk
Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
[2023-06-16T12:51:54,012][INFO ][logstash.runner          ] Log4j configuration path used is: /etc/logstash/log4j2.properties
[2023-06-16T12:51:54,024][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"8.8.1", "jruby.version"=>"jruby 9.3.10.0 (2.6.8) 2023-02-01 107b2e6697 OpenJDK 64-Bit Server VM 17.0.7+7 on 17.0.7+7 +indy +jit [x86_64-linux]"}
[2023-06-16T12:51:54,027][INFO ][logstash.runner          ] JVM bootstrap flags: [-Xms1g, -Xmx1g, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djruby.compile.invokedynamic=true, -XX:+HeapDumpOnOutOfMemoryError, -Djava.security.egd=file:/dev/urandom, -Dlog4j2.isThreadContextMapInheritable=true, -Djruby.regexp.interruptible=true, -Djdk.io.File.enableADS=true, --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED, --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED, --add-opens=java.base/java.security=ALL-UNNAMED, --add-opens=java.base/java.io=ALL-UNNAMED, --add-opens=java.base/java.nio.channels=ALL-UNNAMED, --add-opens=java.base/sun.nio.ch=ALL-UNNAMED, --add-opens=java.management/sun.management=ALL-UNNAMED]
[2023-06-16T12:51:54,048][INFO ][logstash.settings        ] Creating directory {:setting=>"path.queue", :path=>"/var/lib/logstash/queue"}
[2023-06-16T12:51:54,051][INFO ][logstash.settings        ] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/var/lib/logstash/dead_letter_queue"}
[2023-06-16T12:51:54,956][INFO ][org.reflections.Reflections] Reflections took 180 ms to scan 1 urls, producing 132 keys and 464 values
[2023-06-16T12:51:55,399][INFO ][logstash.javapipeline    ] Pipeline `main` is configured with `pipeline.ecs_compatibility: v8` setting. All plugins in this pipeline will default to `ecs_compatibility => v8` unless explicitly configured otherwise.
Configuration OK
[2023-06-16T12:51:55,404][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

Pozn. Hlášky warnings z Open JDK by problémy způsobovat neměly a můžou být ignorovány.

Spuštění Logstash:

Provést spuštění Logstash služby:

sudo systemctl start logstash

Aby se Logstash služba aktivovala po rebootu Ubuntu aplikovat příkaz níže:

sudo systemctl enable logstash

Instalace a konfigurace Filebeat:

Filebeat se používá pro sběr, analýzu a odesílání logovacích souborů nebo jiných strukturovaných dat z různých zdrojů do systému pro zpracování a analýzu logů. Jeho hlavním úkolem je poskytovat jednoduchý a efektivní způsob přenosu logovacích dat do centrálního úložiště Elasticsearch.

Filebeat bude nainstalován na stejném serveru jako Elasticsearch a Logstash:

sudo apt install filebeat -y

Defaultně odesílá Filebeat přímo zprávy do Elasticsearch a to na portu TCP/9200. Nicméně v tomto návodu se budou zprávy posílat do Logstash sloužící jako centrální bod pro zpracování všech logů a to na portu TCP/5044.

Otevřít konfigurační soubor filebeat.yml:

sudo vi /etc/filebeat/filebeat.yml

Zakomentovat následující řádky níže:

#output.elasticsearch:
  # Array of hosts to connect to.
  #hosts: ["localhost:9200"]

a odkomentovat řádky níže:

output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

Filebeat obsahuje mnoho modulů, nicméně v tomto případě bude použitý jen modul system, který sbírá a zpracovává (parsuje) a to díky službě logování, která je běžnou součástí Linuxových distribucí. Pro povolení modulu system použít příkaz níže:

sudo filebeat modules enable system

Seznam všech dostupných modulů lze vidět příkazem:

sudo filebeat modules list

Částečný výstup příkazu sudo filebeat modules list ukazuje, že byl povolený modul system:

Enabled:
system

Disabled:
activemq
apache
auditd
aws
awsfargate
...

Příkaz níže spustí příkaz pro nastavení Filebeat a –pipelines povolí vytvoření předdefinovaných konfiguračních pipelines pro zpracování logů, přepínač –module systems aktivuje systémový modul pro konfiguraci a sběr systémových logů. Spuštění tohoto příkazu inicializuje Filebeat a nakonfiguruje ho tak, aby sbíral systémové logy pomocí předdefinovaného modulu pro systémové logy:

sudo filebeat setup --pipelines --modules system

Výstup příkazu sudo filebeat setup –pipelines –modules system vypadá následovně:

Exiting: module system is configured but has no enabled filesets

Otevřít soubor system.yml ve složce /etc/filebeat/modules.d/:

vi /etc/filebeat/modules.d/system.yml

a změnit parametr pro syslog enabled na true:

# Module: system
# Docs: https://www.elastic.co/guide/en/beats/filebeat/8.8/filebeat-module-system.html

- module: system
  # Syslog
  syslog:
    enabled: true

Otevřít soubor filebeat.yml ve složce /etc/filebeat/:

vi /etc/filebeat/filebeat.yml

a změnit parametr enabled na true:

# Change to true to enable this input configuration.
enabled: true

Příkaz filebeat setup automaticky nastaví indexy a šablony pro Filebeat v Elasticsearch, –index-management provede vytvoření potřebných indexů a šablon v Elasticsearch, -E output.logstash.enabled=false vypne výstup do Logstash a přímo posílá události do Elasticsearch, -E output.elasticsearch.hosts=[“localhost:9200”] definuje adresu a port Elasticsearch, kam bude Filebeat odesílat události, -E output.elasticsearch.protocol=https nastavuje komunikaci HTTPS, místo HTTP, output.elasticsearch.ssl.certificate_authorities definuje cestu k souboru certifikátu, -E output.elasticsearch.username a -E output.elasticsearch.password definuje login a heslo pro přihlášení k Elasticsearch běžící na localhostu TCP/9200:

sudo filebeat setup --index-management -E output.logstash.enabled=false -E output.elasticsearch.hosts=["localhost:9200"] -E output.elasticsearch.protocol=https -E output.elasticsearch.ssl.certificate_authorities="/etc/logstash/http_ca.crt" -E output.elasticsearch.username="elastic" -E output.elasticsearch.password="tG5zeZcxdfqqQqpCaIKJ"

Výstup příkazu sudo filebeat setup –index-management … bude vypadat následovně:

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.
Index setup finished.

Příkaz níže je podobný jako tento výše nicméně definuje se zde parametr -E setup.kibana.host=localhost:5601:čímž se specifuje adresa a port Kibana serveru, se kterým bude Filebeat komunikovat pro nastavení Kibana dashboards a vizualizací.

sudo filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601 -E output.elasticsearch.protocol=https -E output.elasticsearch.ssl.certificate_authorities="/etc/logstash/http_ca.crt" -E output.elasticsearch.username="elastic" -E output.elasticsearch.password="tG5zeZcxdfqqQqpCaIKJ"

Výstup příkazu sudo filebeat setup -E output.logstash.enabled=false ... bude vypadat následovně:

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Loaded Ingest pipelines

Povolit automatické spuštění Filebeat služby při startu systému:

sudo systemctl start filebeat

Provést restart služby Filebeat:

sudo systemctl enable filebeat

Pomocí query níže se ověří, zda Elasticsearch přijímá data:

curl -XGET 'https://localhost:9200/filebeat-*/_search?pretty' --key certificates/elasticsearch-ca.pem -k -u elastic

Výstup příkazu curl -X GET by měl vypadat podobně jakož je to viděno níže. Příkaz bude žádat heslo pro uživatele elastic, v tomto případě se jedná o vygenerované výše, čím bylo tG5zeZcxdfqqQqpCaIKJ.

Enter host password for user 'elastic':
{
  "took" : 305,
  "timed_out" : false,
  "_shards" : {
    "total" : 2,
    "successful" : 2,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2375,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "filebeat-8.8.1-2023.06.16",
        "_id" : "9w7sxYgBbyzhhQVwebwN",
        "_score" : 1.0,
        "_source" : {
          "log" : {
            "file" : {
              "path" : "/var/log/kern.log"
            },
            "offset" : 69527
          },
          "event" : {
            "original" : "Jun 12 10:32:13 sec kernel: [    0.220008] Speculative Store Bypass: Vulnerable"
          },
          "input" : {
            "type" : "filestream"
          },
          "ecs" : {
            "version" : "8.0.0"
          },
          "host" : {
            "id" : "0ffca90d37f84beab1286b5b71ce275d",
            "hostname" : "sec",
            "architecture" : "x86_64",
            "mac" : [
              "08-00-27-32-F1-97"
            ],
            "ip" : [
              "192.168.0.162",
              "fe80::a00:27ff:fe32:f197"
            ],
            "containerized" : false,
            "os" : {
              "kernel" : "5.15.0-75-generic",
              "version" : "22.04.2 LTS (Jammy Jellyfish)",
              "family" : "debian",
              "type" : "linux",
              "platform" : "ubuntu",
              "codename" : "jammy",
              "name" : "Ubuntu"
            },
            "name" : "sec"
          },
          "message" : "Jun 12 10:32:13 sec kernel: [    0.220008] Speculative Store Bypass: Vulnerable",
          "agent" : {
            "ephemeral_id" : "fa630888-22c4-412c-8a19-d093bc392fa3",
            "id" : "149f0999-4105-44e0-98ca-e64f71a6e43c",
            "type" : "filebeat",
            "version" : "8.8.1",
            "name" : "sec"
          },
          "@timestamp" : "2023-06-16T20:36:05.485Z",
          "tags" : [
            "beats_input_codec_plain_applied"
          ],
          "@version" : "1"
        }
      },
...

Položka Filebeat a také přijaté logy by měly být viděny přes web v Analytics > Discover:

Instalace Ubuntu Elasticsearch Kibana

Tímto proběhla Instalace na Ubuntu Elasticsearch Kibana Logstash a Filebeat.

Jak zjistit verzi jednotlivých komponent:

dpkg -l | grep -E 'elasticsearch|logstash|filebeat|kibana'

Výpis příkazu dpkg -l | grep -E ‘elasticsearch|logstash|filebeat|kibana’ zobrazuje verze komponent:

ii elasticsearch 8.11.2 amd64 Distributed RESTful search engine built for the cloud
ii filebeat 8.11.2 amd64 Filebeat sends log files to Logstash or directly to Elasticsearch.
ii kibana 8.11.2 amd64 Explore and visualize your Elasticsearch data
ii logstash 1:8.11.2-1 amd64 An extensible logging pipeline

Odinstalace:

Zde je postup jak odinstalovat řádně Elasticsearch a Kibanu – odzkoušeno v praxi. Např. v mé praci bylo důvodem, že bylo potřeba zasílat elastic data na jiny HDD. Tento postup se mi osvědčil.

dpkg --purge elasticsearch
rm -R /var/lib/elasticsearch

dpkg --purge kibana
rm -R /var/lib/kibana

a nyní je možné provést reinstalaci znovu od příkazu sudo apt install elasticsearch a podle návodu postupovat.

Řešení problémů:

1. FATAL Error: EACCES: permission denied, open ‘/etc/kibana/certs/kibana.key’

Problém může být i s ostatními soubory:

Dec 12 11:19:19 elk kibana[17696]: FATAL Error: EACCES: permission denied, open '/etc/kibana/certs/ca.pem'
Dec 12 11:19:19 elk kibana[17696]: FATAL Error: EACCES: permission denied, open '/etc/kibana/certs/kibana.crt
Dec 12 11:03:48 elk kibana[14710]: FATAL Error: EACCES: permission denied, open '/etc/kibana/certs/kibana.key'

Přejít do /etc/kibana/certs složky:

cd /etc/kibana/certs

Příkaz níže ukáže oprávnění souborů:

ls -la

Výpis příkazu ls -la ukazuje, že opravnění pro soubory ca.pem, kibana.crt a kibana.key je root:kibana

drwxr-sr-x 2 root kibana 4096 Jun  8  2023 .
drwxr-s--- 3 root kibana 4096 Dec 12 11:15 ..
-rw------- 1 root kibana 1416 Jun  8  2023 ca.pem
-rw------- 1 root kibana 1393 Jun  8  2023 kibana.crt
-rw------- 1 root kibana 1849 Jun  8  2023 kibana.key
-rw------- 1 root kibana 3644 Jun  8  2023 kibana.p12

Řešení problemů:

Je potřeba přepsat opravnění z root na kibana:

chown kibana:kibana kibana.key
chown kibana:kibana kibana.crt
chown kibana:kibana ca.pem

Provést restart služby kibana:

service kibana restart

Zdroje:

[1] https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-22-04

[2] https://www.youtube.com/watch?v=Ts-ofIVRMo4

[3] https://stackoverflow.com/questions/35921195/curl-52-empty-reply-from-server-timeout-when-querying-elastiscsearch

[4] https://opster.com/guides/elasticsearch/capacity-planning/elasticsearch-minimum-requirements/

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *