ELK #04

คราวนี้มาติดตั้งบน Docker บ้าง

  1. ถ้าเครื่อง Server เป็น Ubuntu 16.04 ทำตามขั้นตอนนี้เพื่อให้สามารถใช้งาน Docker ได้
    วิธีการติดตั้ง Docker บน Ubuntu 16.04
  2. เนื่องจาก 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

  3. ติดตั้ง docker image ของ sebp/elk ด้วยคำสั่ง
     sudo docker pull sebp/elk

    โดย Default จะได้ Lastest Version

  4. ใช้คำสี่งต่อไปนี้ เพื่อ 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
  5. ทดสอบว่า Container ที่กำลังทำงานอยู่มีอะไรบ้าง
    sudo docker ps

    วิธีดูว่า มี Container อะไรบ้าง (ทั้งที่ทำงานและไม่ทำงาน)

    sudo docker ps -a

    วิธีดูว่าเกิดอะไรขึ้นกับ Container (ในที่นี้ ชื่อ elk)

    sudo docker logs elk
  6. ถึงจุดนี้ ก็สามารถใช้งาน Kibana ทาง web url: http://your.host:5601 ได้แล้ว

 

Reference:

https://elk-docker.readthedocs.io/

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.