OpenSearch, Amazon’un topluluk odaklı bir projesi ve Elasticsearch ile Kibana’nın bir çatalıdır. Zengin özelliklere ve yenilikçi işlevselliğe sahip, tamamen açık kaynaklı bir arama motoru ve analiz paketidir. OpenSearch projesinin ana bileşeni, OpenSearch ( Elasticsearch’ün bir çatalı) ve OpenSearch Dashboards’tur (Kibana’nın bir çatalı). Her iki bileşen de kurumsal güvenlik, uyarı, makine öğrenimi, SQL, dizin durumu yönetimi ve daha fazlası gibi özellikler sağlar.
OpenSearch %100 açık kaynaklıdır ve Apache 2.0 lisanslı olarak lisanslanmıştır. Günlük analitiği, uygulama araması, kurumsal arama ve daha fazlası gibi bir dizi kullanım durumu için verileri kolayca almanıza, güvenli hale getirmenize, aramanıza, toplamanıza, görüntülemenize ve analiz etmenize olanak tanır.
Bu yazıda, açık kaynaklı bir arama, analiz ve görselleştirme paketi olan OpenSearch’ü Debian 11 sunucusuna kurulumunun nasıl yapıldığını okuyacaksınız. Bu süreç, OpenSearch paketinin indirilmesini ve Debian sisteminize manuel olarak kurulmasını içerir. Ayrıca, OpenSearch için güvenli SSL/TLS sertifikaları kuracak ve kimlik doğrulama ve yetkilendirme ile dağıtımın güvenliğini sağlayacaksınız.
Buna ek olarak, açık kaynaklı bir görselleştirme aracı olan OpenSearch Dashboards’u kuracak ve OpenSearch ile yapılandıracaksınız. Sonunda, Debian sunucunuza veri analitiği ve görselleştirme paketi yüklenmiş olacak ve verilerinizi fluentd, Logstash, filebeat ve daha pek çok araçla göndermeniz gerekecek.
Önkoşullar
Bu kılavuzu tamamlamak için aşağıdaki gereksinimlere sahip olmanız gerekir:
- Debian 11 kurulumuna ve en az 8 GB RAM’e sahip bir sunucu. Bu örnek, ‘node1’ ana bilgisayar adına ve ‘192.168.5.50’ yerel IP adresine sahip bir Debian sistemi kullanır.
- Sudo/root yönetici ayrıcalıklarına sahip root olmayan bir kullanıcı.
Bu gereksinimler hazırsa OpenSearch kurulumuna şimdi başlayabilirsiniz.
Sistemin Kurulumu
İlk adımda, OpenSearch için Debian sunucunuzu kuracak ve optimize edeceksiniz. Sistem ana bilgisayar adını ve fqdn’yi ayarlayacak, bellek çağrısını ve takası devre dışı bırakacaksınız, ardından maksimum bellek haritaları sayısını artıracaksınız.
Bellek çağrısını devre dışı bırakmak ve OpenSearch ana bilgisayarında değiştirmek performansı artıracaktır. Maksimum bellek haritaları için, hizmet verecek bir sistem için en az ‘262144’ sayısı ayarlamanız gerekir.
Sistem bilgisayar adını ayarlamak için aşağıdaki ‘hostnamectl’ komutunu çalıştırın. Ardından, fqdn yapılandırmasını ‘/etc/hosts’ dosyasına ekleyin. Bu örnekte, ana bilgisayar adı fqdn ‘node1.hwdomain.lan’ ile ‘node1’ olmalıdır.
sudo hostnamectl set-hostname node1
echo "192.168.5.50 node1.hwdomain.lan node1" >> /etc/hosts
Şimdi aşağıdaki hostname komutu ile sunucunuzun fqdn’sini doğrulayın. Örnekte, sunucunun fqdn’si ‘node1.hwdomain.lan’ olmalıdır.
hostname -f
Ardından, sisteminizde takas özelliğini devre dışı bırakmanız gerekecek. İster bölüm yoluyla ister dosya üzerinden takas kullanıyor olun, takas yapılandırması ‘/etc/fstab’ dosyasında saklanır.
Sisteminizde takası devre dışı bırakmak için aşağıdaki komutu çalıştırın. Buradaki ‘sed’ komutu, satır değiştirme ayarlarının başına ‘#’ komutunu ekleyerek ‘/etc/fstab’ dosyası aracılığıyla takası kalıcı olarak devre dışı bırakacaktır. ‘Swapoff’ komutu, geçerli oturumda takası devre dışı bırakacaktır.
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a
Aşağıdaki komutla takas durumunu doğrulayın. Devre dışı bırakılırsa, takas bölümünde ‘0’ çıktısı almalısınız.
free -m
Son olarak, sisteminizdeki maksimum bellek haritalarını artırmak için yapılandırmayı ‘/etc/sysctl.conf’ dosyasına ekleyeceksiniz.
‘vm.max_map_count=262144’ parametresini ‘/etc/sysctl.conf’ dosyasına eklemek için aşağıdaki komutu çalıştırın. Ardından değişiklikleri ‘sysctl -p’ komutu ile uygulayın.
sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p
Aşağıdaki komutu çalıştırarak maksimum bellek haritalarını doğrulayın. Başarılı olursa, maksimum bellek haritanız ‘262144’ olmalıdır.
cat /proc/sys/vm/max_map_count
Sisteminiz yapılandırılmış ve optimize edilmiş olarak, üzerine OpenSearch’ü yüklemeye hazırsınız.
OpenSearch’ü İndirme
OpenSearch birçok şekilde kurulabilir. Bu örnekte, OpenSearch’ü Tarball aracılığıyla kuracaksınız. Bu adımda, yeni bir özel sistem kullanıcısı ‘opensearch’ oluşturacak, OpenSearch tarball paketini indirecek ve ardından OpenSearch kurulum dizinini doğru izinler ve sahiplik ile kuracaksınız.
İlk olarak, aşağıdaki komutu kullanarak yeni sistem kullanıcısını ‘opensearch’ ekleyin.
sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch
Aşağıdaki groupadd komutunu kullanarak yeni bir ‘opensearch’ grubu ekleyin. Ardından, usermod komutu ile sistem kullanıcınızı ‘opensearch’ grubunu ‘opensearch’ grubuna ekleyin.
sudo groupadd opensearch
sudo usermod -aG opensearch opensearch
Şimdi yeni bir ‘/home/opensearch’ ana dizini oluşturun ve ‘/home/opensearch’ ana dizininin sahipliğini ‘opensearch’ kullanıcısı olarak değiştirin.
mkdir -p /home/opensearch
sudo chown -R opensearch /home/opensearch
Ardından, OpenSource paketini wget komutuyla indirin. İndirme işlemi bittiğinde, dosyayı aşağıdaki tar komutuyla çıkarın. Bu örnekte, OpenSearch 2.4.1’i kuracaksınız. Resmi indirme sayfasında OpenSearch’ün en son sürümünü kontrol edin.
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.4.1/opensearch-2.4.1-linux-x64.tar.gz
tar xf opensearch-2.4.1-linux-x64.tar.gz
OpenSearch paketi çıkarıldıktan sonra, çıkarılan dizini ‘/opt/opensearch’ konumuna taşıyın. Bu, OpenSearch için ana kurulum dizini olacaktır. Ardından, ‘/opt/opesearch’ dizininin sahipliğini ‘opensearch’ kullanıcısına değiştirmek için chown komutunu çalıştırın.
mv opensearch-2.4.1 /opt/opensearch
sudo chown -R opensearch /opt/opensearch
Artık OpenSearch paketini indirdiğinize göre, hedef kurulum dizinini ‘/opt/opensearch’ olarak yapılandırın. Ardından, OpenSearch kurulumunuzu kurup yapılandıracaksınız.
OpenSearch’ü Yapılandırma
Bu adımda, OpenSearch’ü belirli bir IP adresinde çalışacak, tek düğümde çalışacak, OpenSearch güvenlik eklentilerini etkinleştirecek ve OpenSearch işlemi için maksimum yığın belleği ayarlayacak şekilde ayarlayacaksınız. Tüm bunlar, ‘/opt/opensearch/config/opensearch.yml’ OpenSearch yapılandırma dosyasını ve ‘config/jvm.options’ OpenSearch JVM seçenekler dosyasını düzenleyerek yapılabilir.
Çalışma dizinini cd komutu ile ‘/opt/opensearch’ konumuna taşıyın.
cd /opt/opensearch
Aşağıdaki nano editör komutunu kullanarak ‘config/opensearch.yml’ OpenSearch yapılandırma dosyasını açın.
sudo nano config/opensearch.yml
Aşağıdaki satırları dosyaya ekleyin.
# Bind OpenSearch to interface or IP address
network.host: 192.168.5.50
# OpenSearch deployment type
discovery.type: single-node
# Re-enable security plugins
plugins.security.disabled: false
Tamamlandığında ‘config/opensearch.yml’ dosyasını kaydedin ve çıkın.
Parametrelerin Ayrıntıları:
- ‘network.host’ parametresi, OpenSearch’ü belirli bir IP adresine bağlamak için kullanılır. Bu örnekte OpenSearch, ‘192.168.5.50’ dahili IP adresi üzerinde çalışacaktır.
- OpenSearch’ü tek bir düğümde dağıtmak istediğinizde ‘discovery.type: single-node’ parametresi kullanılır.
- ‘plugins.security.disabled’ parametresi ‘false’ olarak ayarlanmıştır, bu OpenSearch için güvenlik eklentisinin etkinleştirileceği anlamına gelir.
Ardından, aşağıdaki nano editör komutunu kullanarak ‘config/jvm.options’ dosyasını açın.
sudo nano config/jvm.options
OpenSearch işlemi için maksimum yığın belleğini ayarlayın. Bu ayar, sunucunuzun kullanılabilir belleğine veya RAM’ine bağlıdır. Bu örnek, OpenSearch için 2 GB bellek ayıracaktır.
-Xms2g
-Xmx2g
Tamamlandığında ‘config/jvm.options’ dosyasını kaydedin ve çıkın.
Son olarak, mevcut oturumunuzda ‘OPENSEARCH_JAVA_HOME’ ortam değişkenini ayarlamak için aşağıdaki komutu çalıştırın. OpenSearch paketi, ‘/opt/opensearch/jdk’ dizininde bulunan gerekli java ve JDK paketlerini içermektedir.
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
echo $OPENSEARCH_JAVA_HOME
Temel OpenSearch yapılandırmaları bittiğinde. ardından, TLS sertifikaları ve güvenli OpenSearch dağıtımı oluşturacaksınız.
TLS Sertifikaları Oluşturma
Bu adımda, OpenSearch dağıtımını güvenli hale getirmek için kullanılacak birden çok sertifika oluşturacaksınız. TLS sertifikaları ile düğümler arası iletişimleri ve TLS aracılığıyla istemci-sunucu iletişimleri arasındaki güvenli REST katmanı trafiklerini güvence altına alacaksınız.
Oluşturulacak sertifikaların listesi aşağıdadır:
- Kök CA sertifikaları: Bu sertifikalar diğer sertifikaları imzalamak için kullanılacaktır.
- Yönetici sertifikaları: Bu sertifikalar, güvenlik eklentisiyle ilgili tüm görevleri gerçekleştirmek için yönetici hakları almak için kullanılacaktır.
- Düğüm ve İstemci Sertifikaları: Bu sertifikalar, OpenSearch kümesindeki düğümler ve istemciler tarafından kullanılacaktır.
Başlamadan önce, yeni bir ‘/opt/opensearch/config/certs’ dizini oluşturmak için aşağıdaki komutu çalıştırın ve çalışma dizininizi bu dizine taşıyın. Bu dizin, TLS sertifikalarını depolamak için kullanılacaktır.
mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs
Root CA Sertifikaları Oluşturma
Aşağıdakini kullanarak root CA sertifikaları için özel bir anahtar oluşturun.
openssl genrsa -out root-ca-key.pem 2048
Şimdi aşağıdaki komutla kendinden imzalı bir root CA sertifikası oluşturun. Bilgilerinizle ‘-subj’ parametresi içindeki değerleri de değiştirebilirsiniz.
openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730
Bununla, ‘root-ca-key.pem’ root CA özel anahtarını ve ‘root-ca.pem’ root CA sertifikasını almalısınız.
Yönetici Sertifikalarını Oluşturma
Aşağıdaki komutu kullanarak ‘admin-key-temp.pem’ yeni yönetici sertifikası özel anahtarını oluşturun.
openssl genrsa -out admin-key-temp.pem 2048
Varsayılan yönetici özel anahtarını PKCS#8 biçimine dönüştürün. Java uygulaması için, varsayılan özel anahtarı PKCS#12 uyumlu algoritmaya (3DES) dönüştürmeniz gerekir. Bununla yönetici özel anahtarınız ‘admin-key.pem’ olmalıdır.
openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem
Ardından, ‘admin-key.pem’ özel anahtarından yönetici CSR’sini (Sertifika İmzalama İsteği) oluşturmak için aşağıdaki komutu çalıştırın. Oluşturulan CSR’niz artık ‘admin.csr’ dosyası olmalıdır.
Bu sertifika, yükseltilmiş erişimi doğrulamak için kullanıldığından ve herhangi bir ana bilgisayara bağlı olmadığından, ‘CN’ yapılandırmasındaki her şeyi kullanabilirsiniz.
openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr
Son olarak, yönetici CSR’yi root CA sertifikası ve özel anahtarla imzalamak için aşağıdaki komutu çalıştırın. Yönetici sertifikasının çıktısı ‘admin.pem’ dosyasıdır.
openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Yönetici sertifikanız artık root CA sertifikalarıyla imzalanmış ‘admin.pem’ dosyası olmalıdır. Ve yönetici özel anahtarı, PKCS#8 formatına dönüştürülen ‘admin-key.pem’dir.
Node Sertifikalarını Oluşturma
Node sertifikaları oluşturma süreci, yönetici sertifikalarına benzer. Ancak, node ana bilgisayar adı veya IP adresi ile CN değerini belirleyebilirsiniz.
Aşağıdaki komutu kullanarak node özel anahtarını oluşturun.
openssl genrsa -out node1-key-temp.pem 2048
Node özel anahtarını PKCS#8 biçimine dönüştürün. Node özel anahtarınız artık ‘node1-key.pem’ olmalıdır.
openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem
Ardından, node sertifikası için yeni bir CSR oluşturun. Node ana bilgisayar adıyla ‘CN’ değerini değiştirdiğinizden emin olun. Bu sertifika ana bilgisayarlara bağlıdır ve OpenSearch node’u ana bilgisayar adı veya IP adresi ile birlikte CN değerini belirtmeniz gerekir.
openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node1.hwdomain.lan" -out node1.csr
Node sertifikasını imzalamadan önce, bir SAN uzantı dosyası ‘node1.ext’ oluşturmak için aşağıdaki komutu çalıştırın. Bu işlem, node ana bilgisayar adını veya FQDN’yi veya IP adresini içerecektir
echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext
Son olarak, aşağıdaki komutu kullanarak node sertifikası CSR dosyasını root CA sertifikası ve özel ile imzalayın.
openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext
Bununla, node sertifikanız bir “node1.pem” dosyası ve özel anahtarınız “node1-key.pem” olur.
Sertifikaları Ayarlama
Geçici sertifika, CSR ve SAN uzantı dosyasını kaldırmak için aşağıdaki komutu çalıştırın.
rm *temp.pem *csr *ext
ls
Root CA sertifikasını .crt biçimine dönüştürün.
openssl x509 -outform der -in root-ca.pem -out root-ca.crt
Aşağıdaki komutu kullanarak root CA sertifikasını Debian sisteminize ekleyin. root-ca.crt dosyasını ‘/usr/local/share/ca-certificates/’ dizinine kopyalayın ve root kök CA sertifikasını sisteminize yükleyin.
sudo cp root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
‘1 eklendi’ çıktısı, yeni kök CA sertifikalarının sisteminize eklendiğini onaylar.

