12/08/2018, 16:50

Elasticsearch: Simple Setup in Ubuntu

Bài viết này sẽ hướng dẫn cách setup Elasticsearch & Logstash trong Ubuntu 16.04. Trong bài viết này mình sẽ sử dụng Docker. Cách cài đặt Docker bạn có thể xem ở đây: Setup Docker Nếu bạn đang sử dụng Ubuntu:16.04 và muốn setup trực tiếp trên máy, bạn có thể chuyển qua mục 2. 1. Setup ...

Bài viết này sẽ hướng dẫn cách setup Elasticsearch & Logstash trong Ubuntu 16.04. Trong bài viết này mình sẽ sử dụng Docker. Cách cài đặt Docker bạn có thể xem ở đây: Setup Docker Nếu bạn đang sử dụng Ubuntu:16.04 và muốn setup trực tiếp trên máy, bạn có thể chuyển qua mục 2.

1. Setup Ubuntu-16.04

  • Đầu tiên, chúng ta cần có image của Ubuntu version 16.04. Ta có thể pull image này từ remote:
docker pull ubuntu:16.04
  • Khi đã có image Ubuntu:16.04, ta cần tạo 1 container từ image vửa pull từ remote.
docker run --name <CONTAINER_NAME> -it ubuntu:16.04 /bin/bash

Từ các lần chạy sau, khi đã có container rồi, bạn sẽ không cần sử dụng câu lệnh trên nữa mà thay vào đó:

docker start <CONTAINER_NAME>
docker exec -it <CONTAINER_NAME> /bin/bash

Để hiểu rõ hơn về các thao tác ta vừa làm trên Docker, bạn có thể tham khảo Các thao tác cơ bản với Docker

2. Install PHP, Vim, cURL và 1 số package cần thiết

2.1 Install PHP

  • Để cài PHP, ta chạy lệnh:
apt-get update
apt-get install php
  • Kiểm tra PHP đã được cài đặt thành công:
php -v

2.2 Install Vim, cURL, wget

  • Chạy lệnh sau để cài đặt các package trên:
apt-get install vim
apt-get install curl
apt-get install wget

2.3 Install Java 1.8

apt-get install java-1.8.0-openjdk.x86_64

Như vậy ta đã hoàn thành việc cài đặt các package hỗ trợ cho setup Elasticsearch. Giờ ta sẽ chuyển qua cài đặt các phần chính.

3. Cài đặt Apache2

  • Chạy lệnh sau để cài đặt apache2:
apt-get install apache2
  • Config apache:
vim /etc/apache2/apache2.conf

Thêm dòng sau vào file:

ServerName localhost
  • Sau đó restart apache:
/etc/init.d/apache2 restart
  • Kiểm tra apache đã cài ssl-module, nếu chưa thì chạy lệnh thứ 2 để cài :
apachectl -M | grep ssl

#Run only if apache does not have ssl-module
apt-get -y install mod_ssl
/etc/init.d/apache2 restart

4. Cài đặt Elasticsearch

  • Download and cài đặt public signing key:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch |  apt-key add -
apt-get update &&  apt-get install elasticsearch
  • Setup config cho Elasticsearch:

    • Sử dụng vim, mở file /etc/elasticsearch/elasticsearch.yml:
    • Tìm tới dòng: # network.host: 192.168.0.1
    • Xóa dầu # , sửa 192.168.0.1 thành địa chỉ Ip mà bạn mong muốn. Ví dụ mình đang chạy trên localhost, mình sẽ sửa nó thành localhost hoặc 127.0.0.1 .
  • Restart Elasticsearch:

/usr/share/elasticsearch/bin/elasticsearch start
  • Để kiểm tra Elasticsearch đã được cài đúng:
curl -XGET 'http://localhost:9200'

5. Cài đặt Logstash

  • Để cài đặt Logstash, ta sử dụng lệnh sau:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list

apt-get update && apt-get install logstash
  • Config cho Logstash: mở logstash.conf file:
cd /etc/logstash/conf.d
touch logstash.conf
vim logstash.conf

Thêm

input {
  heartbeat {
    interval => 120
    message  => "Hello World! I'm Nobody ^^"
  }
}

filter {
  mutate { add_field => { '@log_name' => 'name' } }
}

output {
  elasticsearch {
    hosts    => [ 'localhost' ]
  }
}
  • Như vậy là ta đã cài đặt xong Elasticsearch và Logstash trên Ubuntu-16.04. Kiểm tra elasticsearch và logstash:
curl -X GET localhost:9200/logstash-*/_search?pretty=true

Các bạn có thể tham khảo documents của Elastic để có thể hiểu rõ hơn: Elasticsearch Logstash hoặc Docker

0