Elasticsearch และ Kibana: การติดตั้งและการใช้พื้นฐานบน Ubuntu 16.04

Elasticsearch และ Kibana: การติดตั้งและการใช้พื้นฐานบน Ubuntu 16.04

Elasticsearch เป็นเครื่องมือค้นหาที่พร้อมสำหรับการผลิตที่เขียนขึ้นใน java และมีประสิทธิภาพมาก สามารถใช้เป็นเครื่องมือค้นหาแบบสแตนด์อโลนสำหรับเว็บหรือเป็นเครื่องมือค้นหาสำหรับอีคอมเมิร์ซเว็บแอ็พพลิเคชัน

eBay, Facebook, Netflix เป็น บริษัท ที่ใช้แพลตฟอร์มนี้ นี้เป็นที่นิยมเนื่องจากเป็นมากกว่าเครื่องมือค้นหา นอกจากนี้ยังเป็นเครื่องมือวิเคราะห์ที่มีประสิทธิภาพรวมถึงระบบการจัดการและเรียกค้นข้อมูล ส่วนที่ดีที่สุดเกี่ยวกับเรื่องนี้ก็คือว่าโอเพ่นซอร์สมีอิสระที่จะใช้งานได้ตลอดเวลา Kibana เป็นเครื่องมือแสดงภาพที่มีให้โดย elastastic

ในบทแนะนำนี้เราจะดำเนินการขั้นตอนการติดตั้ง Elasticsearch ตามด้วยการติดตั้ง Kibana จากนั้นเราจะใช้ Kibana เพื่อจัดเก็บและดึงข้อมูล

1 การติดตั้ง Java

เนื่องจาก Elasticsearch เขียนขึ้นใน java จะต้องมีการติดตั้งก่อน ใช้คำสั่งด้านล่างเพื่อติดตั้ง jre และ jdk เวอร์ชันโอเพนซอร์ส:

sudo apt-get เริ่มต้นการติดตั้ง jre
sudo apt-get เริ่มต้นการติดตั้ง jdk

คำสั่งสองคำสั่งนี้จะติดตั้ง open-jre และ open-jdk ล่าสุดในระบบของคุณ นั่นคือสำหรับ Java 8 ภาพต่อไปนี้แสดงผลลัพธ์ที่คุณจะได้รับเมื่อคุณไม่ได้ติดตั้ง java และเรียกใช้คำสั่งดังกล่าว

การติดตั้ง Java JRE

การติดตั้ง Java JDK

2 ติดตั้ง Elasticsearch

Elasticsearch 5 ออกเมื่อเร็ว ๆ นี้ มีการเปลี่ยนแปลงจำนวนมากเมื่อเทียบกับ 2.x เวอร์ชันก่อนหน้า ในขณะที่เขียนบทความนี้ version5.2.2 เป็นรุ่นล่าสุดและเราจะติดตั้งที่ ดังนั้นให้ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง

mkdir elasticsearch; cd elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.deb

ด้วยเหตุนี้ไฟล์. deb ควรเริ่มต้นการดาวน์โหลด จะมีลักษณะคล้ายกับภาพด้านล่าง:

ดาวน์โหลด Elasticsearch

เมื่อการดาวน์โหลดเสร็จสิ้นลงเราสามารถติดตั้งได้โดยเรียกใช้คำสั่งต่อไปนี้ ผลลัพธ์ของการติดตั้งสำเร็จอยู่ด้านล่าง

sudo dpkg -i elasticsearch-5.2.2.deb

ติดตั้ง Elasticsearch

3 กำหนดค่าและเรียกใช้ Elasticsearch

Elasticsearch ทำงานเป็นกระบวนการพื้นหลัง แต่ก่อนที่เราจะเริ่มต้นเราต้องแก้ไขไฟล์ config เพื่อเพิ่มระบบปัจจุบันเป็นโฮสต์ที่ใช้งานเครื่องยนต์ ใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์ config:

sudo gedit /etc/elasticsearch/elasticsearch.yml

เมื่อบรรณาธิการเปิดขึ้นคุณจะต้องยกเลิกการแก้ไขบรรทัด:

# network.host: 192.168.0.1

แล้วเปลี่ยน IP เป็น localhost ดังที่แสดงในรูปด้านล่าง:

img5

