Ինչպես տեղադրել OpenSearch-ը Debian 11-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)

Այս էջում

  1. Նախադրյալներ
  2. Կարգավորման համակարգ
  3. Բեռնվում է OpenSearch-ը
  4. OpenSearch-ի կարգավորում
  5. TLS վկայագրերի ստեղծում

    1. Root CA վկայագրերի ստեղծում
    2. Ադմինիստրատորի վկայագրերի ստեղծում
    3. Հանգույցի վկայագրերի ստեղծում
    4. Հավաստագրերի կարգավորում
  6. TLS վկայագրերի ավելացում OpenSearch-ում
  7. Օգտատիրոջ ստեղծում OpenSearch-ում
  8. Աշխատում է OpenSearch-ը որպես համակարգված ծառայություն
  9. OpenSearch Dashboards-ի տեղադրում
  10. OpenSearch Dashboard-ների գործարկումը որպես Systemd Service
  11. Մուտք գործել OpenSearch Dashboards
  12. Եզրակացություն

OpenSearch-ը համայնքի վրա հիմնված նախագիծ է Amazon-ի կողմից և Elasticsearch-ի և Kibana-ի պատառաքաղ: այն լիովին բաց կոդով որոնման համակարգ է և վերլուծական հավաքակազմ՝ հարուստ հնարավորություններով և նորարարական ֆունկցիոնալությամբ: OpenSearch նախագծի հիմնական բաղադրիչն է OpenSearch-ը (Elasticsearch-ի պատառաքաղ) և OpenSearch Dashboards-ը (Kibana-ի պատառաքաղ): Երկու բաղադրիչներն էլ ապահովում են այնպիսի առանձնահատկություններ, ինչպիսիք են ձեռնարկության անվտանգությունը, զգուշացումը, մեքենայական ուսուցումը, SQL, ինդեքսային վիճակի կառավարումը և այլն:

OpenSearch-ը 100% բաց կոդով է և լիցենզավորված է Apache 2.0-ի լիցենզիայի ներքո: Այն հնարավորություն է տալիս հեշտությամբ ներծծել, ապահովել, որոնել, համախմբել, դիտել և վերլուծել տվյալները մի շարք օգտագործման դեպքերի համար, ինչպիսիք են տեղեկամատյանների վերլուծությունը, հավելվածների որոնումը, ձեռնարկությունների որոնումը և այլն:

Այս ձեռնարկում դուք կտեղակայեք OpenSearch-ը՝ բաց կոդով որոնման, վերլուծության և վիզուալիզացիայի փաթեթը, Debian 11 սերվերում: Այս գործընթացը ներառում է OpenSearch փաթեթի ներբեռնումը և այն ձեռքով տեղադրել ձեր Debian համակարգում: Դուք նաև կստեղծեք անվտանգ SSL/TLS վկայագրեր OpenSearch-ի համար և կապահովեք տեղակայումը նույնականացման և թույլտվության միջոցով:

Բացի դրանից, դուք նաև կտեղակայեք և կտեղադրեք OpenSearch Dashboards-ը՝ բաց կոդով վիզուալիզացիայի գործիք, և այն կկարգավորեք OpenSearch-ով: Ի վերջո, դուք կունենաք տվյալների վերլուծություն և վիզուալիզացիա, որը կտեղադրվի ձեր Debian սերվերում, և դուք պետք է ուղարկեք ձեր տվյալները այնպիսի գործիքների միջոցով, ինչպիսիք են fluentd, Logstash, filebeat և շատ ավելին:

Նախադրյալներ

Այս ուղեցույցը լրացնելու համար դուք պետք է ունենաք հետևյալ պահանջները.

  • Debian 11 տեղադրմամբ և առնվազն 8 ԳԲ RAM-ով սերվեր: Այս օրինակն օգտագործում է Debian համակարգ՝ «node1» հոսթի անունով և տեղական IP հասցեով «192.168.5.50»:
  • Ոչ արմատային օգտվող, sudo/root ադմինիստրատորի արտոնություններով:

Եթե այս պահանջները պատրաստ են, կարող եք հիմա սկսել OpenSearch-ի տեղադրումը:

Կարգավորման համակարգ

Առաջին քայլում դուք կկարգավորեք և օպտիմիզացրեք ձեր Debian սերվերը OpenSearch-ի տեղակայման համար: Դուք կկարգավորեք համակարգի հոսթի անունը և fqdn, անջատեք հիշողության էջավորումը և փոխանակեք, այնուհետև կավելացնեք հիշողության քարտեզների առավելագույն թիվը:

Հիշողության էջավորումն անջատելը և OpenSearch հոսթում փոխանակելը կբարելավի աշխատանքը: Հիշողության առավելագույն քարտեզների համար դուք պետք է ստեղծեք մի շարք առնվազն «262144» արտադրության համար:

