Skip to main content

ELK STACK 101 - Cài đặt và cấu hình



Mô hình cài đặt
Tôi sẽ cài 3 thành phần Logstash, Elasticsearch và Kibana trên cùng một server. Các thành phần này đều có thể mở rộng theo chiều ngang, do vậy việc cấu hình mở rộng cũng không có gì khó khăn.
Bài lab sau sẽ thực hiện trên Ubuntu Server 14.04
JAVA
Vì Logstash và Elasticsearch được viết bằng ngôn ngữ Java, do vậy ta cần phải cài Java trên máy chủ cài đặt 2 thành phần này.
Ta sẽ thực hiện cài đặt Java 8 từ package.
Thực hiện các lệnh sau trên máy chủ Ubuntu:
- Thêm Repository có chứa package Java 8
sudo add-apt-repository ppa:webupd8team/java  
  • Cập nhật repository sau khi đã thêm
sudo apt-get update  
  • cài đặt Java
sudo apt-get install oracle-java8-installer oracle-java8-set-default  
  • Kiểm tra
Logstash
  • Tải và thêm GPG key sử dụng lệnh sau:
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  
  • Thêm repository bằng lệnh sau
echo "deb https://packages.elastic.co/logstash/2.3/debian stable main" | sudo tee -a /etc/apt/sources.list  
  • Cập nhật repository sau khi đã thêm
sudo apt-get update  
  • Cài đặt logstash
sudo apt-get install -y logstash  
  • Để cho phép logstash khởi động cùng hệ thống ta thực hiện lệnh sau
update-rc.d logstash defaults  
  • Để kiểm tra quá trình cài đặt đã thành công hay chưa ta khởi chạy logstash với input là dữ liệu nhập từ bàn phím và output là màn hình
cd /opt/logstash  
bin/logstash -e 'input { stdin { } } output { stdout {} }'  
Khi đó logstash sẽ khởi động ta sẽ nhập một vài đoạn chuỗi và nó sẽ hiển thị ra màn hình
Elasticsearch
  • Thêm GPG key như phần logstash nếu chưa có
  • Thêm repository bằng lệnh sau
echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list  
  • Cập nhật repository sau khi đã thêm
sudo apt-get update  
  • Cài đặt elasticsearch
sudo apt-get install -y elasticsearch  
Mở file cấu hình tại đường dẫn “/etc/elasticsearch/elasticsearch.yml”
Sửa các mục sau
  • cluster.name: là tên của elasticsearch cluster. Dùng để định danh một cluster Elasticsearch và để các node tự tham giao vào cluster.
  • node.name: là tên của node hiện đang chạy
  • path.data: đường dẫn để lưu dữ liệu cho elasticsearch
  • path.logs: đường dẫn lưu các tệp tin log của elasticsearch
  • network.host: là địa chỉ IP của máy chủ mà elasticsearch sẽ bind
  • http.port: là port mà elasticsearch sẽ lắng nghe, ta sẽ sử dụng mặc định là 9200 Tham khảo tệp tin cấu hình cho elasticsearch của tôi như sau:
cluster.name: saphi-elasticsearch  
node.name: node-1  
path.data: /var/lib/elasticsearch  
path.logs: /var/log/elasticsearch  
Sau khi cấu hình thành công ta thực hiện khởi động elasticsearch
service elasticseach restart  
  • Kiểm tra trạng thái của cluster
Kibana
  • Thêm GPG key như phần logstash nếu chưa có
  • Thêm repository bằng lệnh sau
echo "deb http://packages.elastic.co/kibana/4.5/debian stable main" | sudo tee -a /etc/apt/sources.list  
  • Cập nhật repository sau khi đã thêm
sudo apt-get update  
  • Cài đặt Kibana
sudo apt-get install -y kibana  
  • Sau khi quá trình cài đặt hoàn tất ta khởi động kibana
service kibana start  
Ta cần cấu hình để kibana kết nối đến elasticsearch. Mở tập tin cấu hình kibana tại đường dẫn “/opt/kibana/config/kibana.yml”
Cấu hình các thông số sau
  • server.port: Cổng hoạt động của kibana, ta sẽ để mặc định là 5601
  • server.host: địa chỉ IP mà kibana sẽ bind. Mặc định là 0.0.0.0
  • elasticsearch.url: địa chỉ url của elasticsearch.
Khởi động lại kibana
service kibana start  

Comments

Popular posts from this blog

Merge AVHDX Hyper-V Checkpoints

When you create a snapshot of a virtual machine in Microsoft Hyper-V, a new file is created with the  .avhdx  file extension. The name of the file begins with the name of its parent VHDX file, but it also has a GUID following that, uniquely representing that checkpoint (sometimes called snapshots). You can see an example of this in the Windows Explorer screenshot below. Creating lots of snapshots will result in many  .avhdx  files, which can quickly become unmanageable. Consequently, you might want to merge these files together. If you want to merge the  .avhdx  file with its parent  .vhdx  file, it’s quite easy to accomplish. PowerShell Method Windows 10 includes support for a  Merge-VHD  PowerShell command, which is incredibly easy to use. In fact, you don’t even need to be running PowerShell “as Administrator” in order to merge VHDX files that you have access to. All you need to do is call  Merge-VHD  with the  -Path  parameter, pointing to the  .avhdx  file, and the  -Des

Openstack manila phần 4: Native GlusterFS Driver

Tiếp tục loạt bài về Openstack Manila hôm nay tôi sẽ cấu hình backend sử dụng GlusterFS Yêu cầu phiên bản GlusterFS >= 3.6. Với glusterfs nếu cluster của bạn không hỗ trợ snapshot thì trên manila cũng sẽ mất đi tính năng này. Để cấu hình snapshot ta sẽ cấu hình Thin Provision theo bài hướng dẫn link Với bài lab của mình có 2 node và chạy kiểu replicate. Mình sẽ tạo các thinly provisioned và tạo volume trên đó. Mô hình cài đặt Cài đặt glusterfs-v3.7 add-apt-repository ppa:gluster/glusterfs-3.7 -y apt-get update apt-get install glusterfs-server -y Tham khảo script tạo thin LV và gluster volume Script tạo thinly provisioned chạy trên 2 node apt-get install xfsprogs -y pvcreate /dev/sdb vgcreate myVG /dev/sdb lvcreate -L 8G -T myVG/thinpool for ((i = 1;i<= 5; i++ )) do mkdir -p /manila/manila-"$i" for (( j = 1; j<= 5; j++)) do lvcreate -V "${i}"Gb -T myVG/thinpool -n vol-"$i"-"$j" mkfs.xfs /dev/my

Zabbix, AWS and Auto Registration

One of the things I love the most with AWS is  auto-scaling . You choose an AMI, set some parameters and AWS will spin instances up and down whenever a threshold is breached. But with all these instances spinning up and down there are some unknowns. For example, what is the IP address of the new instance? Its host name? This can be critical when other components of your infrastructure are dependent on knowing these parameters. I had this problem when I started to use  Zabbix  as the monitoring system. At first it seemed like a complicated one, but Zabbix has a wonderful feature called  Auto Registration  which can be used exactly for this situation. I will try to show how to configure auto registration both on the client (EC2 instance running Ubuntu 14.04) and on the Zabbix server (Zabbix Server 2.4.2). Zabbix-agent Installation and Configuration Let’s start with installing zabbix-agent on the Ubuntu client: 1 2 $ sudo apt-get update $ sudo apt-get install -y zab