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.
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
Následně se automaticky provede dokončení instalace Elastic:
Nyní 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):
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 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:
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:
[2] https://www.youtube.com/watch?v=Ts-ofIVRMo4
[4] https://opster.com/guides/elasticsearch/capacity-planning/elasticsearch-minimum-requirements/