Գործարկեք ստորև «hostnamectl» հրամանը՝ համակարգի հոսթի անունը կարգավորելու համար: Այնուհետև ավելացրեք fqdn կոնֆիգուրացիան «/etc/hosts» ֆայլին: Այս օրինակում հոսթի անունը պետք է լինի 'node1' fqdn 'node1.hwdomain.lan' հետ:

sudo hostnamectl set-hostname node1
echo "192.168.5.50  node1.hwdomain.lan  node1" >> /etc/hosts

Այժմ ստուգեք ձեր սերվերի fqdn-ը ստորև նշված hostname հրամանի միջոցով: Օրինակում սերվերի fqdn-ը պետք է լինի «node1.hwdomain.lan»:

hostname -f

Արդյունք:

Հաջորդը, դուք պետք է անջատեք փոխանակումը ձեր համակարգում: Անկախ նրանից, թե դուք օգտագործում եք փոխանակում բաժանման կամ ֆայլի միջոցով, փոխանակման կոնֆիգուրացիան պահվում է «/etc/fstab» ֆայլում:

Գործարկեք ստորև նշված հրամանը՝ ձեր համակարգում փոխանակումն անջատելու համար: «sed» հրամանն այստեղ ընդմիշտ կանջատի փոխանակումը '/etc/fstab' ֆայլի միջոցով՝ ավելացնելով «#» խրախուսումը սկզբում: տողերի փոխանակման կարգավորումներ: «swapoff» հրամանը ընթացիկ նստաշրջանում կանջատի փոխանակումը:

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a

Ստուգեք փոխանակման կարգավիճակը ստորև նշված հրամանի միջոցով: Եթե անջատված է, դուք պետք է ելք ստանաք «0» փոխանակման բաժնում:

free -m

Արդյունք:

Վերջապես, դուք կավելացնեք կազմաձևումը «/etc/sysctl.conf» ֆայլում՝ ձեր համակարգի առավելագույն հիշողության քարտեզները մեծացնելու համար:

Գործարկեք ստորև նշված հրամանը՝ «/etc/sysctl.conf» ֆայլում «vm.max_map_count=262144» պարամետրը ավելացնելու համար: Այնուհետև կիրառեք փոփոխությունները «sysctl -p» հրամանի միջոցով:

sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p

Ստուգեք հիշողության առավելագույն քարտեզները՝ գործարկելով ստորև նշված հրամանը: Եթե հաջողվի, ձեր հիշողության առավելագույն քարտեզը պետք է լինի «262144»:

cat /proc/sys/vm/max_map_count

Արդյունք:

Եթե ձեր համակարգը կազմաձևված և օպտիմիզացված է, դուք պատրաստ եք դրա վերևում տեղադրել OpenSearch-ը:

Բեռնվում է OpenSearch-ը

OpenSearch-ը կարող է տեղադրվել բազմաթիվ եղանակներով: Այս օրինակում դուք կտեղադրեք OpenSearch-ը Tarball-ի միջոցով: Այս քայլում դուք կստեղծեք նոր հատուկ համակարգի օգտվող «opensearch», ներբեռնեք OpenSearch tarball փաթեթը, ապա կստեղծեք OpenSearch տեղադրման գրացուցակը ճիշտ թույլտվություններով և սեփականության իրավունքով:

Նախ, ավելացրեք համակարգի նոր օգտվողին «opensearch»՝ օգտագործելով ստորև նշված հրամանը:

sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch

Ավելացրեք «opensearch» նոր խումբ՝ օգտագործելով ներքևում գտնվող groupadd հրամանը: Այնուհետև ավելացրեք ձեր համակարգի «opensearch» օգտատերը «opensearch» խմբին usermod հրամանի միջոցով:

sudo groupadd opensearch
sudo usermod -aG opensearch opensearch

Այժմ ստեղծեք նոր տնային գրացուցակ '/home/opensearch' և փոխեք «/home/opensearch» տնային գրացուցակի սեփականությունը «opensearch»: >' օգտվող:

mkdir -p /home/opensearch
sudo chown -R opensearch /home/opensearch

Արդյունք:

Հաջորդը, ներբեռնեք OpenSource փաթեթը wget հրամանի միջոցով: Ներբեռնումն ավարտվելուց հետո ֆայլը հանեք ներքևում գտնվող tar հրամանի միջոցով: Այս օրինակում դուք կտեղադրեք OpenSearch 2.4.1-ը: Ստուգեք OpenSearch-ի վերջին տարբերակը ներբեռնման պաշտոնական էջում:

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 փաթեթի արդյունահանումից հետո արդյունահանված գրացուցակը տեղափոխեք '/opt/opensearch': Սա կլինի OpenSearch-ի հիմնական տեղադրման գրացուցակը: Այնուհետև գործարկեք chown հրամանը՝ «/opt/opesearch» գրացուցակի սեփականության իրավունքը փոխելու «opensearch» օգտագործողի:

mv opensearch-2.4.1 /opt/opensearch
sudo chown -R opensearch /opt/opensearch

Արդյունք:

