Hvernig á að setja upp Elasticsearch á Debian 11 Bullseye

Elasticsearch er mjög stigstærð opinn uppspretta leitar- og greiningarvél í fullri texta. Hugbúnaðurinn styður RESTful aðgerðir sem gera þér kleift að geyma, leita og greina mikið magn af gögnum 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. Það er almennt notað sem undirliggjandi vél / tækni sem knýr forrit með flóknum leitaraðgerðum og kröfum.

Í eftirfarandi námskeiði muntu læra hvernig á að setja upp Elastic Search á Debian 11 Bullseye.

Forsendur

  • Mælt með stýrikerfi: Debian 11 Bullseye
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.
  • Nauðsynlegir pakkar: Curl og Java

Að setja upp Curl

Curl er þörf fyrir suma hluta þessarar handbókar. Til að setja upp þennan pakka skaltu slá inn eftirfarandi skipun:

sudo apt install curl -y

Að setja upp Java

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

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

sudo apt install default-jdk

Dæmi um úttak með pakka sem á að setja upp:

Hvernig á að setja upp Elasticsearch á Debian 11 Bullseye

Til að halda áfram með uppsetninguna skaltu slá inn (Y) ýttu síðan á (KOMA INN) lykillinn.

Næst skaltu staðfesta Java útgáfuna sem er uppsett og bygginguna með eftirfarandi skipun:

java -version

Dæmi um úttak hér að neðan:

Hvernig á að setja upp Elasticsearch á Debian 11 Bullseye

Fáðu


Setur upp Elasticsearch

Elasticsearch er ekki fáanlegt í venjulegu Debian 11 geymslunum, svo þú þarft að setja það upp úr Elasticsearch APT geymslunni.

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

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Dæmi framleiðsla með (Allt í lagi) staðfestir að það hafi tekist:

Hvernig á að setja upp Elasticsearch á Debian 11 Bullseye

Nú þegar þú hefur bætt við GPG lyklinum verður Elasticsearch geymslunum treyst. Haltu áfram að setja upp opinberu geymsluna með eftirfarandi flugstöðvaskipun:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

Þegar kennsluefnið var búið til er Elasticsearch 7.13.4 nýjasta útgáfan en mun breytast með tímanum og geymslan sem þú bættir við mun virka fyrir allar 7.xx útgáfur í framtíðinni.

Næst skaltu uppfæra geymslulistann þinn og setja upp Elasticsearch sem hér segir:

sudo apt update && sudo apt install elasticsearch

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

Næst, til að staðfesta að Elasticsearch sé í gangi rétt, muntu nota Curl skipun um að senda HTTP beiðni til höfn 9200 on localhost eins og hér segir:

curl -X GET "localhost:9200/"

Dæmi um úttak til að staðfesta að Elasticsearch virki rétt:

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á:

Hvernig á að setja upp Elasticsearch á Debian 11 Bullseye

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 að mestu í lagi 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

Næst skaltu skruna niður og finna nethlutann 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 á Debian 11 Bullseye

Í dæminu unnum við athugasemdir (#) á (network.host) og breytti því í Innri einka IP tölu.

Í ö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 á Debian 11 Bullseye

Næst skaltu vista 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 UFW eldvegg til að leyfa fjartengingar

Ef þú leyfir fjartengingar þarftu að leyfa eldveggnum þínum að leyfa þessum IP-tölum að tengjast. Þetta er hægt að gera með eftirfarandi skipun:

sudo ufw allow from <IP Address> to any port 9200

Frekari upplýsingar um Debian og UFW eldvegg má finna til að stilla UFW eldvegg á Debian.


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 í næsta dæmi. JSON væri auðveldara að lesa og kemba þ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ð í fjölda svarkóða vöru eftir borginni í 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"
            }
        }
}
}

Fjarlægir Elasticsearch

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

sudo apt remove elasticsearch

Fjarlægðu apt geymsluna sem hér segir:

sudo rm /etc/apt/sources.list.d/elastic-7.x.list

Uppfærðu síðan geymslulistann þinn til að endurspegla breytingarnar:

sudo apt update

Fáðu


Athugasemdir og niðurstaða

Þú hefur lært hvernig á að setja upp Elasticsearch á Debian 11 Bullseye frá opinberri geymslu 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ð því að nota eina fyrirspurn. ElasticSearch býður upp á mikla klippingu, 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