Hvernig á að setja upp Elasticsearch á openSUSE Leap 15

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 á openSUSE Leap 15.

Forsendur

Uppfærðu stýrikerfi

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

sudo zypper refresh

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@opensuse ~]$ sudo whoami
root

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

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 zyper install curl

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 zypper install java-11-openjdk-devel

Fáðu


Setja upp Elasticsearch

Elasticsearch er ekki í boði í staðlaða openSUSE geymsla, svo þú þarft að setja það upp frá Elasticsearch 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 zypper ar https://artifacts.elastic.co/packages/7.x/yum elasticsearch

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

sudo zypper install elasticsearch

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á openSUSE Leap 15

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

Til að virkja Elasticsearch sjálfgefið þarftu að setja upp insserv pakki.

sudo zypper install insserv

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:

Synchronizing state of elasticsearch.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch

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:

sudo curl http://localhost:9200?pretty

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á openSUSE Leap 15

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 á openSUSE Leap 15

Í 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 á openSUSE Leap 15

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

Stilltu Firewalld fyrir Elasticsearch

Sjálfgefið er að engar reglur eru settar upp fyrir Elasticsearch, sem getur valdið vandræðum á brautinni.

Fyrst skaltu bæta við nýju sérstöku svæði fyrir Elasticsearch eldveggsstefnu:

sudo firewall-cmd --permanent --new-zone=elasticsearch

Næst skaltu tilgreina leyfilegar IP tölur sem hafa leyfi til að fá aðgang að Memcached.

sudo firewall-cmd --permanent --zone=elasticsearch --add-source=1.2.3.4

Skiptu út 1.2.3.4 fyrir IP heimilisfang sem verður bætt við leyfislistann.

Þegar þú hefur lokið við að bæta við IP tölunum skaltu opna tengið á Memcached.

Til dæmis, TCP tengi 11211.

sudo firewall-cmd --permanent --zone=elasticsearch --add-port=9200/tcp

Athugaðu, þú getur breytt sjálfgefna gáttinni í stillingarskránni þinni ef þú breytir opnunarreglu eldvegggáttarinnar hér að ofan í nýja gildið.

Eftir að hafa keyrt þessar skipanir skaltu endurhlaða eldveggnum til að innleiða nýju reglurnar:

sudo firewall-cmd --reload

Dæmi um úttak ef vel tekst:

success

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 zypper remove elasticsearch

Dæmi úttak:

Hvernig á að setja upp Elasticsearch á openSUSE Leap 15

Gerð "J," ý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 á openSUSE 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.

Leyfi a Athugasemd