Այժմ, երբ դուք ներբեռնել եք OpenSearch փաթեթը, կարգավորեք նպատակային տեղադրման գրացուցակը «/opt/opensearch»: Հաջորդը, դուք կկարգավորեք և կարգավորեք ձեր OpenSearch տեղադրումը:

OpenSearch-ի կարգավորում

Այս քայլում դուք կկարգավորեք OpenSearch-ը, որպեսզի աշխատի որոշակի IP հասցեով, աշխատի մեկ հանգույցով, միացնեք OpenSearch անվտանգության հավելումները և կստեղծեք առավելագույն կուտակային հիշողություն OpenSearch գործընթացի համար: Այս ամենը կարելի է անել՝ խմբագրելով OpenSearch կազմաձևման ֆայլը '/opt/opensearch/config/opensearch.yml' և OpenSearch JVM ընտրանքների ֆայլը 'config/jvm.options' >.

Տեղափոխեք աշխատանքային գրացուցակը «/opt/opensearch»՝ cd հրամանի միջոցով:

cd /opt/opensearch

Բացեք OpenSearch կազմաձևման ֆայլը 'config/opensearch.yml' օգտագործելով ստորև բերված նանո խմբագրիչ հրամանը:

sudo nano config/opensearch.yml

Ֆայլին ավելացրեք հետևյալ տողերը.

# 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

Ավարտելուց հետո պահպանեք և դուրս եկեք «config/opensearch.yml» ֆայլից:

Մանրամասների պարամետրեր.

  • «network.host» պարամետրն օգտագործվում է OpenSearch-ը որոշակի IP հասցեին կապելու համար: Այս օրինակում OpenSearch-ը կաշխատի «192.168.5.50» ներքին IP հասցեով:
  • «discovery.type: single-node» պարամետրն օգտագործվում է, երբ ցանկանում եք OpenSearch-ը տեղակայել մեկ հանգույցում:
  • «plugins.security.disabled» պարամետրը դրված է «false», ինչը նշանակում է, որ OpenSearch-ի անվտանգության հավելվածը միացված կլինի:

Այնուհետև բացեք «config/jvm.options» ֆայլը՝ օգտագործելով ստորև նշված նանո խմբագրիչ հրամանը:

sudo nano config/jvm.options

Կարգավորեք առավելագույն կուտակային հիշողությունը OpenSearch գործընթացի համար: Այս կարգավորումը կախված է ձեր սերվերի հասանելի հիշողությունից կամ RAM-ից: Այս օրինակը կհատկացնի 2ԳԲ հիշողություն OpenSearch-ի համար:

-Xms2g
-Xmx2g

Ավարտելուց հետո պահպանեք և դուրս եկեք «config/jvm.options» ֆայլից:

Ի վերջո, գործարկեք ստորև նշված հրամանը՝ ձեր ընթացիկ նստաշրջանում «OPENSEARCH_JAVA_HOME» միջավայրի փոփոխական կարգավորելու համար: OpenSearch փաթեթը ներառում էր պահանջվող java և JDK փաթեթները, որոնք հասանելի են '/opt/opensearch/jdk' գրացուցակում:

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
echo $OPENSEARCH_JAVA_HOME

Ավարտված OpenSearch-ի հիմնական կազմաձևերով: Հաջորդը, դուք կստեղծեք TLS վկայականներ և կապահովեք OpenSearch-ի տեղակայումը:

TLS վկայագրերի ստեղծում

Այս քայլում դուք կստեղծեք բազմաթիվ վկայագրեր, որոնք կօգտագործվեն OpenSearch-ի տեղակայումն ապահովելու համար: Դուք կապահովեք հանգույցից հանգույց հաղորդակցությունը TLS վկայագրերով և կապահովեք REST շերտի տրաֆիկները հաճախորդ-սերվեր հաղորդակցությունների միջև TLS-ի միջոցով:

Ստորև ներկայացված է այն վկայագրերի ցանկը, որոնք կստեղծվեն.

  • Root CA վկայագրեր. այս վկայագրերը կօգտագործվեն այլ վկայագրեր ստորագրելու համար:
  • Ադմինիստրատորի վկայականներ. այս վկայագրերը կօգտագործվեն՝ ադմինիստրատիվ իրավունքներ ստանալու համար՝ բոլոր առաջադրանքների հետ կապված անվտանգության հավելվածը կատարելու համար:
  • Հանգույցի և հաճախորդի վկայագրեր. այս վկայագրերը կօգտագործվեն OpenSearch կլաստերի մեջ գտնվող հանգույցների և հաճախորդների կողմից:

Նախքան սկսելը, գործարկեք ստորև նշված հրամանը՝ ստեղծելու նոր գրացուցակ «/opt/opensearch/config/certs» և տեղափոխեք ձեր աշխատանքային գրացուցակը այնտեղ: Այս գրացուցակը կօգտագործվի TLS վկայագրերը պահելու համար:

mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs

Root CA վկայագրերի ստեղծում

