Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Elasticsearch er mjög stigstærð opinn uppspretta leitar- og greiningarvél í fullri texta. Það er almennt undirliggjandi vél/tækni sem knýr forrit með flóknum leitaraðgerðum og kröfum. Hugbúnaðurinn styður RESTful aðgerðir sem gera þér kleift að geyma, leita og greina umtalsvert magn gagna fljótt og í næstum rauntíma. Elasticsearch er vinsæl og vinsæl meðal stjórnenda og forritara þar sem hún er öflug leitarvél byggð á Lucene bókasafninu.

Í eftirfarandi námskeiði muntu læra hvernig á að setja upp Elastic Search á AlmaLinux 8.

Forsendur

  • Mælt með stýrikerfi: AlmaLinux 8.
  • Notendareikningur: Notendareikningur með sudo réttindi or rótaraðgangur (su skipun).

Uppfærir stýrikerfi

Uppfærðu þína AlmaLinux stýrikerfi til að tryggja að allir núverandi pakkar séu uppfærðir:

sudo dnf upgrade --refresh -y

Kennsluefnið mun nota sudo skipun og að því gefnu að þú sért með sudo stöðu.

Til að staðfesta sudo stöðu á reikningnum þínum:

sudo whoami

Dæmi um úttak sem sýnir sudo stöðu:

[joshua@localhost ~]$ sudo whoami
root

Til að setja upp núverandi eða nýjan sudo reikning skaltu fara á kennsluna okkar á Hvernig á að bæta notanda við Sudoers á AlmaLinux.

Til að nota rótarreikningur, notaðu eftirfarandi skipun með rót lykilorðinu til að skrá þig inn.

su

Settu upp CURL pakkann

The KRULLA skipun er nauðsynleg fyrir suma hluta þessarar handbókar. Til að setja upp þennan pakka skaltu slá inn eftirfarandi skipun:

sudo dnf install curl -y

Settu upp Java pakka

Til að setja upp og, mikilvægara, nota Elasticsearch, þú þarft að setja upp Java. Ferlið er tiltölulega auðvelt.

Sláðu inn eftirfarandi skipun til að setja upp OpenJDK Pakki:

sudo dnf install java-11-openjdk-devel

Dæmi um ósjálfstæði sem verða sett upp:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Gerð "Y", ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna.

Staðfestu að Java hafi verið sett upp með eftirfarandi skipun:

java -version

Dæmi úttak:

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

Fáðu


Setja upp Elasticsearch

Elasticsearch er ekki í boði í staðall AlmaLinux 8 App straumur, svo þú þarft að setja það upp frá Elasticsearch RPM geymsla.

Áður en þú bætir við geymslunni skaltu flytja inn GPG lykill með eftirfarandi skipun:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Næsta skref er að búa til Elasticsearch endurhverfuskrá sem hér segir:

sudo nano /etc/yum.repos.d/elasticsearch.repo

Þegar þú ert inni í skránni skaltu bæta við eftirfarandi línum:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Til að spara (CTRL+O), farðu síðan út (CTRL+X).

Settu nú upp Elasticsearch með því að nota eftirfarandi skipun:

sudo dnf install elasticsearch

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Gerð „Y“, ýttu síðan á „SLAÐA LYKILL“ til að halda áfram með uppsetninguna

Sjálfgefið er að Elasticsearch þjónustan er óvirk við ræsingu og ekki virk. Til að ræsa þjónustuna og virkja hana við ræsingu kerfisins skaltu slá inn eftirfarandi (systemctl) stjórn:

sudo systemctl enable elasticsearch.service --now

Dæmi úttak:

Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch
Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /usr/lib/systemd/system/elasticsearch.service.

Staðfestu að Elasticsearch sé í gangi rétt með því að nota krulla skipun að senda an HTTP beiðni til höfn 9200 on localhost eins og hér segir:

