ทาง Elastic เพิ่งปล่อย Elastic Stack 5.0 ออกมา
ซึ่งประกอบไปด้วย
- Elasticsearch 5.0.0
- Kibana 5.0.0
- Logstash 5.0.0
- Beats 5.0.0
- X-Pack 5.0.0
- ES-Hadoop 5.0.0
แน่นอนว่ามีการเปลี่ยนแปลงมากมาย
ทั้งความสามารถใหม่ ๆ และ breaking changes
โดยสิ่งที่ขอแนะนำคือ Elasticsearch Ingest Node
มาดูกันว่ามันคืออะไร ทำอะไรบ้าง ?
Elasticsearch Ingest Node คืออะไร ?
ตั้งแต่ Elasticseach 5.0 นั้นเราสามารถกำหนดขั้นตอนการจัดการข้อมูลได้เอง
หรือเป็น pre-process data
ก่อนที่นำผลลัพธ์ไปจัดเก็บใน Elasticsearch หรือ indexing ต่อไป
ซึ่งเป็นการทำงานที่คล้ายกับ Logstash นั่นเอง
โดยกระบวนการเหล่านี้เรียกว่า Ingest
เปรียบเทียบการทำงานดังรูป
โดยค่า default ของ Elasticsearch นั้นทุก ๆ node จะเป็น Ingest node อยู่แล้ว
ดังนั้นสามารถปิดได้นะ ในไฟล์ elasticsearch.yml ดังนี้
node.ingest=false
ขั้นตอนการของ pre-process data ของ Ingest จะทำงานผ่าน Pipeline API
สามารถดู Ingest API เพิ่มเติมได้ ประกอบไปด้วย
- Put Pipeline API
- Get Pipeline API
- Delete Pipeline API
- Simulate Pipeline API
ปล.
ชีวิตน่าจะดีขึ้นนะครับ แต่ก็แอบ configuration ยากนิดหน่อย !!
และทาง Sematext ได้ทำ performance testing ระหว่าง Ingest กับ Logstash
ไว้อย่างน่าสนใจที่ Elasticsearch Ingest Node vs Logstash Performance