Ստեղծեք անձնական բանալի արմատային CA վկայագրերի համար՝ օգտագործելով ստորև:

openssl genrsa -out root-ca-key.pem 2048

Այժմ ստեղծեք ինքնաստորագրված արմատային CA վկայագիր ստորև նշված հրամանի միջոցով: Դուք կարող եք նաև փոխել արժեքները '-subj' պարամետրում ձեր տեղեկություններով:

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

Դրանով դուք պետք է ստանաք «root-ca-key.pem» արմատային CA-ի մասնավոր բանալին և «root-ca.pem» արմատային CA վկայագիրը:

Արդյունք:

Ադմինիստրատորի վկայագրերի ստեղծում

Ստեղծեք նոր ադմինիստրատորի վկայականի անձնական բանալին «admin-key-temp.pem»՝ օգտագործելով ստորև նշված հրամանը:

openssl genrsa -out admin-key-temp.pem 2048

Վերափոխեք ադմինիստրատորի կանխադրված անձնական բանալին PKCS#8 ձևաչափի: Java հավելվածի համար դուք պետք է փոխարկեք լռելյայն մասնավոր բանալին PKCS#12-ին համատեղելի ալգորիթմի (3DES): Այս դեպքում ձեր ադմինիստրատորի անձնական բանալին պետք է լինի «admin-key.pem»:

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

Այնուհետև գործարկեք ստորև նշված հրամանը՝ «admin-key.pem» մասնավոր բանալիից ադմինիստրատորի CSR (Վկայագրի ստորագրման հարցում) ստեղծելու համար: Ձեր ստեղծած CSR-ն այժմ պետք է լինի «admin.csr» ֆայլը:

Քանի որ այս վկայագիրն օգտագործվում է բարձրացված մուտքի նույնականացման համար և կապված չէ որևէ հոսթինգի հետ, դուք կարող եք ցանկացած բան օգտագործել «CN» կազմաձևում:

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

Ի վերջո, գործարկեք ստորև նշված հրամանը՝ ադմինիստրատորի CSR-ն արմատային CA վկայականով և անձնական բանալիով ստորագրելու համար: Ադմինիստրատորի վկայագրի ելքը «admin.pem» ֆայլն է:

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Ձեր ադմինիստրատորի վկայականն այժմ պետք է լինի «admin.pem» ֆայլ, որը ստորագրված է արմատային CA վկայագրերով: Իսկ ադմինիստրատորի անձնական բանալին «admin-key.pem» է, որը փոխարկվում է PKCS#8 ձևաչափի:

Արդյունք:

Հանգույցի վկայագրերի ստեղծում

Հանգույցի վկայագրերի ստեղծման գործընթացը նման է ադմինիստրատորի վկայականներին: Բայց դուք կարող եք նշել CN արժեքը ձեր հանգույցի հոսթի անվան կամ IP հասցեով:

Ստեղծեք հանգույցի մասնավոր բանալին՝ օգտագործելով ստորև նշված հրամանը:

openssl genrsa -out node1-key-temp.pem 2048

Փոխակերպեք հանգույցի մասնավոր բանալին PKCS#8 ձևաչափի: Ձեր հանգույցի մասնավոր բանալին այժմ պետք է լինի «node1-key.pem»:

openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem

Հաջորդը, ստեղծեք նոր CSR հանգույցի վկայագրի համար: Համոզվեք, որ փոխեք «CN» արժեքը ձեր հանգույցի հյուրընկալողի անունով: Այս վկայագիրը կապված է հոսթների հետ, և դուք պետք է նշեք CN արժեքը ձեր OpenSearch հանգույցի հոսթի անվան կամ IP հասցեի հետ:

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

Նախքան հանգույցի վկայագիրը ստորագրելը, գործարկեք ստորև նշված հրամանը՝ «node1.ext» SAN ընդլայնման ֆայլ ստեղծելու համար: Սա կպարունակի հանգույցի հոսթի անունը կամ FQDN կամ IP հասցեն

echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext

Ի վերջո, ստորագրեք հանգույցի վկայագրի CSR ֆայլը արմատային CA վկայականով և մասնավոր՝ օգտագործելով ստորև նշված հրամանը:

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

Դրանով ձեր հանգույցի վկայականը «node1.pem» ֆայլ է, իսկ մասնավոր բանալին՝ «node1-key.pem»:

Արդյունք:

Հավաստագրերի կարգավորում

Գործարկեք ստորև նշված հրամանը՝ հեռացնելու ժամանակավոր վկայականը, CSR-ն և SAN ընդլայնման ֆայլը:

rm *temp.pem *csr *ext
ls

Փոխարկեք արմատային CA վկայագիրը .crt ձևաչափի:

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

Ավելացրեք արմատային CA վկայականը ձեր Debian համակարգին՝ օգտագործելով ստորև նշված հրամանը: Պատճենեք root-ca.crt ֆայլը '/usr/local/share/ca-certificates/' գրացուցակում և բեռնեք նոր արմատային CA վկայագիրը ձեր համակարգում:

