ในบทความนี้ เราจะมาสำรวจวิธีการปรับใช้ Elasticsearch และ Kibana ใช้งาน Docker Compose ทั้งสององค์ประกอบหลักของ ELK Stack( Elasticsearch, Logstash, Kibana) ช่วยให้คุณค้นหา วิเคราะห์ และแสดงข้อมูลได้อย่างมีประสิทธิภาพ ด้านล่างนี้คือการกำหนดค่าโดยละเอียดและการทำงานของแต่ละองค์ประกอบ
1. Elasticsearch
ก. การกำหนดค่าพื้นฐาน
Elasticsearch ได้รับการกำหนดค่าให้ทำงานในคอนเทนเนอร์ Docker โดยมีพารามิเตอร์ต่อไปนี้:
รูปภาพ: ใช้ Elasticsearch รูปภาพ อย่างเป็นทางการ เวอร์ชัน
8.17.2
โหมดโหนดเดียว: เปิดใช้งานผ่านตัวแปรสภาพ
discovery.type=single-node
แวดล้อมความปลอดภัย: ความปลอดภัยของ X-Pack ถูกเปิดใช้งาน(
xpack.security.enabled=true
) และรหัสผ่านสำหรับelastic
ผู้ใช้ถูกตั้งYVG6PKplG6ugGOw
เป็นเครือข่าย: Elasticsearch รับฟังจากอินเทอร์เฟซเครือข่ายทั้งหมด(
network.host=0.0.0.0
)หน่วยความจำ JVM: กำหนดค่าด้วย
-Xms1g
(หน่วยความจำเริ่มต้น) และ-Xmx1g
(หน่วยความจำสูงสุด)
Ports วง ดนตรี Volumes
Ports: พอร์ต
9200
(HTTP) และ9300
(การสื่อสารภายใน) จะถูกแมปจากคอนเทนเนอร์ไปยังโฮสต์Volumes: ข้อมูล Elasticsearch จะถูกเก็บไว้ใน
elasticsearch-data
ไดรฟ์
ค. การตรวจสุขภาพ
การตรวจสอบสุขภาพจะถูกตั้งค่าให้ตรวจสอบ Elasticsearch สถานะของ API โดยเรียกใช้งาน /_cluster/health
API กับ elastic
ผู้ใช้ หาก API ไม่ตอบสนอง คอนเทนเนอร์จะรีสตาร์ท
2. Kibana
ก. การกำหนดค่าพื้นฐาน
Kibana ได้รับการกำหนดค่าให้เชื่อมต่อ Elasticsearch และทำงานในคอนเทนเนอร์ Docker ด้วยพารามิเตอร์ต่อไปนี้:
รูปภาพ: ใช้ Kibana รูปภาพ อย่างเป็นทางการ เวอร์ชัน
8.17.2
Elasticsearch การเชื่อมต่อ: ที่ Elasticsearch อยู่ถูกตั้ง
http://elasticsearch:9200
เป็นการรับรองความถูกต้อง: Kibana ใช้
kibana_user
พร้อมกับรหัสผ่านYVG6PKplG6ugGOw
เพื่อเชื่อมต่อกับ Elasticsearch.
ข. Ports และเครือข่าย
Ports: พอร์ต
5601
จะถูกแมปจากคอนเทนเนอร์ไปยังโฮสต์เพื่อเข้าถึง Kibana อินเทอร์เฟซเครือข่าย: Kibana เชื่อมต่อกับ
elk-network
.
ค. การพึ่งพาอาศัย Elasticsearch
Kibana จะเริ่มต้นเมื่อพร้อมเท่านั้น Elasticsearch เพื่อให้แน่ใจว่าการเชื่อมต่อระหว่างทั้งสองบริการประสบความสำเร็จ
3. ปริมาณและเครือข่าย
ก. ปริมาตร
elasticsearch-data: ไดรฟ์นี้ใช้สำหรับจัดเก็บ Elasticsearch ข้อมูล โดยรับรองว่าข้อมูลจะคงอยู่แม้ว่าคอนเทนเนอร์จะถูกลบไปแล้วก็ตาม
ข. เครือข่าย
เครือข่ายเอลค์: เครือ
bridge
ข่ายถูกสร้างขึ้นเพื่อเชื่อมต่อ Elasticsearch และ Kibana บริการ
4. วิธีการใช้งาน
ก. การเริ่มให้บริการ
หากต้องการเริ่มต้น Elasticsearch และ Kibana เรียกใช้คำสั่งต่อไปนี้:
ข. การสร้าง Kibana ผู้ใช้(หากจำเป็น)
หากคุณต้องการใช้ผู้ใช้เฉพาะสำหรับ Kibana คุณสามารถสร้างได้โดยใช้คำสั่งต่อไปนี้:
หากต้องการใช้ token แทนรหัสผ่าน คุณสามารถสร้างรหัสผ่านใหม่ได้ด้วยคำสั่งต่อไปนี้:
5. การแก้ไขปัญหา
หากคุณพบข้อผิดพลาด คุณสามารถตรวจสอบบันทึกคอนเทนเนอร์ได้โดยใช้:
การรีสตาร์ท Kibana:
เนื้อหาเต็มของ Docker Compose ไฟล์
ด้านล่างนี้เป็นเนื้อหาเต็มของ docker-compose-els.yml
ไฟล์:
บทสรุป
ด้วย Docker Compose การกำหนดค่านี้ คุณสามารถปรับใช้ Elasticsearch และ Kibana ตอบสนองความต้องการด้านการค้นหา การวิเคราะห์ และการแสดงภาพข้อมูลได้อย่างง่ายดาย ปรับแต่งและขยายการกำหนดค่านี้ให้เหมาะกับความต้องการเฉพาะของโครงการของคุณ!