ขณะนี้เราพร้อมที่จะใช้กระบวนการนี้แล้ว ใช้คำสั่งต่อไปนี้:

sudo systemctl daemon โหลดซ้ำ

sudo systemctl เปิดใช้งาน elasticsearch

sudo systemctl เริ่มต้น elasticsearch

คำสั่งสามคำสั่งนี้จะเพิ่มกระบวนการ Elasticsearch ลงในระบบเพื่อให้ระบบเริ่มทำงานโดยอัตโนมัติเมื่อระบบของคุณเริ่มทำงานและเริ่มต้นกระบวนการใหม่ หากต้องการทดสอบว่าเครื่องทำงานได้หรือไม่ให้ใช้คำสั่งต่อไปนี้ ผลลัพธ์ควรคล้ายกับภาพด้านล่าง

curl -XGET "http://localhost:9200"

ทดสอบ Elasticsearch

4 ติดตั้ง Kibana

ดาวน์โหลดและติดตั้งไฟล์ deb โดยใช้คำสั่งต่อไปนี้:

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-amd64.deb

sudo dpkg -i kibana-5.2.2-amd64.deb

ในขณะที่รันคำสั่งที่สองถ้าจะขอให้คุณแก้ไขไฟล์ config Kibana ที่มีอยู่คุณสามารถกด enter เพื่อเก็บค่าเริ่มต้นและเสร็จสิ้นการแข่งขันได้ เมื่อติดตั้งแล้วจะมีลักษณะคล้ายกับภาพด้านล่าง

ติดตั้ง Kibana

5 กำหนดค่าและเรียกใช้ Kibana

ในไฟล์การกำหนดค่า Kibana ให้ยกเลิกหมายเหตุบรรทัดต่อไปนี้:

server.port: server.host: server.name: elasticsearch.name: kibana.index:

ใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์ config ไฟล์หลังจากที่คุณได้ทำการเปลี่ยนแปลงควรมีลักษณะเช่นรูปภาพด้านล่าง:

sudo gedit /etc/kibana/kibana.yml

"server.name" สามารถเป็นอะไรก็ได้ ดังนั้นอย่าลังเลที่จะเปลี่ยน เมื่อทำการเปลี่ยนแปลงเหล่านี้แล้ว ให้บันทึกและปิดไฟล์ สิ่งสุดท้ายที่ต้องทำคือการเพิ่มกระบวนการ Kibana ลงในรายการกระบวนการของระบบ เพื่อให้มันเริ่มทำงานโดยอัตโนมัติทุกครั้งที่ระบบบูทขึ้น รันคำสั่งต่อไปนี้:

sudo systemctl daemon โหลดซ้ำ

sudo systemctl เปิดใช้งาน kibana

sudo systemctl เริ่มต้น kibana

เมื่อรันคำสั่งเหล่านี้แล้วคุณสามารถเปิดเว็บเบราเซอร์ของคุณและใช้ URL ต่อไปนี้เพื่อทดสอบว่าได้ติดตั้งและรันอย่างถูกต้องหรือไม่ ภาพด้านล่างแสดงให้เห็นว่าควรดูอย่างไร:

http://localhost:5601

สถานะ Kibana

แค่นั้นแหละ. คุณได้ติดตั้ง Kibana และ Elasticsearch สำเร็จแล้ว

การใช้พื้นฐาน 6

เราสามารถใช้ยูทิลิตี้ "Dev Tools" ที่ Kibana จัดเตรียมไว้ให้เพื่อพูดคุยกับ Elasticsearch มันมีอินเทอร์เฟซที่สะอาดและเรียบง่ายเพื่อดำเนินการคำสั่งเป็นวัตถุ JSON เราจะโต้ตอบกับเอ็นจิ้นหลักผ่านอินเทอร์เฟซ REST

ไปที่ "เครื่องมือ Dev" โดยคลิกที่ img13ไอคอนที่แผงด้านซ้าย นอกจากนี้คุณยังสามารถใช้ URL ต่อไปนี้:

http://localhost:5601/app/kibana#/dev_tools/

เมื่อโหลดแล้ว คุณจะได้รับ "ยินดีต้อนรับสู่คอนโซล" เบื้องต้นเกี่ยวกับ UI คุณสามารถอ่านหรือเพียงแค่คลิกที่ "ไปทำงาน" ปุ่มที่ด้านล่างของอินโทรนั้น เมื่อคุณคลิกที่ปุ่มนั้น UI จะมีลักษณะเหมือนภาพด้านล่าง:

