คราวนี้มาติดตั้งบน Docker บ้าง
- ถ้าเครื่อง Server เป็น Ubuntu 16.04 ทำตามขั้นตอนนี้เพื่อให้สามารถใช้งาน Docker ได้
วิธีการติดตั้ง Docker บน Ubuntu 16.04 - เนื่องจาก Elasticsearch 5.x ใช้ Virtual Memory มากขึ้น ลองใช้คำสั่งนี้ดูค่าปัจจุบัน
sysctl vm.max_map_count
ค่า Default น่าจะประมาณนี้
vm.max_map_count = 65530 ให้ทำการเพิ่มด้วยคำสั่งนี้sudo -i sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf exit
จากนั้นให้ทำการ Reboot
- ติดตั้ง docker image ของ sebp/elk ด้วยคำสั่ง
sudo docker pull sebp/elk
โดย Default จะได้ Lastest Version
- ใช้คำสี่งต่อไปนี้ เพื่อ Start ELK ขึ้นมา โดยเปิด port ให้ Kibana: 5601, Elasticsearch: 9200, Logstash: 5044 และทำงานเป็นแบบ Detach หรือ Background นั่นเอง
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
หรือถ้าจะใช้ Docker Compose ก็สามารถใช้งานด้วยวิธีการนี้
เริ่มจาก ติดตั้ง Docker Compose ด้วยคำสั่งsudo -i curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose exit
จากนั้น สร้างไฟล์ /path/to/your/config/elk.yml เนื้อหาดังนี้
elk: image: sebp/elk ports: - "5601:5601" - "9200:9200" - "5044:5044"
จากนั้นก็ Start
sudo /usr/local/bin/docker-compose -f /path/to/your/config/elk.yml up -d elk
หากต้องการให้ container ทำการ start ทุกครั้งที่ Reboot ใช้คำสั่ง
sudo crontab -e
แล้วใส่บรรทัดนี้ต่อท้ายไฟล์
@reboot /usr/local/bin/docker-compose -f /home/mama/elk.yml up -d elk
- ทดสอบว่า Container ที่กำลังทำงานอยู่มีอะไรบ้าง
sudo docker ps
วิธีดูว่า มี Container อะไรบ้าง (ทั้งที่ทำงานและไม่ทำงาน)
sudo docker ps -a
วิธีดูว่าเกิดอะไรขึ้นกับ Container (ในที่นี้ ชื่อ elk)
sudo docker logs elk
- ถึงจุดนี้ ก็สามารถใช้งาน Kibana ทาง web url: http://your.host:5601 ได้แล้ว
Reference:
https://elk-docker.readthedocs.io/