Cách cài đặt FileBeat trên Ubuntu

theanh

Administrator
Nhân viên
Elastic Stack là sự kết hợp của bốn thành phần chính Elasticsearch, Logstash, Kibana và Beats. Filebeat là một trong những thành viên nổi tiếng nhất của họ này, thu thập, chuyển tiếp và tập trung dữ liệu nhật ký sự kiện vào Elasticsearch hoặc Logstash để lập chỉ mục. Filebeat có nhiều mô-đun, bao gồm Apache, Nginx, System, MySQL, auditd và nhiều mô-đun khác, giúp đơn giản hóa việc trực quan hóa các định dạng nhật ký phổ biến thành một lệnh duy nhất.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Filebeat để chuyển tiếp nhật ký sự kiện, sự kiện xác thực SSH tới Logstash trên Ubuntu 18.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 18.04 với Elasticsearch, Kibana và Logstash được cài đặt và cấu hình.
  • Một mật khẩu gốc được cấu hình trên máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, hãy cập nhật hệ thống của bạn lên phiên bản mới nhất. Bạn có thể thực hiện bằng cách chạy lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại để áp dụng các thay đổi.

Cài đặt Filebeat​

Theo mặc định, Filebeat không có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ Elastic Stack 7 APT vào hệ thống của mình.

Đầu tiên, cài đặt gói cần thiết bằng lệnh sau:
Mã:
apt-get install apt-transport-https -y
Tiếp theo, tải xuống và thêm khóa Elastic Stack bằng lệnh sau:
Mã:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Tiếp theo, thêm kho lưu trữ Elastic Stack 7 Apt bằng lệnh sau:
Mã:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Filebeat bằng lệnh sau:
Mã:
apt-get update -y
apt-get install filebeat -y
Sau khi quá trình cài đặt hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Filebeat​

Theo mặc định, Filebeat được cấu hình để gửi dữ liệu sự kiện đến Elasticsearc. Ở đây, chúng ta sẽ cấu hình Filebeat để gửi dữ liệu sự kiện đến Logstash. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/filebeat/filebeat.yml:
Mã:
nano /etc/filebeat/filebeat.yml
Ghi chú đầu ra elasticsearch và bỏ ghi chú đầu ra Logstash như hiển thị bên dưới:
Mã:
#-------------------------- Đầu ra Elasticsearch ---------------------------# output.elasticsearch: # Mảng máy chủ để kết nối. # hosts: ["localhost:9200"]#----------------------------- Đầu ra Logstash --------------------------------output.logstash: # Máy chủ Logstash hosts: ["localhost:5044"]
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Bật Mô-đun Hệ thống Filebeat​

Theo mặc định, Filebeat đi kèm với rất nhiều mô-đun. Bạn có thể liệt kê tất cả các mô-đun bằng lệnh sau:
Mã:
filebeat modules list
Bạn sẽ thấy đầu ra sau:
Mã:
Enabled:Disabled:apacheauditdawscefciscocorednselasticsearchenvoyproxygooglecloudhaproxyibmmqicingaiisiptableskafkakibanalogstashmongodbmssqlmysqlnatsnetflownginxosquerypanwpostgresqlrabbitmqredissantasuricatasystemtraefikzeek
Theo mặc định, tất cả các mô-đun đều bị vô hiệu hóa. Vì vậy, bạn sẽ cần bật mô-đun hệ thống để thu thập và phân tích các bản ghi được tạo bởi dịch vụ ghi nhật ký hệ thống. Bạn có thể bật mô-đun hệ thống bằng lệnh sau:
Mã:
filebeat modules enable system
Tiếp theo, bạn có thể xác minh mô-đun hệ thống bằng lệnh sau:
Mã:
filebeat modules list
Bạn sẽ thấy mô-đun hệ thống hiện đã được bật:
Mã:
Enabled:system
Tiếp theo, bạn sẽ cần định cấu hình mô-đun hệ thống để chỉ đọc nhật ký xác thực. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/filebeat/modules.d/system.yml:
Mã:
nano /etc/filebeat/modules.d/system.yml
Thay đổi các dòng sau:
Mã:
- module: system # Syslog syslog: enabled: false... # Authorization logs auth: enabled: true # Đặt đường dẫn tùy chỉnh cho các tệp nhật ký. Nếu để trống, # Filebeat sẽ chọn đường dẫn tùy thuộc vào hệ điều hành của bạn. var.paths: ["/var/log/auth.log"]
Lưu và đóng tệp khi bạn hoàn tất.

Tải mẫu chỉ mục trong Elasticsearch​

