Hướng dẫn python-logstash - nhật ký python
Show Cài đặt LogstasheditCài đặt từ BinyaDit đã tải xuốngCác nhị phân Logstash có sẵn từ https://www.elastic.co/doads. Tải xuống tệp cài đặt Logstash cho môi trường máy chủ của bạn, Tar Tar.GZ, Deb, Zip hoặc RPM. Giải nén tập tin. Không cài đặt Logstash vào một đường dẫn thư mục có chứa dấu hai chấm (:) ký tự. Các gói này được sử dụng miễn phí theo giấy phép đàn hồi. Chúng chứa nguồn mở và các tính năng thương mại miễn phí và quyền truy cập vào các tính năng thương mại trả phí. Bắt đầu một bản dùng thử 30 ngày để thử tất cả các tính năng thương mại trả phí. Xem trang đăng ký để biết thông tin về mức giấy phép đàn hồi. Ngoài ra, bạn có thể tải xuống gói wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -0, chỉ chứa các tính năng có sẵn theo giấy phép Apache 2.0. Trên các hệ điều hành Linux được hỗ trợ, bạn có thể sử dụng Trình quản lý gói để cài đặt Logstash. Cài đặt từ gói hàng góiChúng tôi cũng có các kho lưu trữ có sẵn cho các phân phối dựa trên APT và YUM. Lưu ý rằng chúng tôi chỉ cung cấp các gói nhị phân, nhưng không có gói nguồn nào, vì các gói được tạo như một phần của bản dựng Logstash. Chúng tôi đã chia kho lưu trữ gói Logstash bằng phiên bản thành các URL riêng biệt để tránh nâng cấp tình cờ trên các phiên bản chính. Đối với tất cả các bản phát hành 8.x.y sử dụng 8.x làm số phiên bản. Chúng tôi sử dụng khóa PGP D88E42B4, phím ký kết đàn hồi, với dấu vân tay 4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4 Để ký tất cả các gói của chúng tôi. Nó có sẵn từ https://pgp.mit.edu. ApteditTải xuống và cài đặt khóa ký công khai: wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Bạn có thể cần cài đặt gói wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -1 trên Debian trước khi tiến hành: sudo apt-get install apt-transport-https Lưu định nghĩa kho lưu trữ vào wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -2: echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list Sử dụng phương thức wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -3 được mô tả ở trên để thêm kho lưu trữ logstash. Không sử dụng wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -4 vì nó cũng sẽ thêm mục wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -5, nhưng chúng tôi không cung cấp gói nguồn. Nếu bạn đã thêm mục nhập wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -5, bạn sẽ thấy một lỗi như sau: Unable to find expected entry 'main/source/Sources' in Release file (Wrong sources.list entry or malformed file) Chỉ cần xóa mục wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -5 khỏi tệp wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -8 và cài đặt sẽ hoạt động như mong đợi. Chạy wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -9 và kho lưu trữ đã sẵn sàng để sử dụng. Bạn có thể cài đặt nó với: sudo apt-get update && sudo apt-get install logstash Xem Chạy Logstash để biết chi tiết về việc quản lý Logstash dưới dạng dịch vụ hệ thống. YumeditTải xuống và cài đặt khóa ký công khai: sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch Thêm các mục sau trong thư mục sudo apt-get install apt-transport-https0 của bạn trong một tệp có hậu tố sudo apt-get install apt-transport-https1, ví dụ sudo apt-get install apt-transport-https2 [logstash-8.x] name=Elastic repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md Và kho lưu trữ của bạn đã sẵn sàng để sử dụng. Bạn có thể cài đặt nó với: sudo yum install logstash Các kho lưu trữ không hoạt động với các phân phối dựa trên RPM cũ hơn vẫn sử dụng RPM V3, như Centos5. Xem tài liệu Logstash đang chạy để quản lý Logstash dưới dạng dịch vụ hệ thống. DockereditHình ảnh có sẵn để chạy Logstash dưới dạng container Docker. Chúng có sẵn từ Cơ quan đăng ký Docker đàn hồi. Xem Chạy Logstash trên Docker để biết chi tiết về cách định cấu hình và chạy Logstash Docker Container. Đã đăng vào thg 5 10, 2021 2:28 SA 4 phút đọc 4 phút đọc Mở đầuXin chào các bạn, nhân dịp đang có cơ hội được tìm hiểu về ELK Stack mình muốn chia sẻ với các bạn một số thứ mà mình mò mẫm và học được từ công nghệ đang khá hot này. Như tiêu đề bài viết, trong bài này mình sẽ hướng dẫn các bạn cách phân tích log, trích xuất ra các trường trong log của Web Server Apache, ngoài ra đối với các log của các phần mềm khác thì cũng gần tương tự để chúng ta có thể áp dụng. Tổng quan về ELK StackELK Stack được viết rút gọn từ 3 từ ( Elasticsearch - LogStash - Kibana ), 3 công cụ này hợp tại tạo nên một môi trường giúp chúng ta phân tích, lưu trữ tập trung, tìm kiếm và mô hình hóa log để có thể tiếp cận một cách dễ dàng hơn. được viết rút gọn từ 3 từ ( Elasticsearch - LogStash - Kibana ), 3 công cụ này hợp tại tạo nên một môi trường giúp chúng ta phân tích, lưu trữ tập trung, tìm kiếm và mô hình hóa log để có thể tiếp cận một cách dễ dàng hơn. Đến với từng công cụ trong Stack này:
Phân tích Apache LogTrước hết đi vào quá trình phân tích log ta cần phải biết Apache ghi ra những loại log gì, Apache mặc định sẽ ghi ra 2 loại log là Access Log và Error Log tại thư mục sudo apt-get install apt-transport-https3 Access Log và Error Log tại thư mục sudo apt-get install apt-transport-https3 Xem qua định dạng Access Log: Về cơ bản chúng ta hiểu ý nghĩa từng mục của Apache Access Log thế này: Nếu để mặc định mà đẩy log này lên ElasticSearch thì sẽ rất rối, không thể bóc tách được ra các trường mà chúng ta cần. Vì vậy chúng ta sẽ cần lọc ra các trường tại LogStash bằng các plugin. Chúng ta có thể tham khảo các pipeline mẫu về phân tích log các phần mềm phổ biến tại trang chủ Elastic.co . Đầu tiên, tại Filebeat ở máy cần lấy log ta thêm trường "custom_services: apachelog" trong phần "filebeat.inputs:" ở file sudo apt-get install apt-transport-https4 như hình để có thể định danh được luồng log này khi đẩy lên LogStash:"custom_services: apachelog" trong phần "filebeat.inputs:" ở file sudo apt-get install apt-transport-https4 như hình để có thể định danh được luồng log này khi đẩy lên LogStash: Quay về với LogStash trên ELK Stack Server, mình sử dụng file YAML với cấu hình như phía dưới được lưu tại sudo apt-get install apt-transport-https5 .
Giải thích đơn giản là với input vào có trường "custom_services" bằng "apachelog" thì sẽ tiến hành tìm đoạn message và phân tích ra theo các định dạng có sẵn như: IPRHOST, HTTPDATE, NUMBER,... Sau đó chúng ta sẽ sửa đổi tên các thành phần mà đã phân tích từ message bằng mutate và rename. Còn 2 khối input và output là luồng chạy của dữ liệu. Sau khi cấu hình xong chúng ta restart services để cập nhật cấu hình mới."custom_services" bằng "apachelog" thì sẽ tiến hành tìm đoạn message và phân tích ra theo các định dạng có sẵn như: IPRHOST, HTTPDATE, NUMBER,... Sau đó chúng ta sẽ sửa đổi tên các thành phần mà đã phân tích từ message bằng mutate và rename. Còn 2 khối input và output là luồng chạy của dữ liệu. Sau khi cấu hình xong chúng ta restart services để cập nhật cấu hình mới. Sau khi cập nhật xong trên ElasticSearch chúng ta sẽ thấy xuất hiện thêm các trường mà ta đã lọc. Từ đó là sẽ chọn lọc và hiển thị ra những thông tin cần thiết và dễ dàng mô hình hóa hơn. Từ đó là sẽ chọn lọc và hiển thị ra những thông tin cần thiết và dễ dàng mô hình hóa hơn. KếtMình là newbie nên chắc chắn sẽ có thiếu sót và sai, nếu có đóng góp hãy comment cho mình biết. Hy vọng bài viết này giúp cho bạn có thêm 1 chút kiến thức. Have a nice day! All rights reserved |