sudo cp root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

«1 ավելացվել է» ելքը հաստատում է, որ նոր արմատային CA վկայագրերն ավելացվել են ձեր համակարգին:

Ի վերջո, գործարկեք ստորև նշված հրամանը՝ ձեր վկայականների պատշաճ թույլտվությունը և սեփականության իրավունքը կարգավորելու համար: '/opt/opensearch/config/certs' գրացուցակի սեփականատերը պետք է լինի «opensearch» օգտվողը՝ 0700 թույլտվությամբ: Եվ բոլոր վկայագրերի ֆայլերի համար թույլտվությունը պետք է լինի 0600:

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

TLS վկայագրերի ավելացում OpenSearch-ում

Ստեղծված TLS վկայագրերի դեպքում արմատային CA-ն, ադմինիստրատորի վկայականները և հանգույցի վկայագրերն են: Հաջորդիվ դուք վկայականներ կավելացնեք OpenSearch կազմաձևման ֆայլում '/opt/opensearch/config/opensearch.yml': Այս օրինակում դուք կստեղծեք նոր bash սկրիպտ, որը OpenSearch-ին կավելացնի վկայականներ և TLS անվտանգության հավելվածի կարգավորումներ:

Ստեղծեք նոր ֆայլ 'add.sh' օգտագործելով ստորև բերված նանո խմբագրիչ հրամանը:

nano add.sh

Ֆայլին ավելացրեք հետևյալ տողերը. Համոզվեք, որ փոխեք և օգտագործեք ձեր վկայագրի ֆայլերի և թիրախային OpenSearch կազմաձևման ֆայլի ճիշտ ուղին:

#! /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

Ավարտելուց հետո պահպանեք և դուրս եկեք ֆայլից:

Այնուհետև «add.sh» ֆայլը դարձրեք գործարկելի և կատարեք այն: OpenSearch-ի համար TLS անվտանգության նոր հավելվածը պետք է ավելացվի «/opt/opensearch/config/opensearch.yml» OpenSearch կազմաձևման ֆայլում:

chmod +x add.sh
./add.sh

Արդյունք:

Եթե ստուգեք OpenSearch կազմաձևման ֆայլը '/opt/opensearch/config/opensearch.yml', ապա դուք պետք է տեսնեք այսպիսի նոր կարգավորումները կազմաձևման ֆայլի ներքևում:

Այս պահին դուք այժմ ավելացրել եք TLS վկայագրեր OpenSearch-ում և միացրել եք անվտանգության հավելումները: Հաջորդ քայլում դուք կապահովեք OpenSearch-ը նույնականացման և թույլտվության միջոցով՝ OpenSearch-ում նոր օգտվող ստեղծելով:

Օգտատիրոջ ստեղծում OpenSearch-ում

Նախքան սկսելը, գործարկեք ստորև նշված հրամանը՝ «OPENSEARCH_JAVA_HOME»-ի միջավայրի փոփոխականը կարգավորելու և OpenSearch անվտանգության գործիքները գործարկելի դարձնելու համար:

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh

Տեղափոխեք ձեր աշխատանքային գրացուցակը «/opt/opensearch/plugins/opensearch-security/tools» և գործարկեք «hash.sh» սկրիպտը՝ OpenSearch-ի համար հաշված գաղտնաբառ ստեղծելու համար:

cd /opt/opensearch/plugins/opensearch-security/tools
./hash.sh

Մուտքագրեք ձեր գաղտնաբառը և պատճենեք ստեղծված հեշ գաղտնաբառը:

Արդյունք:

Այժմ նորից գործարկեք «hash.sh» սկրիպտը՝ մեկ այլ հեշ գաղտնաբառ ստեղծելու համար, որը կօգտագործվի OpenSearch Dashboards-ի համար: Մուտքագրեք նոր գաղտնաբառը և պատճենեք ստեղծված հեշ գաղտնաբառը:

./hash.sh

Գաղտնաբառի հաշը ստեղծելուց հետո դուք կստեղծեք OpenSearch օգտվող 'internal_users.yml' կազմաձևման ֆայլի միջոցով:

Տեղափոխեք ձեր աշխատանքային գրացուցակը «/opt/opensearch/config/opensearch-security/» և բացեք ֆայլը 'internal_users.yml'՝ օգտագործելով ստորև բերված նանո խմբագրիչի հրամանը:

cd /opt/opensearch/config/opensearch-security/
sudo nano internal_users.yml

Հեռացրեք օգտատիրոջ լռելյայն կարգավորումները և փոխարինեք դրանք հետևյալ տողերով. Համոզվեք, որ փոխեք հեշ գաղտնաբառը ձեր ստեղծած գաղտնաբառով: Դրանով դուք կստեղծեք OpenSearch-ի երկու օգտատեր՝ «admin» և «kibanaserver» օգտվողը, որը կօգտագործվի OpenSearch Dashboards-ի կողմից:

