ELK Stack - up1/training-courses GitHub Wiki
Course Description
Elasticsearch, Logstash และ Kibana (ELK stack) เป็นชุดของ software สำหรับจัดการข้อมูลขนาดใหญ่ (Big Data) ดังนี้
- Elasticsearch สำหรับจัดเก็บข้อมูลและสนับสนุนการค้นหาข้อมูล
- Logstash สำหรับจัดการข้อมูล กรองข้อมูลและแปลงข้อมูลไปยังรูปแบบที่ต้องการ
- Kibana สำหรับการแสดงผลข้อมูลจาก Elasticsearch ในรูปแบบของ graph และ dasdboard
Elasticsearch, Fluentd และ Kibana (EFK stack)
- Elasticsearch สำหรับจัดเก็บข้อมูลและสนับสนุนการค้นหาข้อมูล
- Fluentd สำหรับจัดการข้อมูล กรองข้อมูลและแปลงข้อมูลไปยังรูปแบบที่ต้องการ
- Kibana สำหรับการแสดงผลข้อมูลจาก Elasticsearch ในรูปแบบของ graph และ dasdboard
โดยใน course นี้จะช่วยทำให้ผู้เรียนมีความรู้ความเข้าใจเกี่ยวกับ ELK และ EFK ตั้งแต่พื้นฐานไปจนถึงการนำไปใช้งานจริง รวมทั้งแนวปฏิบัติที่ถูกต้องของการนำ ELK และ EFK ไปใช้งาน ซึ่งจะเป็นการเรียนรู้แบบลงมือทำด้วยตนเอง เช่น
- การติดตั้ง
- การ configuration
- การออกแบบโครงสร้างข้อมูล
- การจัดเก็บข้อมูล
- การดึงข้อมูล
- การวิเคราะห์ข้อมูล
- การขยายระบบ
การจัดการ Metrics หรือข้อมูลการใช้งานต่าง ๆ ของระบบด้วย Prometheus และ Grafana
- Prometheus สำหรับจัดเก็บข้อมูลในรูปแบบของ time-series การ alert หรือแจ้งเตือน รวมไปถึงการแสดงผลในรูปแบบของ graph
- Grafana สำหรับการแสดงผลข้อมูลจาก Prometheus ในรูปแบบของ graph และ dasdboard
Course 3 วัน
รายละเอียด
Day 1
- พื้นฐาน Elasticsearch
- ทำความเข้าใจเกี่ยวกับระบบค้นหาข้อมูล
- ทำความเข้าใจเกี่ยวกับระบบการวิเคราะห์ข้อมูล
- รูปแบบการใช้งาน Elasticsearch
- ความสามารถต่างๆ ของ Elasticsearch
- Workshop
- ทำการติดตั้ง Elasticsearch
- ทำการติดตั้ง plugin
- การใช้งาน Elasticsearch เบื้องต้น
- Modeling data
- การออกแบบข้อมูลที่ต้องการจัดเก็บ
- การสร้าง index, type และ document
- เรียนรู้การจัดการข้อมูล CRUD (Create Read Update Delete) ผ่าน REST APIs
- การค้นหาข้อมูล
- Workshop
- ใช้งานผ่าน Search APIs
- การวิเคราะห์ข้อมูลในรูปแบบต่างๆ
- Filter data
- Sorting data
- Highlighting
- Aggregation
- Workshop
Day 2
- การเขียนโปรแกรมเพื่อใช้งาน Elasticsearch ผ่าน REST APIs
- Workshop
- การพัฒนาระบบงานตัวอย่าง เช่น e-commerce, retail application, logging เป็นต้น
- การออกแบบ data model ของระบบ
- การพัฒนาระบบด้วยภาษา PHP/Java/JavaScript/.Net
- การใช้งานร่วมกับระบบ RDBMS (Relational Database Management System)
- การพัฒนาระบบงานตัวอย่าง เช่น e-commerce, retail application, logging เป็นต้น
- Scalable Elasticsearch
- Indexs
- Clustering
- Sharding
- Nodes and Sizing
- Tunning performance
- การใช้งาน Kibana ร่วมกับ Elasticsearch สำหรับแสดงผลข้อมูล
- การติดตั้ง
- การ configuration
- การใช้งานพื้นฐาน
- การสร้าง graph และ dashboard
- Monitoring Elasticsearch with Kibana
- Workshop
Day 3
-
การใช้งาน Logstash และ Fluentd ร่วมกับ Elasticsearch
- การติดตั้ง
- การ configuration
- การใช้งานพื้นฐาน
- การออกแบบ data flow และ data pipeline
- การจัดการข้อมูลขนาดใหญ่
- Workshop
-
การใช้งาน Prometheus และ Grafana
- การติดตั้ง
- การ configuration
- การใช้งานพื้นฐาน
- การออกแบบระบบงาน
- Workshop
Workshop
- APIs monitoring
- Send data from APIs to Elasticsearch
- ใช้งาน Elastic Cloud (Production)
- APIs ใช้ NodeJS
- Keep data with Elasticsearch
- Display data with Kibana + Express
- Data size ?
- Usage log + Metric :: Dashboard
- login time
- จำนวนในหนึ่งเวลา
- แผนที่
- by device => Android, iOS