Published November 21, 2020 by with 0 comment

ELK Stack : Elasticsearch, Logstash and Kibana Installation

 

Halo semua, pada kesempatan kali ini kami akan mulai untuk tutorial dari ELK stack ini. Pada sesi kali ini akan dimulai dengan Installasi dari ELK stack, bagi yang belum paham komponen dan penjelasan tentang ELK, Bisa tengok di postingan berikut. Disana akan menjadi landasan sebelum kita melakukan praktek, agar paham apa saja komponen dan fungsinya. Oke, Sebelum masuk ke langkah-langkah percobaan, kita akan tunjukan environment dari lab kita nantinya.

 - ELK stack Server : 
|     Hostname   | pod0-elk |
| ----------- | ----------- |
| IP Adress   | 10.20.21.254|
| OS | Ubuntu 18.04 |
| Ram | 4GB |

- Client Server/ Beat
|     Hostname   | pod1-elk |
| ----------- | ----------- |
| IP Adress   | 10.20.21.253|
| OS | Ubuntu 18.04 |
| Ram | 512MB |

Pada lab ini, kami menggunaka Ubuntu 18.04, pada semua node/podnya. Tapi dalam penerapannya baik client/server dapat menggunakan sistem operasi lainya. Lengkapnya untuk support dari ELK dapat di check di sini. Jika environment sudah siap, mari kita lanjut ke langkah-langkah percobaan berikut :

Install ElasticSearch

1.  Update repository
```bash
$ sudo apt -y update
```
2.  Install dependensi
```bash
$ sudo apt -y install openjdk-8-jdk
$ java -version
```
3.  Install ElasticSeach
```bash
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
$ sudo apt -y install apt-transport-https
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt -y update && apt -y install elasticsearch
```
4.  Konfigurasi ElasticSearch
```bash
$ cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.original
$ vi /etc/elasticsearch/elasticsearch.yml
```
```yaml
# cari bagian berikut dan uncoment atau hilangkan pagar didepanya
# lalu ganti localhost dengan ipaddress dari server
network.host: 10.20.21.254
network.port: 9200
# tambahkan juga, karena jika kita runing dengan host berupa IP, 
# dianggap production jadi perlu kita set tipe discover
discovery.type: single-node
```
5.  jalankan ElasticSearch
```bash
$ sudo systemctl daemon-reload
$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch
$ sudo systemctl status elasticsearch
```
6.  Verifikasi
```bash
$ netstat -tupln
$ curl -XGET 'localhost:9200/?pretty'
$ curl -XGET '10.20.21.254:9200/?pretty'
```

Install LogStash

1.  Installasi Logstash
```bash
$ sudo apt -y install logstash
```
2.  Konfigurasi Logstash
```bash
$ sudo vi /etc/logstash/conf.d/input-filebeat.conf
```
```bash
input {
  beats {
    port => 5044
  }
}
```
3.  Membuat Output dari Logstash
```bash
$ sudo vi /etc/logstash/conf.d/output-elasticsearch.conf
```
```bash
output {
  elasticsearch {
    hosts => ["10.20.21.254:9200"]
    manage_template => false
    index => "%{[fields][log_name]}_%{[agent][hostname]}_%{+YYYY.MM}"
  }
}
```
4.  Jalankan Logstash
```bash
$ sudo systemctl enable logstash
$ sudo systemctl start logstash
$ sudo systemctl status logstash
$ netstat -tupln
```

Install Kibana

1.  Installasi Kibana
```bash
$ sudo apt -y install kibana
```
2.  Konfigurasi dan integrasi dengan ElasticSearch
```bash
$ sudo cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.original
$ sudo vi /etc/kibana/kibana.yml
```
```bash
server.port: 5601
server.host: "10.20.21.254"
elasticsearch.hosts: ["http://10.20.21.254:9200"]
```
3.  Jalankan Kibana
```bash
$ sudo systemctl enable kibana
$ sudo systemctl start kibana
$ sudo systemctl status kibana
```
4.  Installasi nginx dan konfigurasi
```bash
$ sudo apt -y install nginx apache2-utils
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.original
$ sudo vi /etc/nginx/sites-available/default
```
```bash
#hapus semua dan ganti seperti berikut
server {
    listen 80;

    server_name _;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.kibana;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
```
5.  Buat user dan jalankan Nginx
```bash
# ganti [username] dengan username yang akan kita gunakan
$ sudo htpasswd -c /etc/nginx/htpasswd.kibana [username]
$ sudo systemctl enable nginx
$ sudo systemctl restart nginx
$ sudo systemctl status nginx
$ netstat -tupln
```
6. Verifikasi

Coba untuk akses via browser




Yaps, diatas adalah installasi ELK stack, untuk install beat akan dibahas pada tutorial berikutnya, sampai jumpa!

      edit

0 comments:

Post a Comment