curl -X GET "localhost:9200/"

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Til að skoða kerfisskilaboðin sem Elasticsearch skráir inn á kerfið þitt skaltu slá inn eftirfarandi skipun:

sudo journalctl -u elasticsearch

Dæmi um úttaksskrá:

-- Logs begin at Sat 2021-08-21 01:54:10 EDT, end at Sat 2021-08-21 02:11:00 EDT. --
Aug 21 02:09:17 localhost.localdomain systemd[1]: Starting Elasticsearch...
Aug 21 02:09:43 localhost.localdomain systemd[1]: Started Elasticsearch.

Hvernig á að stilla Elasticsearch

Elasticsearch gögn eru geymd á sjálfgefnum möppustað (/var/lib/elasticsearch). Til að skoða eða breyta stillingarskránum geturðu fundið þær í möppunni (/etc/elasticsearch), og Java ræsingarvalkostir er hægt að stilla í (/etc/default/elasticsearch) stillingarskrá.

Sjálfgefnar stillingar eru fyrst og fremst fínar fyrir staka netþjóna sem starfar þar sem Elasticsearch keyrir á localhost aðeins. Hins vegar, ef þú ætlar að setja upp þyrping, þarftu að breyta stillingarskránni til að leyfa fjartengingar.

Setja upp fjaraðgang (valfrjálst)

Sjálfgefið er að Elasticsearch hlustar aðeins á localhost. Til að breyta þessu skaltu opna stillingarskrána sem hér segir:

sudo nano /etc/elasticsearch/elasticsearch.yml

Skrunaðu niður að 56. lína og finndu Network hlutann og afskrifa (#) eftirfarandi línu og skiptu henni út fyrir Innri einka IP tölu eða Ytri IP tölu sem hér segir:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Í dæminu unnum við athugasemdir (#) á (network.host) og breytti því í innri einka IP tölu eins og hér að ofan.

Í öryggisskyni er það tilvalið til að tilgreina heimilisföng; Hins vegar, ef þú ert með margar innri eða ytri IP tölur sem lenda á þjóninum skaltu breyta netviðmótinu til að hlusta á alla með því að slá inn (0.0.0.0) eins og hér segir:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Vistaðu stillingarskrána (CTRL+O), farðu síðan út (CLTR+X).

Þú þarft að endurræsa Elasticsearch þjónustuna með eftirfarandi skipun til að breytingar taki gildi:

sudo systemctl restart elasticsearch

Fáðu


Hvernig á að nota Elasticsearch

Til að nota Elasticsearch með því að nota krulla stjórn er einfalt ferli. Hér að neðan eru nokkrar af þeim algengustu:

Eyða vísitölu

Fyrir neðan er vísitalan nefnd sýni.

curl -X DELETE 'http://localhost:9200/samples'

Listaðu allar vísitölur

curl -X GET 'http://localhost:9200/_cat/indices?v'

Listaðu öll skjöl í skránni

curl -X GET 'http://localhost:9200/sample/_search'

Fyrirspurn með færibreytum vefslóða

Hér notum við Lucene fyrirspurnarsnið til að skrifa q=school:Harvard.

curl -X GET http://localhost:9200/samples/_search?q=school:Harvard

Fyrirspurn með JSON aka Elasticsearch Query DSL

Þú getur spurt með því að nota færibreytur á vefslóðinni. En þú getur líka notað JSON, eins og sýnt er í eftirfarandi dæmi. JSON væri auðveldara að lesa og villuleit þegar þú ert með flókna fyrirspurn en einn risastóran streng af vefslóð færibreytum.

curl -XGET --header 'Content-Type: application/json' http://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

Listavísitölukortlagning

Allir Elasticsearch reitir eru vísitölur. Þannig að þetta listar alla reiti og tegundir þeirra í vísitölu.

curl -X GET http://localhost:9200/samples

Bæta við gögnum

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"			
}'

Uppfæra skjal

