Skip to main content

ELK Stack 101 - Tổng quan hệ sinh thái



1. Logstash

Logstash là một công cụ mã nguồn mở thu thập dữ liệu có khả năng liên hợp theo thời gian thực. Logstash có thể hợp nhất dữ liệu từ các nguồn khác nhau và chuẩn hóa dữ liệu ở phần xử lý tiếp theo. Loại bỏ và đồng hóa tất cả dữ liệu đó trong một số use case cần phân tích và thể hiện trên biểu đồ.
  • INPUT: Nó có thể lấy đầu vào từ TCP/UDP, các file, từ syslog, Microsoft Windows EventLogs, STDIN và từ nhiều nguồn khác. Chúng ta có thể lấy log từ các ứng dụng trên môi trường của chúng ta rồi đẩy chúng tới Logstash.
  • FILTER: Khi những log này tới Server Logstash, có một số lượng lớn các bộ lọc mà cho phép ta có thể chỉnh sửa và chuyển đổi những event này. Ta có thể lấy ra các thông tin mà ta cần từ những event log.
  • OUTPUT: Khi xuất dữ liệu ra, Logstash hỗ trợ rất nhiều các đích tới bao gồm TCP/UDP, email, các file, HTTP, Nagios và số lượng lớn các dịch vụ mạng. Ta có thể tích hợp Logstash với các công cụ tính toán số liệu (metric), các công cụ cảnh báo, các dạng biểu đồ, các công nghệ lưu trữ hay ta có thể xây dựng một công cụ trong môi trường làm việc của chúng ta.

2. Elasticsearch

Elasticsearch là một công cụ nguồn mở tìm kiếm full-text và phân tích có khả năng mở rộng cao. Nó cho phép lưu trữ, tìm kiếm và phân tích khối lượng lớn của dữ liệu nhanh chóng và tương đối gần vời thời gian thực.
Nó thường được sử dụng như một engine hay công nghệ phía bên dưới tạo ra sức mạnh cho các ứng dụng bên trên có các tính năng và yêu cầu tìm kiếm phức tạp.

3. Kibana

Kibana là một nền tảng phân tích và hiển thị mã nguồn mở được thiết kế để làm việc với Elasticsearch. Kibana được viết bằng HTML và Javascript. Nó tận dụng khả năng tìm kiếm và index mạnh mẽ của Elasticsearch để hiển thị các giao diện mạnh mẽ cho người dùng. Từ kinh doanh thông minh tới việc kiểm tra lỗi theo thời gian thưc. Nhiệm vụ của kibana là tạo ra các biểu đồ, bản đồ địa lý, các bảng biểu,...
Kibana làm cho việc hiểu các khối lượng dữ liệu lớn trở nên dễ dàng hơn. Giao diện duyệt đơn giản cho phép ta tạo và chia sẻ một biển đồ nhanh chóng mà có thể hiển thị sự thay đổi bằng việc truy vấn vào Elasticsearch theo thời gian thực.

4. Hệ sinh thái ELK STACK

Bên trên là hệ sinh thái của Logstash sẽ có 4 thành phần:
  • Shipper: Gửi các event tới logstash. Máy remote của ta thường sẽ chỉ chạy thành phần này.
  • Broker và Indexer: Nhận và index các event.
  • Search và Storage: Cho phép tìm kiếm và lưu trữ các event.
  • Web Interface: Một giao diện web để thực hiện các hiển thị và tìm kiếm từ Search và Storage. 
- From Sapham

Comments

  1. Bài viết rất hay, tuy nhiên nếu Ad có thời gian viết thêm các bài liên quan đến:

    Tích hợp log như thế nào ? (tích hợp dạng file trên các nền tảng OS khác nhau, cơ chế Restful, Socket ra sao )
    Việc bóc tách parse log như thế nào ? cách cấu hình hướng dẫn chi tiết
    Việc xử lý log tạo các báo cáo ? cảnh báo ra sao ?
    Triển khai mở rộng với hệ thống lớn, cơ chế High Availability cách thức hoạt động ... ?

    ReplyDelete

Post a Comment

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