Son olarak, sertifikalarınızın uygun iznini ve sahipliğini ayarlamak için aşağıdaki komutu çalıştırın. ‘/opt/opensearch/config/certs’ dizininin sahibi, 0700 iznine sahip ‘opensearch’ kullanıcısı olmalıdır. Ve tüm sertifika dosyaları için, izin 0600 olmalıdır.
sudo chown -R opensearch /opt/opensearch/config/certs
sudo chmod 0700 /opt/opensearch/config/certs
sudo chmod 0600 /opt/opensearch/config/certs/*.pem
sudo chmod 0600 /opt/opensearch/config/certs/*.crt
OpenSearch’e TLS Sertifikaları Ekleme
Oluşturulan TLS sertifikaları ile root CA, yönetici sertifikaları ve node sertifikaları oluşturulur. Daha sonra ‘/opt/opensearch/config/opensearch.yml’ OpenSearch yapılandırma dosyasına sertifikalar ekleyeceksiniz. Bu örnekte, sertifikaları ve TLS güvenlik eklentisi ayarlarını OpenSearch’e ekleyecek yeni bir bash betiği oluşturacaksınız.
Aşağıdaki nano editör komutunu kullanarak yeni bir ‘add.sh’ dosyası oluşturun.
nano add.sh
Aşağıdaki satırları dosyaya ekleyin. Sertifika dosyalarınızın ve hedef OpenSearch yapılandırma dosyasının doğru yolunu değiştirip kullandığınızdan emin olun.
#! /bin/bash
# Before running this script, make sure to replace the /path/to your OpenSearch directory,
# and remember to replace the CN in the node's distinguished name with a real
# DNS A record.
echo "plugins.security.ssl.transport.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo " - 'CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /opt/opensearch/config/opensearch.yml
Tamamlandığında dosyayı kaydedin ve çıkın.
Ardından, ‘add.sh’ dosyasını çalıştırılabilir yapın ve çalıştırın. OpenSearch için yeni TLS güvenlik eklentisi ‘/opt/opensearch/config/opensearch.yml’ OpenSearch yapılandırma dosyasına eklenmelidir.
chmod +x add.sh
./add.sh
‘/opt/opensearch/config/opensearch.yml’ OpenSearch yapılandırma dosyasını kontrol ederseniz, yapılandırma dosyasının altında bunun gibi yeni ayarları görmeniz gerekir.

Bu noktada artık TLS sertifikalarını OpenSearch’e eklediniz ve güvenlik eklentilerini etkinleştirdiniz. Bir sonraki adımda, OpenSearch’te yeni bir kullanıcı oluşturarak kimlik doğrulama ve yetkilendirme ile OpenSearch’ü güvenceye alacaksınız.
OpenSearch’te Kullanıcı Oluşturma
Başlamadan önce, ‘OPENSEARCH_JAVA_HOME’ için ortam değişkenini ayarlamak ve OpenSearch güvenlik araçlarını çalıştırılabilir yapmak için aşağıdaki komutu çalıştırın.
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh
Çalışma dizininizi ‘/opt/opensearch/plugins/opensearch-security/tools’ konumuna taşıyın ve OpenSearch için hashlenmiş bir parola oluşturmak üzere ‘hash.sh’ komut dosyasını çalıştırın.
cd /opt/opensearch/plugins/opensearch-security/tools
./hash.sh
Parolanızı girin ve oluşturulan karma parolayı kopyalayın.
Çıktı:

Şimdi, OpenSearch Panoları için kullanılacak başka bir karma parola oluşturmak için ‘hash.sh’ komut dosyasını yeniden çalıştırın. Yeni parolayı girin ve oluşturulan karma parolayı kopyalayın.
./hash.sh
Parola karmasını oluşturduktan sonra, ‘internal_users.yml’ yapılandırma dosyası aracılığıyla bir OpenSearch kullanıcısı kuracaksınız.
Çalışma dizininizi ‘/opt/opensearch/config/opensearch-security/’ konumuna taşıyın ve aşağıdaki nano editör komutunu kullanarak ‘internal_users.yml’ dosyasını açın.
cd /opt/opensearch/config/opensearch-security/
sudo nano internal_users.yml
Varsayılan kullanıcı ayarlarını kaldırın ve bunları aşağıdaki satırlarla değiştirin. Karma parolayı, oluşturduğunuz parolayla değiştirdiğinizden emin olun. Bununla, OpenSearch Panoları tarafından kullanılacak ‘admin’ kullanıcısı ve ‘kibanaserver’ kullanıcısı olmak üzere iki OpenSearch kullanıcısı oluşturacaksınız.
...
...
admin:
hash: "$2y$12$ChrsBPaDAJsuel.HXFi2Ie2Jn1MpdzXA4Nd1jeyXf65N97RDJc3Ky"
reserved: true
backend_roles:
- "admin"
description: "Admin user"
kibanaserver:
hash: "$2y$12$wIeuRDp5txoJ3d6.lyybJOPwoRaizuuBvlKKzAGdAiu.I/qaX8hXu"
reserved: true
description: "Demo OpenSearch Dashboards user"
Tamamlandığında ‘internal_users.yml’ dosyasını kaydedin ve çıkın.

Ardından, OpenSearch kurulum dizininin ‘opensearch’ kullanıcısına ait olduğundan emin olmak için aşağıdaki komutu çalıştırın. Ardından, ‘opensearch’ kullanıcısı olarak oturum açın.
sudo chown -R opensearch /opt/opensearch
su - opensearch
‘/opt/opensearch/bin’ dizinine gidin ve OpenSearch kurulumunuzu çalıştırın. OpenSearch artık ‘9200’ varsayılan bağlantı noktasıyla ‘192.168.5.50’ yerel IP adresinde çalışıyor olmalıdır.
cd /opt/opensearch/bin
./opensearch
Buna benzer bir çıktı almalısınız:

Şimdi yeni bir terminal açın, OpenSearch sunucunuza bağlanın ve ‘opensearch’ kullanıcısı olarak oturum açın.
su - opensearch
Çalışma dizinini ‘/opt/opensearch/plugins/opensearch-security/tools’ konumuna taşıyın ve aşağıdaki gibi ‘securityadmin.sh’ komut dosyasını çalıştırın. OpenSearch ana bilgisayar IP adresini ve yönetici sertifikalarının yolunu değiştirdiğinizden emin olun.
Bu, OpenSearch sunucusuna bağlanacak ve ‘internal_users.yml’ dosyasında yapılandırdığınız OpenSearch kullanıcılarına yeni değişiklikler uygulayacaktır.
cd /opt/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk ./securityadmin.sh -h 192.168.5.50 -p 9200 -cd /opt/opensearch/config/opensearch-security/ -cacert /opt/opensearch/config/certs/root-ca.pem -cert /opt/opensearch/config/certs/admin.pem -key /opt/opensearch/config/certs/admin-key.pem -icl -nhnv
Çıktı:

Şimdi ilk terminale geri dönün ve ‘Ctrl+c’ düğmesine basarak OpenSearch sunucusunu sonlandırın. Ardından, OpenSearch sunucusunu yeniden çalıştırın.
./opensearch
Bu noktada, OpenSearch sunucusu şimdi yapılandırılmış yeni bir kullanıcı ile çalışıyor.
İkinci terminal oturumuna geri dönün ve OpenSearch sunucunuzu doğrulamak için aşağıdaki komutu çalıştırın. Bununla OpenSearch kullanıcısı ‘admin’ ve ‘kibanaserver’ olarak kimlik doğrulaması yapacaksınız. Ayrıca, her kullanıcı için parolayı değiştirdiğinizden emin olun.
curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
Kimlik doğrulama başarılı olduğunda, OpenSearch sunucunuzun ayrıntılarını görmelisiniz.
Çıktı – ‘admin’ kullanıcı olarak doğrulandı

Çıktı – bir ‘kibanaserver’ kullanıcısı olarak doğrulandı.

Bununla, artık OpenSearch sunucusunda kimlik doğrulama ve yetkilendirmeyi başarıyla yapılandırdınız. Şimdi ilk terminal oturumuna geri dönün ve OpenSearch işlemi için terminale Ctrl+c tuşlarına basın.
Bir sonraki adımda, OpenSearch sunucusunu çalıştırmak için kullanılacak bir sistemd hizmet dosyası kuracaksınız.
OpenSearch’ü Systemd Hizmeti Olarak Çalıştırma
Bu bölümde, arka planda bir sistemd hizmeti olarak OpenSearch sunucusunu çalıştıracaksınız. Bunu başarmak için, yeni bir sistemd hizmet dosyası oluşturmanız, sistemd yöneticisini yeniden yüklemeniz ve ardından systemctl komut yardımcı programı aracılığıyla OpenSearch’ü çalıştırıp etkinleştirmeniz gerekir.
Aşağıdaki nano editör komutunu kullanarak yeni bir sistemd hizmet dosyası ‘/etc/systemd/system/opensearch.service’ oluşturun.
sudo nano /etc/systemd/system/opensearch.service
Aşağıdaki satırları dosyaya ekleyin.
[Unit]
Description=OpenSearch
Wants=network-online.target
After=network-online.target
[Service]
Type=forking
RuntimeDirectory=data
WorkingDirectory=/opt/opensearch
ExecStart=/opt/opensearch/bin/opensearch -d
User=opensearch
Group=opensearch
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65535
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
TimeoutStartSec=75
[Install]
WantedBy=multi-user.target
Tamamlandığında dosyayı kaydedin ve kapatın.
Ardından, systemd yöneticisini yeniden yüklemek ve değişiklikleri uygulamak için aşağıdaki systemctl komutunu çalıştırın.
sudo systemctl daemon-reload
Ardından, aşağıdaki systemctl komutunu kullanarak OpenSearch hizmetini başlatın ve etkinleştirin. Bununla, OpenSearch hizmeti artık bir systemd hizmeti olarak arka planda çalışıyor olmalı ve etkinleştirilmelidir, bu da OpenSearch’ün sistem başlangıcında otomatik olarak başlayacağı anlamına gelir.
sudo systemctl start opensearch
sudo systemctl enable opensearch
Çıktı:

Şimdi, hizmetin çalıştığından emin olmak için OpenSearch hizmetini doğrulayın. OpenSearch hizmetinin çalıştığına ve artık etkinleştirildiğine dair bir çıktı görmelisiniz.
sudo systemctl status opensearch
Çıktı:

OpenSearch’e karşı kimlik doğrulaması yapmak için OpenSearch sunucusunu curl komutuyla da doğrulayabilirsiniz.
curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
OpenSearch çalışıyorsa, kimliğinizin doğrulanması ve OpenSearch kurulumunuz hakkında ayrıntılı bilgi almanız gerekir.
OpenSearch admin kullanıcısı için.

kibanaserver kullanıcıları için.

Aşağıdaki ss komutu ile sisteminizdeki açık portların listesini de doğrulayabilirsiniz. OpenSearch sunucusu olan Java uygulaması tarafından 9200 ve 9300 bağlantı noktalarının açıldığını görmelisiniz.
ss -tulpn
Çıktı:

Bununla, OpenSearch kurulumunu tamamladınız. Ve şimdi, varsayılan bağlantı noktası 9200 olan yerel IP adresi 192.168.5.50 üzerinde çalışıyor. Arka planda bir systemd hizmeti olarak çalışıyor ve sistem önyüklemesi sırasında otomatik olarak başlayacak.
OpenSearch Panolarını Yükleme
Bu adımda OpenSearch Dashboards paketini indirecek ve Tarball üzerinden manuel olarak kuracaksınız. Ayrıca, OpenSearch Dashboard’un nasıl çalışması gerektiğini ve OpenSearch sunucusuna kullanıcı adı ve parola ile nasıl bağlanılacağını da ayarlayacaksınız.
Aşağıdaki wget komutu aracılığıyla OpenSearch Dashboards paketini indirin.
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz
İndirme işlemi bittiğinde, aşağıdaki tar komutuyla OpenSearch Dashboards paketini çıkarın. Yeni bir ‘opensearch-dashboards-2.4.1’ dizini almalısınız.
tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz
OpenSearch Dashboard dizinini ‘/opt/opensearch-dashboards’ konumuna taşıyın. Ardından, bu dizinin sahipliğini ‘opensearch’ kullanıcısı olarak değiştirin.
mv opensearch-dashboards-* /opt/opensearch-dashboards
sudo chown -R opensearch /opt/opensearch-dashboards
Ardından, çalışma dizininizi ‘/opt/opensearch-dashboards’ konumuna taşıyın ve aşağıdaki nano editör komutunu kullanarak OpenSearch Dashboards yapılandırma dosyası ‘config/opensearch_dashboards.yml’yi açın.
cd /opt/opensearch-dashboards
sudo nano config/opensearch_dashboards.yml
Aşağıdaki satırların açıklamasını kaldırın ve her parametrenin değerini kendi ayarlarınızla değiştirin. Bu örnekte, OpenSearch Panolarını ‘5601’ varsayılan bağlantı noktasında ve ‘192.168.5.50’ sunucu IP adresinde çalıştırıyor olacaksınız.
# OpenSearch Dashboards is served by a back end server. This setting specifies the port to use.
server.port: 5601
# Specifies the address to which the OpenSearch Dashboards server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "192.168.5.50"
Ardından, satırın altına aşağıdaki satırları ekleyin. ‘opensearch.hosts’, ‘opensearch.username’ ve ‘opensearch.password’ parametrelerini OpenSearch sunucu bilgilerinizle değiştirdiğinizden emin olun.
opensearch.hosts: [https://192.168.5.50:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass
Tamamlandığında ‘config/opensearch_dashboards.yml’ dosyasını kaydedin ve çıkın.

Artık OpenSearch Dashboard’u indirdiniz ve OpenSearch sunucusuna bağlanacak şekilde yapılandırdınız. Ardından, OpenSearch Panolarını çalıştırmak için kullanılacak bir sistemd hizmet dosyası kuracaksınız.
OpenSearch Dashboard’larını Systemd Hizmeti Olarak Çalıştırma
Bu adımda, OpenSearch Panolarını çalıştırmak için kullanılacak yeni bir systemd hizmeti oluşturacaksınız.
Aşağıdaki nano editör komutunu kullanarak yeni bir sistemd hizmet dosyası ‘/etc/systemd/system/opensearch-dashboards.service’ oluşturun.
sudo nano /etc/systemd/system/opensearch-dashboards.service
Aşağıdaki satırları dosyaya ekleyin.
[Unit]
Description=OpenSearch-Dashboards
Wants=network-online.target
After=network-online.target opensearch.service
[Service]
Type=simple
User=opensearch
Environment=NODE_ENV=production
Environment=CONFIG_PATH=/opt/opensearch-dashboards/config/opensearch_dashboards.yml
WorkingDirectory=/opt/opensearch-dashboards
ExecStart=/opt/opensearch-dashboards/bin/opensearch-dashboards
StandardOutput=journal
StandardError=inherit
Restart=on-failure
[Install]
WantedBy=multi-user.target
Tamamlandığında dosyayı kaydedin ve çıkın.
Ardından, systemd yöneticisini yeniden yüklemek ve yeni değişiklikleri uygulamak için aşağıdaki systemctl komutunu çalıştırın.
sudo systemctl daemon-reload
Ardından, aşağıdaki systemctl komutunu kullanarak OpenSearch Dashboards hizmetini başlatın ve etkinleştirin. Bununla, OpenSearch Dashboards hizmeti çalışıyor ve etkinleştirilmelidir; bu, OpenSearch Dashboard hizmetinin sistem başlangıcında otomatik olarak başlayacağı anlamına gelir.
sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards
Aşağıdaki komutu kullanarak OpenSearch Dashboards hizmetini doğrulayın.
sudo systemctl status opensearch-dashboards
“active (running)” çıktısı, OpenSearch Dashboards hizmetinin çalıştığını onaylar. Ve çıktı ‘…; enabled;…’, hizmetin etkinleştirildiğini onaylar.
Bununla, OpenSearch Panoları artık Debian sunucunuzda ‘/opt/opensearch-dashboards/config/opensearch_dashboards.yml’ varsayılan yapılandırma dosyasıyla çalışıyor. Sunucu IP adresi 192.168.5.50 olan varsayılan bağlantı noktası 5601’de çalışıyor
OpenSearch Gösterge Tablolarına Erişim
Web tarayıcınızı açın ve 5601 numaralı bağlantı noktasına sahip OpenSearch Dashboards IP adresini ziyaret edin (yani: http:192.168.5.50:5601). Şimdi OpenSearch Dashboards giriş sayfasını göreceksiniz.
Oluşturduğunuz kullanıcı adınızı ve şifrenizi girin. Bu örnekte, kullanıcı ‘kibanaserver’dır. Ardından, onaylamak ve OpenSearch Dashboards’ta oturum açmak için ‘Oturum aç’ düğmesine tıklayın.

Başarılı olduğunuzda, ‘OpenSearch Dashboards’a Hoş Geldiniz’ mesajını içeren aşağıdaki sayfayı almalısınız. Artık OpenSearch sunucunuza yeni veriler eklemek için ‘Veri ekle’yi veya daha sonraki bir kurulum için ‘Kendimi keşfet’i tıklayabilirsiniz.

Ardından, OpenSearch Panolarının OpenSearch sunucusuna bağlı olduğundan emin olmak için aşağıdaki adımları uygulayacaksınız:
Soldaki menüye tıklayın, Yönetim bölümüne gidin ve ‘Geliştirme Araçları’na tıklayın.

Şimdi konsola ‘GET /’ sorgusunu girin ve oynat düğmesine tıklayın. Başarılı olduğunuzda, sağ tarafta OpenSearch sunucunuz hakkında ayrıntılı bilgi içeren çıktıyı görmelisiniz. Ayrıca, sağ üstte sorgunun hatasız yürütüldüğünü onaylayan ‘200 – OK’ HTTP kodunu görebilirsiniz.

Bunu göz önünde bulundurarak, OpenSearch Dashboards kurulumunu Tarball aracılığıyla Debian sunucusuna tamamladınız. Ayrıca OpenSearch Dashboard’u OpenSearch sunucusuna bağlanacak şekilde yapılandırdı.
Bu kurulumla, artık OpenSearch Kümesini dağıtarak, ek kimlik doğrulama ayarlayarak ve çok daha fazlasını yaparak OpenSearch hakkında daha fazlasını keşfedebilirsiniz. OpenSearch ile ilgili tüm bunları OpenSearch’ün resmi belgelerinden öğrenebilirsiniz.
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.