การใช้ Kibana

ด้านซ้ายเป็นที่ที่เราจะพิมพ์คำสั่งและแผงด้านขวาเป็นที่ที่เราจะได้รับเอาท์พุท ให้เราลองส่งและเก็บข้อมูลบางส่วนไว้ใน search engine

6.1 สร้างดัชนี

ข้อมูลจะถูกเก็บไว้ในดัชนีหรือวิธีอื่นที่จะใส่ ดัชนีรักษาข้อมูลที่จัดเก็บไว้ในเครื่องมือค้นหา ในการสร้างดัชนีเราใช้การเรียก PUT คำขอ JSON จะมีชื่อของดัชนีและการตั้งค่าทางเลือกบางอย่างที่เราสามารถให้ได้ คำสั่งต่อไปนี้เป็นตัวอย่างในการสร้างดัชนีที่เรียกว่า "student"

นักเรียน PUT {"settings": {"number_of_shards": 3}}

คุณสามารถพิมพ์สิ่งนี้ใน "เครื่องมือสำหรับนักพัฒนา" และกดปุ่มเล่นสีเขียวด้านข้างเพื่อเรียกใช้ ผลลัพธ์จะคล้ายกับภาพด้านล่าง:

สร้างดัชนีใน Kibana

6.2 แทรกข้อมูลบางส่วนลงในดัชนี

เราจะใช้การเรียก POST เพื่อแทรกข้อมูลลงในดัชนี ข้อมูลที่จะแทรกอยู่ในรูปแบบของ JSON และเพื่อให้เราสามารถเพิ่มนักเรียนในดัชนีได้ คำสั่งคือ:

POST นักเรียน / หลักสูตร {"name": "james", "course": "mathematics"}

ในคำสั่งข้างต้น "หลักสูตร" ระบุประเภทของข้อมูลที่กำลังจัดทำดัชนี จากการตอบกลับ คุณจะเห็นว่า รายการนี้มีรหัสเฉพาะเช่นกัน ในคำสั่งด้านล่าง คุณจะเห็นว่ามีพารามิเตอร์อื่นหลังจาก "หลักสูตร" นี่คือวิธีที่คุณสามารถระบุรหัสสำหรับรายการนักเรียนนี้ วิธีนี้ elasticsearch จะไม่รบกวนการสร้าง ID ซื้อ ใช้สิ่งนี้เป็น ID ของบันทึกนี้

นักเรียน POST / course / 2 {"name": "tina", "course": "physics"}

ต่อไปนี้เป็นภาพที่แสดงการตอบสนองจากเครื่องมือค้นหาเมื่อทั้งสองคำสั่งทำงาน:

การตอบสนองของ Elasticsearch

คอนโซล Kibana

6.3 เรียกข้อมูลจากดัชนี

คุณยังสามารถดึงข้อมูลเป็นฟิลด์ต่าง ๆ จากบันทึกหรือรายการที่เก็บไว้ แต่ละรายการที่เราบันทึกไว้ในขั้นตอนก่อนหน้านี้เรียกว่าเอกสารใน Elasticsearch เราจะใช้การเรียก GET เพื่อดึงเอกสารจากดัชนี นี่คือวิธีดึงเอกสารหนึ่งฉบับโดยใช้ฟิลด์ "ชื่อ":

รับนักเรียน / หลักสูตร / _search {"query": {"term": {"name": {"value": "james"}}}}

คำสั่งนี้ค้นหา "นักเรียน" ดัชนีสำหรับเอกสารประเภท "หลักสูตร" และพยายามจับคู่คำศัพท์กับชื่อช่อง "ชื่อ"ซึ่งมีค่า"เจมส์" เนื่องจากในดัชนีมีนักศึกษาชื่อเจมส์ เราจึงได้รับคำตอบดังภาพด้านล่าง

ดัชนีการค้นหา Elasticsearch

นี่เป็นเพียงพื้นฐานเท่านั้นมีหลายสิ่งหลายอย่างที่คุณสามารถทำได้ด้วย Elasticsearch และต้องมีการตรวจสอบข้อเท็จจริงจำนวนมากเพื่อใช้หลักการนี้และใช้ประโยชน์ให้ได้ดีที่สุด

แหล่ง