...
...
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"

Ավարտելուց հետո պահպանեք և դուրս եկեք «internal_users.yml» ֆայլից:

Այնուհետև գործարկեք ստորև նշված հրամանը՝ ապահովելու OpenSearch տեղադրման գրացուցակի սեփականությունը «opensearch» օգտվողին: Այնուհետև մուտք գործեք որպես «opensearch» օգտվող:

sudo chown -R opensearch /opt/opensearch
su - opensearch

Տեղափոխեք «/opt/opensearch/bin» գրացուցակը և գործարկեք ձեր OpenSearch տեղադրումը: OpenSearch-ն այժմ պետք է գործարկվի «192.168.5.50» տեղական IP հասցեով՝ «9200» լռելյայն միացքով:

cd /opt/opensearch/bin
./opensearch

Դուք պետք է ստանաք նման արդյունք.

Այժմ բացեք նոր տերմինալ, միացեք ձեր OpenSearch սերվերին, ապա մուտք գործեք որպես «opensearch» օգտվող:

su - opensearch

Տեղափոխեք աշխատանքային գրացուցակը «/opt/opensearch/plugins/opensearch-security/tools» և գործարկեք «securityadmin.sh» սցենարը, ինչպես ստորև: Համոզվեք, որ փոխեք OpenSearch հյուրընկալողի IP հասցեն և ադմինիստրատորի վկայականների ուղին:

Սա կմիանա OpenSearch սերվերին և նոր փոփոխություններ կկիրառի OpenSearch օգտվողների վրա, որոնք դուք կարգավորել եք «internal_users.yml» ֆայլում:

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

Արդյունք:

Այժմ վերադարձեք առաջին տերմինալ և դադարեցրեք OpenSearch սերվերը՝ սեղմելով 'Ctrl+c' կոճակը: Այնուհետև նորից գործարկեք OpenSearch սերվերը:

./opensearch

Այս պահին OpenSearch սերվերն այժմ աշխատում է նոր օգտվողի կազմաձևով:

Վերադարձեք երկրորդ տերմինալի նստաշրջանին և գործարկեք ստորև նշված հրամանը՝ ձեր OpenSearch սերվերը հաստատելու համար: Դրանով դուք նույնականացնեք որպես OpenSearch օգտվողի «admin» և «kibanaserver»: Նաև համոզվեք, որ փոխեք գաղտնաբառը յուրաքանչյուր օգտագործողի համար:

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

Երբ նույնականացումը հաջող էր, դուք պետք է տեսնեք ձեր OpenSearch սերվերի մանրամասները:

Արդյունք - վավերացված է որպես «admin» օգտվող

Արդյունք – վավերացված է որպես «kibanaserver» օգտվող:

Դրանով դուք այժմ հաջողությամբ կարգավորել եք նույնականացումը և թույլտվությունը OpenSearch սերվերում: Այժմ վերադառնաք տերմինալի առաջին նիստին և սեղմեք Ctrl+c դեպի տերմինալ OpenSearch գործընթացի համար:

Հաջորդ քայլում դուք կստեղծեք systemd ծառայության ֆայլ, որը կօգտագործվի OpenSearch սերվերը գործարկելու համար:

Աշխատում է OpenSearch-ը որպես համակարգված ծառայություն

Այս ձեռնարկի համար դուք կգործարկեք OpenSearch սերվերը հետին պլանում՝ որպես համակարգված ծառայություն: Դրան հասնելու համար դուք պետք է ստեղծեք նոր systemd ծառայության ֆայլ, վերաբեռնեք systemd կառավարիչը, այնուհետև կարող եք գործարկել և միացնել OpenSearch-ը systemctl հրամանի օգտակար ծրագրի միջոցով:

Ստեղծեք նոր systemd ծառայության ֆայլ «/etc/systemd/system/opensearch.service»՝ օգտագործելով ստորև բերված նանո խմբագրիչ հրամանը:

sudo nano /etc/systemd/system/opensearch.service

Ֆայլին ավելացրեք հետևյալ տողերը.