Hér er hvernig á að bæta reitum við fyrirliggjandi skjal. Fyrst búum við til nýjan. Þá uppfærum við það.

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2 -d '
{
    "school": "Clemson"
}'

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2/_update -d '{
"doc" : {
               "students": 50000}
}'

Afritunarvísitala

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/_reindex -d '{
  "source": {
    "index": "samples"
  },
  "dest": {
    "index": "samples_backup"
  }
}'

Magnhleðsla gagna á JSON sniði

export pwd="elastic:"

curl --user $pwd  -H 'Content-Type: application/x-ndjson' -XPOST 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty' --data-binary @<file>

Sýna klasaheilbrigði

curl --user $pwd  -H 'Content-Type: application/json' -XGET https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty

Söfnun og Bucket Aggregation

Fyrir Nginx vefþjón framleiðir þetta fjölda vefslaga eftir notendaborg:

curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
             "cityName": {
                    "terms": {
                     "field": "geoip.city_name.keyword",
                                "size": 50

        }
   }
  }
}
'

Þetta stækkar það fyrir vörusvarskóðafjölda bæjarins í Nginx vefþjónsskrá

curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
          "city": {
                "terms": {
                        "field": "geoip.city_name.keyword"
                },
        "aggs": {
          "responses": {
                "terms": {
                     "field": "response"
                 }
           }
         }
      },
      "responses": {
                "terms": {
                     "field": "response"
                 }
        }
   }
}'

Notkun ElasticSearch með grunnauðkenningu

Ef þú hefur kveikt á öryggi með ElasticSearch, þá þarftu að gefa upp notanda og lykilorð eins og sýnt er hér að neðan fyrir hverja krulluskipun:

curl -X GET 'http://localhost:9200/_cat/indices?v' -u elastic:(password)

Falleg prentun

Bættu ?pretty=true við hvaða leit sem er til að pretty-prenta JSON. Svona:

 curl -X GET 'http://localhost:9200/(index)/_search'?pretty=true

Til að spyrja og skila aðeins ákveðnum reitum

Til að skila aðeins ákveðnum reitum skaltu setja þá í _source fylkið:

GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "_source": ["suricata.eve.timestamp","source.geo.region_name","event.created"],
    "query":      {
        "match" : { "source.geo.country_iso_code": "GR" }
    }
}

Til að spyrja eftir dagsetningu

Þegar reiturinn er af gerðinni dagsetningu geturðu notað dagsetningarstærðfræði, svona:

GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "query": {
        "range" : {
            "event.created": {
                "gte" : "now-7d/d"
            }
        }
}
}

Hvernig á að fjarlægja (fjarlægja) Elasticsearch

Ef þú þarfnast ekki lengur Elasticsearch geturðu fjarlægt hugbúnaðinn með eftirfarandi skipun:

sudo dnf autoremove elasticsearch

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á AlmaLinux 8

Gerð „Y“, ýttu síðan á „SLAÐA LYKILL“ til að halda áfram að fjarlægja Elasticsearch.


Fáðu


Athugasemdir og niðurstaða

Þú hefur lært hvernig á að setja upp Elasticsearch á AlmaLinux 8 frá opinberu geymslunni Elasticsearch og stilla grunnatriðin í kennslunni. Á heildina litið hefur ElasticSearch marga vinsæla eiginleika, sumir voru nefndir í upphafi kennslunnar, en aðrir fela í sér að gera notendum kleift að leita á ýmsum sviðum með einni fyrirspurn. ElasticSearch veitir framúrskarandi skurðarstig, sem þýðir láréttan sveigjanleika, sem eykur afköst jafnvel með auknu álagi.

Fyrir frekari lestur, heimsækja embættismanninn skjalasíðan.

Gerast áskrifandi
Tilkynna um
0 Comments
Inline endurgjöf
Skoða allar athugasemdir
0
Vilt elska hugsanir þínar, vinsamlegast skrifaðu athugasemdir.x