Upgrade to Pro — share decks privately, control downloads, hide ads and more …

elastic stack in operation

elastic stack in operation

Dùng elastic stack để phân tích log, trực quan hóa dữ liệu trong vận hành

6ddf14675dfb386411b41f6737bc758f?s=128

thanhgit

June 21, 2020
Tweet

Transcript

  1. ELASTIC STACK IN OPERATION By Thanh Nguyen

  2. Nội dung 1. Tìm hiểu về elastic stack 2. Một

    số đầu việc cụ thể 3. Best practice trong vận hành
  3. 1. Tìm hiểu về elastic stack - Beats: dùng để

    lấy dữ liệu file log hoặc metrics, sau đó đẩy về logstash hoặc elasticsearch • Filebeat: lấy dữ liệu từ file log • Metricbeat: lấy dữ liệu cpu, memory, filesystem trên máy host
  4. 1. Tìm hiểu về elastic stack - Logstash: xử lý

    dữ liệu và định nghĩa index data lên elasticsearch • input module: định nghĩa dữ liệu đầu vào • filter: lọc data, cũng như transform data • output: đẩy data đến một repository khác, thông thường là elasticsearch
  5. 1. Tìm hiểu về elastic stack - Elasticsearch: lưu trữ

    dữ liệu, index data • Nơi lấy dữ liệu, đáp ứng nhu cầu của những ứng dụng khác • Hỗ trợ kibana visualize data
  6. 1. Tìm hiểu elastic stack - Kibana: khám phá, visualize,

    tạo dashboard đối với dữ liệu • Index data, transform data hỗ trợ cho những chức năng liên quan như visualize, tìm insight • Hỗ trợ cấu hình elasticsearch • Elastalert plugin cho cảnh báo
  7. 2. Một số đầu việc cụ thể 1. Cấu hình

    filebeat và metricbeat 2. Cấu hình logstash 3. Một số thứ cần làm trong kibana 4. Tạo cảnh báo trên kibana 5. Ảo hóa với vmware ESXi
  8. 2. 1.1Cấu hình metricbeat B1: download file metricbeat B2: cài

    đặt trên hệ thống B3: cấu hình • Dùng metricbeat modules để biết số module nào đã enable và disable • Dùng lệnh: [metricbeat test config] hoặc [metricbeat test output]
  9. 2.1.1 Cấu hình metricbeat - Cấu hình file ở /etc/metricbeat/metricbeat.yaml

    Output.logstash: hosts: ["localhost:5044"] hoặc Output.elasticsearch: hosts:["localhost:9200"]
  10. 2. 2.2Cấu hình filebeat B1: download file fiebeat B2: cài

    đặt trên hệ thống B3: cấu hình • Xác định file logs • Dùng lệnh: [filebeat test config] hoặc [filebeat test output] • $ filebeat -c /etc/filebeat/filebeat.yml -e
  11. 2.1.2 Cấu hình filebeat - Cấu hình file ở /etc/filebeat/filebeat.yml

  12. 2.1.2 Cấu hình filebeat - Cấu hình file ở /etc/filebeat/filebeat.yaml

    Output.logstash: hosts: ["localhost:5044"] hoặc Output.elasticsearch: hosts:["localhost:9200"]
  13. 2. 2 Cấu hình logstash B1: download file logstash B2:

    cài đặt trên hệ thống B3: cấu hình gồm 3 phần trong thư mục /etc/logstash/conf.d/ • Input module • Filter module • Output module
  14. 2. 2 Cấu hình logstash 1. Input module - Thường

    thì metricbeat hoặc filebeat bắn vào logstash qua cổng 5044
  15. 2. 2 Cấu hình logstash 2. Filter module

  16. 2. 2 Cấu hình logstash 2. Filter module: chú ý

    cần thử mỗi một mutate cho mỗi vai trò
  17. 2. 2 Cấu hình logstash 2. Filter module

  18. Continuous if [source] =~ /all.log/ { split { field =>

    "[data]"} split {field => "[data][Event]" } split { field => "[checkEvent][_source][Event]"} }
  19. Continuous mutate { Add_field => { “new_field” => 1 }

    } Mutate { Convert => { “new_field” => “integer” } }
  20. 2. 2Cấu hình logstash 3. Output module

  21. Một số command trong logstash $ logstash -f logstash.conf --config.reload.automatic

    --config.reload.interval 3
  22. Một số chú ý - Từ version 6 trở về

    trước: + [source] - Từ version 7 trở đi: + [_source]
  23. Một số chú ý - Gọi trường bên trong json

    object source hoặc _source { ... _source { "position": "/var/log/demo/stations.log" } ... } logstash: => if [position] == "/var/log/demo/stations.log" { ... }
  24. 3. Một số thứ cần làm trong kibana - Tạo

    index data cho dữ liệu: - Transform data - Thêm một field - Explore data để tìm insight data, bước chuẩn bị cho visualize data - Visualize data dựa trên các đặc tính data để trực quan hóa những gì ta cần biết với dữ liệu - Tạo dashboard đẹp với cấu trúc layout hợp lý, nhằm giúp cho người xem dễ hiểu - Note: mỗi khi bắn logs từ nguồn mới cần refresh index trước search
  25. input script { "script"; { "lang": "painless", "source": "_value*16.2" }

    }
  26. 4. Tạo cảnh báo với elastalert B1: cài kibana-plugin elastalert-kibana-plugin

    B2: cài đặt server elastalert B3: cấu hình cảnh báo
  27. Continuous Cấu hình elasticsearch (tập khảo sát)

  28. Continuous Khai báo những thuộc tính thông dụng trong elastalert

    như: kiểu event, tần số xuất hiện, thời gian, index nào khả dụng
  29. Continuous Một số thuộc tính lọc, cũng như detect event,

    khoảng thời gian alert lại
  30. Continuous Cấu hình alert sẽ đến đâu (ở đây là

    telegram) với thông điệp gì
  31. Continuous

  32. Continuous Các thuộc tính search, filter tương tự như elasticsearch

    nhưng cách khai báo theo chuẩn yaml
  33. Continuous

  34. 5. Ảo hóa với vmware ESXi https://masteringvmware.com/how-to-install-esxi-6-7-step-by-step/

  35. 6. Một số lệnh thông dụng thường dùng trong linux

    $ ping 8.8.8.8 $ netstat -lnp | grep 9200 $ netstat -antup $ curl -v --noproxy “*” http://192.168.10.5:9200