Tiếp theo, bạn sẽ cần tải mẫu vào Elasticsearch theo cách thủ công. Bạn có thể thực hiện bằng lệnh sau:
Mã:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Bạn sẽ thấy đầu ra sau:
Mã:
Thiết lập chỉ mục đã hoàn tất.
Tiếp theo, tạo mẫu chỉ mục và cài đặt mẫu trên máy chủ Elastic Stack bằng lệnh sau:
Mã:
filebeat export template > filebeat.template.json
curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.0.1 [emailprotected]
Cuối cùng, hãy khởi động dịch vụ Filebeat và cho phép nó khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start filebeat
systemctl enable filebeat
Bạn có thể kiểm tra trạng thái của Filebeat bằng lệnh sau:
Mã:
systemctl status filebeat
Bạn sẽ thấy đầu ra sau:
Mã:
? filebeat.service - Filebeat gửi tệp nhật ký đến Logstash hoặc trực tiếp đến Elasticsearch. Đã tải: đã tải (/lib/systemd/system/filebeat.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ ba 2019-11-26 06:45:18 UTC; 14 giây trước Tài liệu: https://www.elastic.co/products/beats/filebeat PID chính: 13059 (filebeat) Nhiệm vụ: 28 (giới hạn: 463975) CGroup: /system.slice/filebeat.service ??13059 /usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat26 tháng 11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z INFO log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26 tháng 11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z INFO log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26-11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z INFO log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26-11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z INFO log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26-11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z INFO log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26 tháng 11 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z THÔNG TIN log/harvester.go:251 Harvester đã bắt đầu cho tệp: /va26 tháng 11 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.485Z THÔNG TIN add_cloud_metadata/add_cloud_metadata.go:87 add_clou26 tháng 11 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.486Z THÔNG TIN log/harvester.go:251 Harvester đã bắt đầu cho tệp: /vaTháng 11 26 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.485Z INFO pipeline/output.go:95 Đang kết nối tới backoff(async(tc26 tháng 11 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.487Z INFO pipeline/output.go:105 Đang kết nối tới backoff(async(t

Kiểm tra việc tiếp nhận dữ liệu của Elasticsearch​

Bây giờ, hãy xác minh xem Elasticsearch có đang nhận dữ liệu hay không bằng lệnh sau:
Mã:
curl -X GET localhost:9200/_cat/indices?v
Bạn sẽ thấy đầu ra sau:
Mã:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen mở .kibana_task_manager_1 fpHT_GhXT3i_w_0Ob1bmrA 1 0 2 0 46,1kb 46,1kbyellow mở ssh_auth-2019.11 mtyIxhUFTp65WqVoriFvGA 1 1 15154 0 5,7mb 5,7mbyellow mở filebeat-7.4.2-2019.11.26-000001 MXSpQH4MSZywzA5cEMk0ww 1 1 0 0 283b 283bgreen mở .apm-agent-configuration Ft_kn1XXR16twRhcZE4xdQ 1 0 0 0 283b 283bgreen mở .kibana_1 79FslznfTw6LfTLc60vAqA 1 0 8 0 31.9kb 31.9kb
Bạn cũng có thể xác minh chỉ mục ssh_auth-2019.05 bằng lệnh sau:
Mã:
curl -X GET localhost:9200/ssh_auth-*/_search?pretty
Bạn sẽ thấy đầu ra sau:
Mã:
{ "took" : 1, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 10000, "relation" : "gte" }, "max_score" : 1.0, "hits" : [ { "_index" : "ssh_auth-2019.11", "_type" : "_doc", "_id" : "g7OXpm4Bi50dVWRYAyK4", "_score" : 1.0, "_source" : { "log" : { "offset" : 479086, "file" : { "path" : "/var/log/elasticsearch/gc.log" } }, "event" : { "timezone" : "+00:00", "dataset" : "elasticsearch.server", "module" : "elasticsearch" },

Thêm chỉ mục vào Kibana​

Bây giờ, hãy đăng nhập vào bảng điều khiển Kibana của bạn và nhấp vào Chỉ mục Mẫu. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào Tạo mẫu chỉ mục. Bạn sẽ thấy trang sau:



Thêm ssh_auth-* index và nhấp vào nút Next bước. Bạn sẽ thấy trang sau:



Bây giờ, hãy chọn @timestamp và nhấp vào nút Create index pattern. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào tab Discover ở ngăn bên trái. Bạn sẽ có thể thấy dữ liệu của mình trong màn hình sau:



Xin chúc mừng! Bạn đã cài đặt và cấu hình thành công Filebeat để gửi dữ liệu sự kiện đến Logstash. Bây giờ bạn có thể tiến hành tạo bảng điều khiển Kibana sau khi nhận được tất cả dữ liệu.
 
Back
Bên trên