[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

Ավարտելուց հետո պահեք և փակեք ֆայլը:

Հաջորդը, գործարկեք ստորև systemctl հրամանը՝ systemd կառավարիչը վերաբեռնելու և փոփոխությունները կիրառելու համար:

sudo systemctl daemon-reload

Այնուհետև սկսեք և միացրեք OpenSearch ծառայությունը՝ օգտագործելով ստորև systemctl հրամանը: Դրանով, OpenSearch ծառայությունն այժմ պետք է գործարկվի հետին պլանում՝ որպես համակարգված ծառայություն, և այն պետք է միացված լինի, ինչը նշանակում է, որ OpenSearch-ը ավտոմատ կերպով կսկսվի համակարգի գործարկման ժամանակ:

sudo systemctl start opensearch
sudo systemctl enable opensearch

Արդյունք:

Այժմ ստուգեք OpenSearch ծառայությունը՝ համոզվելու համար, որ ծառայությունն աշխատում է: Դուք պետք է տեսնեք ելք, որ OpenSearch ծառայությունն աշխատում է, և այն այժմ միացված է:

sudo systemctl status opensearch

Արդյունք:

Դուք կարող եք նաև հաստատել OpenSearch սերվերը curl հրամանով, որպեսզի նույնականացնեք OpenSearch-ի դեմ:

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

Եթե OpenSearch-ն աշխատում է, դուք պետք է վավերացվեք և ստանաք մանրամասներ ձեր OpenSearch տեղադրման մասին:

OpenSearch admin օգտվողի համար:

kibanaserver օգտատիրոջ համար:

Կարող եք նաև ստուգել ձեր համակարգի բաց նավահանգիստների ցանկը ներքևում գտնվող ss հրամանի միջոցով: Դուք պետք է տեսնեք, որ 9200 և 9300 նավահանգիստները բացվում են Java հավելվածի կողմից, որը OpenSearch սերվերն է:

ss -tulpn

Արդյունք:

Դրանով դուք ավարտեցիք OpenSearch-ի տեղադրումը: Եվ հիմա, այն աշխատում է տեղական IP հասցեով 192.168.5.50՝ լռելյայն 9200 պորտով: Այն աշխատում է հետին պլանում՝ որպես systemd ծառայություն և ավտոմատ կերպով կսկսվի համակարգի բեռնման ժամանակ:

OpenSearch Dashboards-ի տեղադրում

Այս քայլում դուք կներբեռնեք OpenSearch Dashboards փաթեթը և ձեռքով կտեղադրեք այն Tarball-ի միջոցով: Դուք նաև կկարգավորեք, թե ինչպես պետք է աշխատի OpenSearch Dashboard-ը և ինչպես միանալ OpenSearch սերվերին օգտվողի անվան և գաղտնաբառի միջոցով:

Ներբեռնեք OpenSearch Dashboards փաթեթը հետևյալ wget հրամանի միջոցով։

wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz

Ներբեռնումն ավարտվելուց հետո հանեք OpenSearch Dashboards փաթեթը ստորև բերված tar հրամանի միջոցով: Դուք պետք է ստանաք նոր գրացուցակ «opensearch-dashboards-2.4.1»:

tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz

OpenSearch Dashboard գրացուցակը տեղափոխեք «/opt/opensearch-dashboards»: Այնուհետև փոխեք այդ գրացուցակի սեփականության իրավունքը օգտագործողի «opensearch»:

mv opensearch-dashboards-* /opt/opensearch-dashboards
sudo chown -R opensearch /opt/opensearch-dashboards

Հաջորդը, տեղափոխեք ձեր աշխատանքային գրացուցակը «/opt/opensearch-dashboards» և բացեք OpenSearch Dashboards կազմաձևման ֆայլը «config/opensearch_dashboards.yml»՝ օգտագործելով ստորև բերված նանո խմբագրիչի հրամանը:

cd /opt/opensearch-dashboards
sudo nano config/opensearch_dashboards.yml

Անջատեք հետևյալ տողերը և փոխարինեք յուրաքանչյուր պարամետրի արժեքը ձեր կարգավորումներով: Այս օրինակում դուք կգործարկեք OpenSearch Dashboards-ը լռելյայն «5601» միացքում և սերվերի IP հասցեն «192.168.5.50»:

# 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"

Հաջորդը տողի ներքևում ավելացրեք հետևյալ տողերը. Համոզվեք, որ փոխեք «opensearch.hosts», «opensearch.username» և «opensearch.password»-ի պարամետրը ձեր OpenSearch սերվերով: մանրամասներ.

opensearch.hosts: [https://192.168.5.50:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass

Ավարտելուց հետո պահպանեք և դուրս եկեք «config/opensearch_dashboards.yml» ֆայլից:

Այժմ դուք ներբեռնել եք OpenSearch Dashboard-ը և այն կարգավորել եք OpenSearch սերվերին միանալու համար: Հաջորդը, դուք կստեղծեք systemd ծառայության ֆայլ, որը կօգտագործվի OpenSearch Dashboards-ը գործարկելու համար:

OpenSearch Dashboard-ների գործարկումը որպես Systemd Service

Այս քայլում դուք կստեղծեք նոր համակարգային ծառայություն, որը կօգտագործվի OpenSearch Dashboards-ը գործարկելու համար:

Ստեղծեք նոր systemd ծառայության ֆայլ '/etc/systemd/system/opensearch-dashboards.service' օգտագործելով ստորև բերված նանո խմբագրիչ հրամանը:

sudo nano /etc/systemd/system/opensearch-dashboards.service

Ֆայլին ավելացրեք հետևյալ տողերը.

[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

Ավարտելուց հետո պահպանեք և դուրս եկեք ֆայլից:

Հաջորդը գործարկեք ստորև systemctl հրամանը՝ systemd կառավարիչը վերաբեռնելու և նոր փոփոխությունները կիրառելու համար:

sudo systemctl daemon-reload

Այնուհետև սկսեք և միացրեք OpenSearch Dashboards ծառայությունը՝ օգտագործելով ստորև systemctl հրամանը: Դրանով, OpenSearch Dashboards ծառայությունը պետք է գործարկվի և միացվի, ինչը նշանակում է, որ OpenSearch Dashboard ծառայությունը ավտոմատ կերպով կսկսվի համակարգի գործարկման ժամանակ:

sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards

Ստուգեք OpenSearch Dashboards ծառայությունը՝ օգտագործելով ստորև նշված հրամանը:

sudo systemctl status opensearch-dashboards

«ակտիվ (աշխատող)» ելքը հաստատում է, որ OpenSearch Dashboards ծառայությունն աշխատում է: Իսկ ելքը «...; միացված է;...' հաստատում է, որ ծառայությունը միացված է:

Դրանով, OpenSearch Dashboards-ն այժմ աշխատում է ձեր Debian սերվերում կանխադրված կազմաձևման ֆայլով '/opt/opensearch-dashboards/config/opensearch_dashboards.yml': Այն աշխատում է լռելյայն նավահանգստում 5601 սերվերի IP հասցեով 192.168.5.50

Մուտք գործել OpenSearch Dashboards

Բացեք ձեր վեբ զննարկիչը և այցելեք OpenSearch Dashboards IP հասցեն 5601 պորտով (այսինքն՝ http:192.168.5.50:5601): Այժմ դուք կտեսնեք OpenSearch Dashboards մուտքի էջը:

Մուտքագրեք ձեր ստեղծած օգտվողի անունը և գաղտնաբառը: Այս օրինակում օգտվողը «kibanaserver» է: Այնուհետև սեղմեք «Մուտք գործել» կոճակը՝ հաստատելու և մուտք գործելու OpenSearch Dashboards:

Հաջողության դեպքում դուք պետք է ստանաք հետևյալ էջը «Բարի գալուստ OpenSearch Dashboards» հաղորդագրությամբ: Այժմ կարող եք սեղմել «Ավելացնել տվյալներ»՝ ձեր OpenSearch սերվերին նոր տվյալներ ավելացնելու համար կամ սեղմել «Ուսումնասիրել իմ սեփականը» ավելի ուշ կարգավորումների համար:

Հաջորդը, համոզվելու համար, որ OpenSearch Dashboards-ը միացված է OpenSearch սերվերին, դուք կանեք հետևյալ քայլերը.

Սեղմեք ձախ ընտրացանկի վրա, տեղափոխվեք Կառավարում բաժին և սեղմեք «Dev Tools»:

Այժմ մուտքագրեք «GET /» հարցումը վահանակի վրա և սեղմեք նվագարկման կոճակը: Հաջողության դեպքում դուք պետք է տեսնեք ելքը աջ կողմում՝ ձեր OpenSearch սերվերի մասին մանրամասն տեղեկություններով: Բացի այդ, վերևի աջ կողմում կարող եք տեսնել «200 - OK» HTTP կոդը, որը հաստատում է, որ հարցումը կատարվում է առանց սխալի:

Սա նկատի ունենալով, դուք այժմ ավարտել եք OpenSearch Dashboards-ի տեղադրումը Debian սերվերում Tarball-ի միջոցով: Եվ նաև կազմաձևեց OpenSearch վահանակը OpenSearch սերվերին միանալու համար:

Եզրակացություն

Այս ձեռնարկում դուք տեղադրել եք OpenSearch-ը Tarball-ի միջոցով Debian 11 սերվերի վրա: Դուք նաև ապահովել եք OpenSearch-ը TLS վկայագրերով, միացրել եք նույնականացումը և թույլտվությունը, ինչպես նաև կարգավորել եք օգտվողներին OpenSearch-ում: Բացի այդ, դուք կարգավորել եք OpenSearch-ը, որպեսզի այն աշխատի որպես համակարգային ծառայություն և օպտիմիզացրել եք Debian Linux սերվերը՝ OpenSearch-ը տեղակայելու համար:

Դուք նաև տեղադրել եք OpenSearch Dashboards-ը Tarball-ի միջոցով Debian սերվերի վրա: Դուք կարգավորել եք OpenSearch Dashboards-ը որպես համակարգված ծառայություն գործարկելու համար, OpenSearch Dashboards-ը միացրել եք OpenSearch սերվերին, իսկ նույնականացումը միացված է, և հաջողությամբ հաստատել եք OpenSearch և OpenSearch Dashboards տեղադրումը:

Այս կարգավորումով դուք այժմ կարող եք ավելին ուսումնասիրել OpenSearch-ի մասին՝ տեղադրելով OpenSearch Cluster-ը, կարգավորելով լրացուցիչ նույնականացում և շատ ավելին: Դուք կարող եք ավելին իմանալ OpenSearch-ի մասին OpenSearch-ի պաշտոնական փաստաթղթերից: