Hướng dẫn này giải thích cách thiết lập máy chủ quản lý tệp nhật ký tập trung bằng ngăn xếp ELK trên CentOS 7. Đối với bất kỳ ai chưa biết, ELK là sự kết hợp của 3 dịch vụ: ElasticSearch, Logstash và Kibana. Để xây dựng một máy chủ quản lý nhật ký tập trung hoàn chỉnh bằng khái niệm này, cần phải có từng gói này vì chúng phục vụ cho một mục đích khác nhau và liên quan đến nhau. Về cơ bản, chúng hoạt động cùng nhau như sau:
Sau khi hoàn tất, chúng ta sẽ liệt kê các module mặc định được kích hoạt bởi gói FileBeat và kích hoạt module mysql cần thiết cho các trường hợp của chúng ta ở đây. Dưới đây là các bước:
Xong, bây giờ chúng ta hãy chỉnh sửa cấu hình cần thiết cho module mysql mà chúng ta vừa kích hoạt. Theo mặc định, sau khi chúng ta kích hoạt mô-đun mysql từ gói filebeat, nó sẽ tự động tạo một tệp yaml bên trong thư mục modules.d. Tuy nhiên, nếu tệp chưa được tạo, bạn có thể thoải mái tạo một tệp yaml mới bên trong cùng một vị trí. Dưới đây là các bước:
Như đã trình bày ở trên, chúng tôi quyết định ghi nhật ký 2 quy trình ghi nhật ký từ dịch vụ MySQL, đó là kiểm tra tình trạng của chính cơ sở dữ liệu và nhật ký truy vấn chậm.
Bây giờ khi mọi thứ đã hoàn tất, hãy thực hiện một số cấu hình bên trong tệp cấu hình chính cho filebeat trong tệp filebeat.yml. Dưới đây là tập hợp cấu hình:
Lưu ý ở trên rằng chúng tôi đã đặt địa chỉ IP cho máy chủ logstash là 172.17.0.6. IP này là địa chỉ cho máy chủ quản lý tập trung của chúng tôi, máy chủ này sẽ thu thập trực tiếp dữ liệu ghi nhật ký. Tôi đã đặt IP được mã hóa cứng vì tôi không thực hiện bất kỳ thay đổi thay thế nào trong tệp /etc/hosts và không sử dụng bất kỳ máy chủ DNS nào cho hướng dẫn này. Tuy nhiên, bạn có thể thoải mái sử dụng tên máy chủ của máy chủ quản lý nếu bạn đã thực hiện các thay đổi thay thế.
Vì mọi thứ đã được thiết lập theo đúng kế hoạch, chúng ta hãy bắt đầu các dịch vụ filebeat. Dưới đây là các bước:
Lưu ý rằng sau khi bạn khởi động dịch vụ filebeat, sẽ có một lỗi hiển thị bên dưới nhật ký. Lỗi này là do máy chủ quản lý được chỉ định vẫn chưa được thiết lập. Đối với giai đoạn đầu, bạn có thể bỏ qua nhật ký lỗi vì nhật ký sẽ tự động khôi phục sau khi máy chủ quản lý của chúng tôi được thiết lập và bắt đầu thu thập dữ liệu.
Khi cấu hình cho cơ sở máy khách hoàn tất, bạn có thể tiếp tục sao chép các bước trên máy chủ MySQL khác cũng hoạt động như máy khách.
Tiếp theo, chúng ta sẽ tiếp tục thiết lập máy chủ quản lý.
Đối với giai đoạn này, trước tiên chúng ta sẽ bắt đầu cài đặt và cấu hình cần thiết cho ElasticSearch, dưới đây là các bước:
Khi quá trình cài đặt elasticsearch hoàn tất, chúng ta hãy tiếp tục phần cấu hình. Về phía cấu hình, chúng ta sẽ chỉ định thư mục /data/data để lưu trữ dữ liệu ghi nhật ký đã thu thập được đã được phân tích. Bản thân thư mục này cũng sẽ được sử dụng để lưu trữ chỉ mục sẽ được elasticSearch sử dụng để truy vấn nhanh hơn. Đối với thư mục /data/logs sẽ được elasticSearch sử dụng cho mục đích ghi nhật ký của riêng nó. Dưới đây là các bước:
Xong, để ElasticSearch hoạt động, cần phải thiết lập Java. Sau đây là các bước cài đặt và cấu hình Java vào máy chủ.
Xong, hiện elasticSearch đã được cài đặt và cấu hình trong máy chủ. Tuy nhiên, do một số chính sách bảo mật, elasticSearch bị cấm chạy bởi người dùng root, do đó chúng tôi sẽ tạo thêm một người dùng để làm chủ sở hữu cho dịch vụ elasticSearch và chạy nó. Sau đây là các bước tạo người dùng chuyên dụng cho nó:
Sau khi hoàn tất, hãy đăng nhập với tư cách là người dùng và bạn có thể khởi động dịch vụ elasticSearch.
Tuyệt vời, hiện elasticSearch đã hoạt động mà không có bất kỳ sự cố nào, bạn sẽ nhận thấy rằng các cổng bổ sung được thiết lập bên trong máy chủ liên quan đến dịch vụ elasticSearch. Bạn có thể xác minh cổng được liệt kê theo bên dưới:
Bây giờ chúng ta hãy chuyển sang thiết lập và cấu hình dịch vụ logstash. Dưới đây là các bước cần thiết cho quá trình cài đặt:
Sau khi cài đặt xong, hãy áp dụng cấu hình cần thiết theo bên dưới:
Lưu ý rằng từ cấu hình được thực hiện ở trên, chúng tôi đã thiết lập đầu vào được lấy từ dịch vụ filebeat ở phía máy khách sử dụng cổng 5044. Chúng tôi cũng đã thiết lập chú thích thích hợp cho logstash để căn chỉnh dữ liệu thô được lấy từ mỗi phía máy khách. Điều này là cần thiết để dễ dàng xem và phân tích hơn từ phía elasticSearch.
Tiếp theo, chúng ta cần cài đặt mô-đun filebeats cho logstash để logstash có thể thu thập và thu thập dữ liệu thô từ phía máy khách.
Khi quá trình cài đặt và cấu hình cần thiết cho logstash hoàn tất, chúng ta có thể khởi động trực tiếp các dịch vụ. Sau đây là các bước:
Như bạn thấy, hiện tại dịch vụ logstash đã khởi động thành công và bắt đầu thu thập dữ liệu từ mỗi phía máy khách. Ngoài ra, bạn có thể sử dụng lệnh curl để xem trạng thái và cập nhật từ phía logstash. Dưới đây là các ví dụ:
Cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ cần thiết lập và cấu hình các dịch vụ kibana để tạo ra một máy chủ quản lý tập trung hoàn chỉnh. Chỉ là một chú thích, vì kibana được sử dụng để đơn giản hóa quá trình thu thập và phân tích dữ liệu thông qua trực quan hóa, nên không phải là các gói quan trọng như elasticSearch hoặc logstash nếu bạn đang thiết lập máy chủ trong một hộp nhỏ hơn. Tiếp tục, dưới đây là các bước cài đặt và cấu hình:
Lưu ý ở trên là tôi đã liên kết kibana với dịch vụ ElasticSearch của chúng tôi bên trong cấu hình và chỉ định một cổng sẽ được dịch vụ Kibana sử dụng sau khi khởi động. Bây giờ khi mọi thứ đã được thiết lập xong, chúng ta có thể khởi động các dịch vụ cuối cùng. Dưới đây là các bước:
Tuyệt, bây giờ mọi thứ đã hoạt động như hiển thị ở trên bằng lệnh netstat. Bây giờ chúng ta hãy xem Bảng điều khiển của Kibana và thực hiện cấu hình. Truy cập vào url
, bạn sẽ thấy bảng điều khiển sẽ hiển thị như bên dưới.
Tiếp theo trên bảng điều khiển, nhấp vào tab Quản lý rồi định nghĩa mẫu chỉ mục, đối với trường hợp của chúng tôi, mẫu chỉ mục được định nghĩa là tên tệp ghi nhật ký của chúng tôi được tạo. Nhập thông tin rồi nhấp vào tiếp theo.
Sau đó, nhập các biến sẽ được sử dụng làm chuỗi thời gian. Khi hoàn tất, nhấp vào Tạo mẫu chỉ mục. Dưới đây là ví dụ:
Tuyệt vời, bây giờ máy chủ quản lý đã sẵn sàng để sử dụng. Chúng ta hãy tiến hành kiểm tra khả năng sử dụng.
Đăng nhập vào bất kỳ máy chủ máy khách nào và thực hiện truy vấn SQL chậm như bên dưới:
Như đã trình bày ở trên, chúng tôi đã tạo được một số truy vấn chậm tự động ghi vào nhật ký truy vấn chậm của từng máy khách. Bây giờ, hãy đến bảng điều khiển và xem thông tin dữ liệu có được máy chủ tập trung thu thập thành công hay không và chuyển đổi thông tin đó thành biểu đồ trực quan.
Tuyệt, như đã trình bày ở trên, có danh sách thông tin ghi nhật ký đã được thu thập thành công và được xem qua bảng điều khiển kibana. Bạn có thể sử dụng tab bên trái để lọc loại cột bạn muốn hiển thị hoặc ẩn, bên dưới là ví dụ: -
Sử dụng trường văn bản ở trên cùng của bảng điều khiển, bạn có thể nhập truy vấn SQL liên quan đến việc xem thông tin nhất định hoặc một phần dữ liệu cần thiết.
Tuyệt vời, như hiển thị ở trên, truy vấn SQL chậm mà chúng tôi đã tạo ban đầu từ 1 trong số các máy chủ khách hàng của chúng tôi tự động hiển thị bên dưới Bảng điều khiển Kibana của chúng tôi theo mong đợi.
- Đối với mỗi máy khách mà bạn muốn quản lý, nó sẽ tạo nhật ký riêng của các dịch vụ liên quan.
- Đối với máy chủ sẽ được sử dụng để quản lý tất cả thông tin ghi nhật ký từ mỗi máy khách, nó sẽ sử dụng gói LogStash để thu thập và chuyển đổi dữ liệu thành giá trị tương đối. Theo định nghĩa, đây là đường ống xử lý dữ liệu phía máy chủ nguồn mở, thu thập dữ liệu từ nhiều nguồn cùng lúc, chuyển đổi dữ liệu
- Sau khi dữ liệu được thu thập và chuyển đổi, máy chủ quản lý sẽ sử dụng ElasticSearch để hỗ trợ và phân tích dữ liệu thành giá trị có liên quan. Bạn có thể sử dụng ngôn ngữ truy vấn chung nếu muốn tạo báo cáo liên quan khi cần
- Khi dữ liệu liên quan đã được xác minh và phân tích, đây là nơi gói Kibana phát huy tác dụng vì nó có thể giúp trực quan hóa và quản lý dữ liệu có liên quan thành chế độ xem phù hợp hoặc kết hợp dữ liệu đó thành bảng điều khiển bóng bẩy mong muốn để dễ hiểu.
1. Lưu ý sơ bộ
Đối với hướng dẫn này, tôi đang sử dụng CentOS Linux 7.4 ở phiên bản 64 bit. Trong hướng dẫn này, chúng ta sẽ sử dụng 3 máy chủ: Máy chủ đầu tiên sẽ được sử dụng làm máy chủ quản lý và 2 máy chủ còn lại sẽ được sử dụng làm máy khách. Đối với bài tập này, chúng ta sẽ sử dụng máy chủ quản lý để giám sát dịch vụ MySQL hiện có đã được thiết lập, định cấu hình và chạy trên mỗi máy khách. Vì MySQL là một dịch vụ cơ sở dữ liệu được sử dụng chủ yếu cho mục đích OLTP, chúng ta sẽ tạo máy chủ quản lý để ghi lại 2 quy trình ghi nhật ký là kiểm tra tình trạng của chính dịch vụ MySQL và giao dịch truy vấn chậm. Đến cuối hướng dẫn này, chúng ta sẽ thấy rằng bất kỳ thông tin nào được ghi lại từ bất kỳ dịch vụ MySQL nào bên trong máy khách chuyên dụng đều có thể được xem, trực quan hóa và phân tích đồng thời từ máy chủ quản lý theo thời gian thực trực tiếp.2. Giai đoạn cài đặt
Đối với giai đoạn cài đặt, chúng ta sẽ bắt đầu bằng việc cài đặt FileBeat trên cả hai máy chủ MySQL DB hoạt động như máy khách. Hãy bắt đầu quá trình, dưới đây là các bước:
Mã:
[root@mysql_db1 opt]# cd
[root@mysql_db1 ~]# cd /opt/
[root@mysql_db1 opt]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-x86_64.rpm
--2018-06-09 10:50:46-- https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-x86_64.rpm
Đang giải quyết artifacts.elastic.co (artifacts.elastic.co)... 107.21.237.188, 107.21.253.15, 184.73.245.233, ...
Đang kết nối tới artifacts.elastic.co (artifacts.elastic.co)|107.21.237.188|:443... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 12697093 (12M) [binary/octet-stream]
Đang lưu vào: ‘filebeat-6.2.1-x86_64.rpm’
100%[==========================================================================================>] 12.697.093 2,20MB/giây trong 6,9 giây
2018-06-09 10:51:00 (1,75 MB/giây) - ‘filebeat-6.2.1-x86_64.rpm’ đã lưu [12697093/12697093]
[root@mysql_db1 opt]# yum localinstall -y filebeat-6.2.1-x86_64.rpm
Các plugin đã tải: fastestmirror, ovl
Đang kiểm tra filebeat-6.2.1-x86_64.rpm: filebeat-6.2.1-1.x86_64
Đánh dấu filebeat-6.2.1-x86_64.rpm đã được cài đặt
Giải quyết các phụ thuộc
--> Đang chạy kiểm tra giao dịch
---> Gói filebeat.x86_64 0:6.2.1-1 sẽ được cài đặt
--> Đã hoàn tất giải quyết sự phụ thuộc
Đã giải quyết sự phụ thuộc
= ...
Kích thước kho lưu trữ phiên bản Arch của gói
====================================================================================================================================================================
Đang cài đặt:
filebeat x86_64 6.2.1-1 /filebeat-6.2.1-x86_64 49 M
Tóm tắt giao dịch
= ... <
Đã cài đặt:
filebeat.x86_64 0:6.2.1-1
Hoàn tất!
Mã:
[root@mysql_db1 opt]# filebeat modules list
Enabled:
Disabled:
apache2
auditd
icinga
kafka
logstash
mysql
nginx
osquery
postgresql
redis
system
traefik
[root@mysql_db1 opt]# filebeat modules enable mysql
Enabled mysql
Mã:
[root@mysql_db1 opt]# vi /etc/filebeat/modules.d/mysql.yml
- module: mysql
error:
enabled: true
var.paths: ["/var/lib/mysql/mysql-error.log*"]
slowlog:
enabled: true
var.paths: ["/var/lib/mysql/log-slow-queries.log*"]
Bây giờ khi mọi thứ đã hoàn tất, hãy thực hiện một số cấu hình bên trong tệp cấu hình chính cho filebeat trong tệp filebeat.yml. Dưới đây là tập hợp cấu hình:
Mã:
[root@mysql_db1 opt]# vi /etc/filebeat/filebeat.yml
#============================= Filebeat prospectors ===============================
filebeat.prospectors:
- type: log
enabled: false
paths:
- /var/lib/mysql/mysql-error.log
- /var/lib/mysql/log-slow-queries.log
#=============================== Các mô-đun Filebeat ==================================
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
#======================= Cài đặt mẫu Elasticsearch =============================
setup.template.settings:
index.number_of_shards: 3
#==================================== Tổng quan =========================================
setup.kibana:
#-------------------------------- Đầu ra Logstash --------------------------------
output.logstash:
hosts: ["172.17.0.6:5044"]
Vì mọi thứ đã được thiết lập theo đúng kế hoạch, chúng ta hãy bắt đầu các dịch vụ filebeat. Dưới đây là các bước:
Mã:
[root@mysql_db1 opt]# filebeat setup -e
2018-06-09T11:04:37.277Z INFO instance/beat.go:468 Đường dẫn trang chủ: [/usr/share/filebeat] Đường dẫn cấu hình: [/etc/filebeat] Đường dẫn dữ liệu: [/var/lib/filebeat] Đường dẫn nhật ký: [/var/log/filebeat]
2018-06-09T11:04:37.277Z INFO instance/beat.go:475 UUID Beat: 98503460-035e-4476-8e4d-10470433dba5
2018-06-09T11:04:37.277Z INFO instance/beat.go:213 Thiết lập Beat: filebeat; Phiên bản: 6.2.1
2018-06-09T11:04:37.277Z INFO pipeline/module.go:76 Beat name: lara
2018-06-09T11:04:37.278Z ERROR instance/beat.go:667 Thoát: Yêu cầu tải mẫu nhưng đầu ra Elasticsearch không được cấu hình/bật
Thoát: Yêu cầu tải mẫu nhưng đầu ra Elasticsearch không được cấu hình/bật
[root@mysql_db1 opt]# filebeat -e &
[1] 22010
[root@mysql_db1 opt]# 2018-06-09T12:45:18.812Z INFO instance/beat.go:468 Đường dẫn trang chủ: [/usr/share/filebeat] Đường dẫn cấu hình: [/etc/filebeat] Đường dẫn dữ liệu: [/var/lib/filebeat] Đường dẫn nhật ký: [/var/log/filebeat]
2018-06-09T12:45:18.813Z INFO instance/beat.go:475 Beat UUID: 98503460-035e-4476-8e4d-10470433dba5
2018-06-09T12:45:18.813Z INFO instance/beat.go:213 Thiết lập Beat: filebeat; Phiên bản: 6.2.1
2018-06-09T12:45:18.813Z INFO pipeline/module.go:76 Beat name: lara
2018-06-09T12:45:18.813Z INFO [monitoring] log/log.go:97 Bắt đầu ghi nhật ký số liệu sau mỗi 30 giây
2018-06-09T12:45:18.813Z INFO instance/beat.go:301 filebeat bắt đầu chạy.
2018-06-09T12:45:18.814Z INFO registrar/registrar.go:71 Không tìm thấy tệp sổ đăng ký nào trong: /var/lib/filebeat/registry. Đang tạo tệp sổ đăng ký mới.
2018-06-09T12:45:18.819Z INFO registrar/registrar.go:108 Đang tải dữ liệu registrar từ /var/lib/filebeat/registry
2018-06-09T12:45:18.819Z INFO registrar/registrar.go:119 Các trạng thái Đã tải từ registrar: 0
2018-06-09T12:45:18.819Z WARN beater/filebeat.go:261 Filebeat không thể tải các đường ống Ingest Node cho các mô-đun đã cấu hình vì đầu ra Elasticsearch chưa được cấu hình/bật. Nếu bạn đã tải các đường ống Ingest Node hoặc đang sử dụng các đường ống Logstash, bạn có thể bỏ qua cảnh báo này.
2018-06-09T12:45:18.820Z INFO crawler/crawler.go:48 Đang tải Prospectors: 1
2018-06-09T12:45:18.821Z INFO log/prospector.go:111 Đường dẫn đã cấu hình: [/var/lib/mysql/log-slow-queries.log*]
2018-06-09T12:45:18.822Z INFO log/prospector.go:111 Đường dẫn đã cấu hình: [/var/lib/mysql/mysql-error.log*]
2018-06-09T12:45:18.822Z INFO crawler/crawler.go:82 Đang tải và khởi động Prospectors đã hoàn tất. Đã bật trình thăm dò: 0
2018-06-09T12:45:18.822Z INFO cfgfile/reload.go:127 Trình tải lại cấu hình đã bắt đầu
2018-06-09T12:45:18.840Z INFO log/prospector.go:111 Đường dẫn đã định cấu hình: [/var/lib/mysql/log-slow-queries.log*]
2018-06-09T12:45:18.840Z INFO log/prospector.go:111 Đường dẫn đã định cấu hình: [/var/lib/mysql/mysql-error.log*]
2018-06-09T12:45:18.840Z INFO cfgfile/reload.go:258 Đang khởi động 1 trình chạy ...
2018-06-09T12:45:18.840Z INFO cfgfile/reload.go:219 Đang tải các tệp cấu hình hoàn tất.
2018-06-09T12:45:18.841Z INFO log/harvester.go:216 Harvester đã khởi động cho tệp: /var/lib/mysql/mysql-error.log
2018-06-09T12:45:18.841Z INFO log/harvester.go:216 Harvester đã khởi động cho tệp: /var/lib/mysql/log-slow-queries.log
2018-06-09T12:45:20.841Z ERROR pipeline/output.go:74 Không kết nối được: quay số tcp 172.17.0.6:5044: getsockopt: kết nối bị từ chối
2018-06-09T12:45:22.842Z ERROR pipeline/output.go:74 Không kết nối được: quay số tcp 172.17.0.6:5044: getsockopt: kết nối bị từ chối
2018-06-09T12:45:26.842Z LỖI pipeline/output.go:74 Không kết nối được: quay số tcp 172.17.0.6:5044: getsockopt: kết nối bị từ chối
[root@mysql_db1 ~]# tail -f /var/log/filebeat/filebeat
2018-06-09T10:53:28.853Z INFO instance/beat.go:468 Đường dẫn trang chủ: [/usr/share/filebeat] Đường dẫn cấu hình: [/etc/filebeat] Đường dẫn dữ liệu: [/var/lib/filebeat] Đường dẫn nhật ký: [/var/log/filebeat]
2018-06-09T10:53:28.853Z INFO instance/beat.go:475 Beat UUID: 98503460-035e-4476-8e4d-10470433dba5
Khi cấu hình cho cơ sở máy khách hoàn tất, bạn có thể tiếp tục sao chép các bước trên máy chủ MySQL khác cũng hoạt động như máy khách.
Tiếp theo, chúng ta sẽ tiếp tục thiết lập máy chủ quản lý.
3. Giai đoạn cài đặt (Phía máy chủ quản lý tập trung)
Bây giờ khi đã thiết lập xong để sẵn sàng cho phía máy khách, hãy khởi động cấu hình cần thiết cho chính máy chủ quản lý. Theo tóm tắt, có 3 gói cốt lõi cần được cài đặt và cấu hình cho máy chủ quản lý là ElasticSearch, LogStash và Kibana.Đối với giai đoạn này, trước tiên chúng ta sẽ bắt đầu cài đặt và cấu hình cần thiết cho ElasticSearch, dưới đây là các bước:
Mã:
[root@elk_master ~]# cd /opt/
[root@elk_master opt]# ls
[root@elk_master opt]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.1.tar.gz
--2018-06-09 12:47:59-- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.1.tar.gz
Đang giải quyết artifacts.elastic.co (artifacts.elastic.co)... 107.21.237.188, 54.235.82.130, 107.21.253.15, ...
Đang kết nối tới artifacts.elastic.co (artifacts.elastic.co)|107.21.237.188|:443... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 29049089 (28M) [binary/octet-stream]
Đang lưu vào: ‘elasticsearch-6.2.1.tar.gz’
100%[===========================================================================================>] 29.049.089 2,47MB/giây trong 16 giây
2018-06-09 12:48:21 (1,76 MB/giây) - ‘elasticsearch-6.2.1.tar.gz’ đã lưu [29049089/29049089]
[root@elk_master opt]#
[root@elk_master opt]#
[root@elk_master opt]# tar -zxvf elasticsearch-6.2.1.tar.gz
[root@elk_master opt]# ln -s /opt/elasticsearch-6.2.1 /opt/elasticsearch
[root@elk_master opt]# ll
tổng cộng 28372
lrwxrwxrwx 1 root root 24 tháng 6 9 12:49 elasticsearch -> /opt/elasticsearch-6.2.1
drwxr-xr-x 8 root root 143 7 tháng 2 19:36 elasticsearch-6.2.1
-rw-r--r-- 1 root root 29049089 15 tháng 5 04:56 elasticsearch-6.2.1.tar.gz
Mã:
[root@elk_master opt]# mkdir -p /data/data
[root@elk_master opt]# mkdir -p /data/logs
[root@elk_master opt]#
[root@elk_master opt]# cd elasticsearch
[root@elk_master elasticsearch]# ls
bin config lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
[root@elk_master elasticsearch]# cd config/
[root@elk_master config]# vi elasticsearch.yml
# ---------------------------------- Cluster -----------------------------------
cluster.name: log_cluster
#
# ------------------------------------ Node ------------------------------------
#
node.name: elk_master
#
# ------------------------------------ Đường dẫn ------------------------------------
#
path.data: /data/data
path.logs: /data/logs
#
network.host: 172.17.0.6
Mã:
[root@elk_master config]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
--2018-06-09 12:57:05-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Đang giải quyết lỗi download.oracle.com (download.oracle.com)... 23.49.16.62
Đang kết nối tới download.oracle.com (download.oracle.com)|23.49.16.62|:80... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 302 Đã di chuyển tạm thời
Vị trí: https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm [đang theo dõi]
--2018-06-09 12:57:10-- https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
Đang giải quyết edelivery.oracle.com (edelivery.oracle.com)... 104.103.48.174, 2600:1417:58:181::2d3e, 2600:1417:58:188::2d3e
Đang kết nối tới edelivery.oracle.com (edelivery.oracle.com)|104.103.48.174|:443... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 302 Đã di chuyển tạm thời
Vị trí: http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e [đang theo dõi]
--2018-06-09 12:57:11-- http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm?AuthParam=1528549151_b1fd01d854bc0423600a83c36240028e
Đang kết nối tới download.oracle.com (download.oracle.com)|23.49.16.62|:80... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 169983496 (162M) [application/x-redhat-package-manager]
Đang lưu vào: ‘jdk-8u131-linux-x64.rpm’
100%[==========================================================================================>] 169.983.496 2,56MB/giây trong 64 giây
2018-06-09 12:58:15 (2,54 MB/giây) - ‘jdk-8u131-linux-x64.rpm’ đã lưu [169983496/169983496]
[root@elk_master config]# yum localinstall -y jdk-8u131-linux-x64.rpm
[root@elk_master config]# vi /root/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
export PATH
[root@elk_master config]# . /root/.bash_profile
[root@elk_master config]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (bản dựng 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (bản dựng 25.131-b11, chế độ hỗn hợp)
Mã:
[root@elk_master config]# useradd -s /bin/bash shahril
[root@elk_master config]# passwd shahril
Đang thay đổi mật khẩu cho người dùng shahril.
Mật khẩu mới:
MẬT KHẨU XẤU: Mật khẩu không vượt qua được kiểm tra từ điển - quá đơn giản/có hệ thống
Nhập lại mật khẩu mới:
passwd: tất cả các mã thông báo xác thực đã được cập nhật thành công.
[root@elk_master config]# chown -R shahril:shahril /data/
[root@elk_master config]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
Mã:
[root@elk_master config]# su - shahril
Lần đăng nhập cuối: Thứ bảy, ngày 9 tháng 6 năm 2018 lúc 13:03:07 UTC vào pts/1
[shahril@elk_master ~]$
[shahril@elk_master ~]$
[shahril@elk_master ~]$
[shahril@elk_master ~]$ /opt/elasticsearch/bin/elasticsearch &
[1] 7295
[shahril@elk_master ~]$ [2018-06-09T13:06:26,667][INFO ][o.e.n.Node ] [elk_master] đang khởi tạo ...
[2018-06-09T13:06:26,721][INFO ][o.e.e.NodeEnvironment ] [elk_master] đang sử dụng [1] đường dẫn dữ liệu, gắn kết [[/ (rootfs)]], không gian sử dụng được ròng [394,3gb], tổng không gian ròng [468,2gb], các loại [rootfs]
[2018-06-09T13:06:26,722][INFO ][o.e.e.NodeEnvironment ] [elk_master] kích thước đống [990,7mb], đã nén con trỏ đối tượng thông thường [true]
[2018-06-09T13:06:26,723][INFO ][o.e.n.Node ] [elk_master] tên nút [elk_master], ID nút [xjNoA9mMSGiXYmFPRNlXBg]
[2018-06-09T13:06:26,723][INFO ][o.e.n.Node ] [elk_master] phiên bản[6.2.1], pid[7295], bản dựng[7299dc3/2018-02-07T19:34:26.990113Z], HĐH[Linux/3.10.0-693.17.1.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_131/25.131-b11]
[2018-06-09T13:06:26,723][INFO ][o.e.n.Node ] [elk_master] Đối số JVM [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/tmp/elasticsearch.U6ilAwt9, -XX:+HeapDumpOnOutOfMemoryError, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Des.path.home=/opt/elasticsearch, -Des.path.conf=/opt/elasticsearch/config]
[2018-06-09T13:06:27,529][INFO ][o.e.p.PluginsService ] [elk_master] mô-đun đã tải [aggs-matrix-stats]
[2018-06-09T13:06:27,529][INFO ][o.e.p.PluginsService ] [elk_master] mô-đun đã tải [analysis-common]
[2018-06-09T13:06:27,529][INFO ][o.e.p.PluginsService ] [elk_master] mô-đun đã tải [ingest-common]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] mô-đun đã tải [lang-expression]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [lang-mustache]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [lang-painless]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [mapper-extras]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [parent-join]
[2018-06-09T13:06:27,530][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [percolator]
[2018-06-09T13:06:27,531][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [xếp hạng-đánh giá]
[2018-06-09T13:06:27,532][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [lập chỉ mục lại]
[2018-06-09T13:06:27,532][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [repository-url]
[2018-06-09T13:06:27,533][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [transport-netty4]
[2018-06-09T13:06:27,533][INFO ][o.e.p.PluginsService ] [elk_master] đã tải mô-đun [tribe]
[2018-06-09T13:06:27,534][INFO ][o.e.p.PluginsService ] [elk_master] không có plugin nào được tải
Mã:
[root@elk_master config]# netstat -apn|grep -i :9
tcp 0 0 172.17.0.6:9200 0.0.0.0:* LISTEN 7295/java
tcp 0 0 172.17.0.6:9300 0.0.0.0:* LISTEN 7295/java
Mã:
[root@elk_master opt]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.1.rpm
--2018-06-09 13:07:51-- https://artifacts.elastic.co/downloads/logstash/logstash-6.2.1.rpm
Đang giải quyết artifacts.elastic.co (artifacts.elastic.co)... 107.21.253.15, 23.21.67.46, 107.21.237.188, ...
Đang kết nối tới artifacts.elastic.co (artifacts.elastic.co)|107.21.253.15|:443... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 140430729 (134M) [binary/octet-stream]
Đang lưu vào: ‘logstash-6.2.1.rpm’
100%[===========================================================================================>] 140.430.729 2,19MB/giây trong 60 giây
2018-06-09 13:08:57 (2,24 MB/giây) - ‘logstash-6.2.1.rpm’ đã lưu [140430729/140430729]
[root@elk_master opt]# yum localinstall -y logstash-6.2.1.rpm
Các plugin đã tải: fastestmirror, ovl
Đang kiểm tra logstash-6.2.1.rpm: 1:logstash-6.2.1-1.noarch
Đánh dấu logstash-6.2.1.rpm đã được cài đặt
Giải quyết các phụ thuộc
--> Đang chạy kiểm tra giao dịch
---> Gói logstash.noarch 1:6.2.1-1 sẽ được cài đặt
--> Đã hoàn tất giải quyết sự phụ thuộc
Đã giải quyết sự phụ thuộc
= ...
Kích thước kho lưu trữ phiên bản Arch của gói
====================================================================================================================================================================
Đang cài đặt:
logstash noarch 1:6.2.1-1 /logstash-6.2.1 224 M
Tóm tắt giao dịch
= ...
Cài đặt 1 gói
Tổng kích thước: 224 M
Kích thước đã cài đặt: 224 M
Đang tải xuống các gói:
Đang chạy kiểm tra giao dịch
Đang chạy thử nghiệm giao dịch
Kiểm tra giao dịch thành công
Đang chạy giao dịch
Đang cài đặt: 1:logstash-6.2.1-1.noarch 1/1
Sử dụng tệp startup.options được cung cấp: /etc/logstash/startup.options
Đã tạo thành công tập lệnh khởi động hệ thống cho Logstash
Đang xác minh: 1:logstash-6.2.1-1.noarch 1/1
Đã cài đặt:
logstash.noarch 1:6.2.1-1
Hoàn tất!
Mã:
[root@elk_master opt]# vi /etc/logstash/conf.d/02-mysql-log.conf
input {
beats {
port => 5044
host => "0.0.0.0"
}
}
bộ lọc {
nếu [tập tin][mô-đun] == "mysql" {
nếu [tập tin][tên] == "lỗi" {
grok {
phù hợp => { "thông báo" => ["%{LOCALDATETIME:[mysql][lỗi][dấu thời gian]} (\[%{DỮ LIỆU:[mysql][lỗi][mức]}\] )?%{GREEDYDATA:[mysql][lỗi][tin nhắn]}",
"%{TIMESTAMP_ISO8601:[mysql][lỗi][dấu thời gian]} %{SỐ:[mysql][lỗi][id_luồng]} \[%{DỮ LIỆU:[mysql][lỗi][mức]}\] %{GREEDYDATA:[mysql][lỗi][tin nhắn1]}",
"%{GREEDYDATA:[mysql][lỗi][tin nhắn2]}"] }
pattern_definitions => {
"LOCALDATETIME" => "[0-9]+ %{TIME}"
}
remove_field => "tin nhắn"
}
biến đổi {
đổi tên => { "[mysql][lỗi][tin nhắn1]" => "[mysql][lỗi][tin nhắn]" }
}
biến đổi {
đổi tên => { "[mysql][lỗi][tin nhắn2]" => "[mysql][lỗi][tin nhắn]" }
}
ngày {
khớp => [ "[mysql][lỗi][dấu thời gian]", "ISO8601", "YYMMdd H:m:s" ]
xóa_trường => "[mysql][lỗi][thời gian]"
}
}
nếu không thì [tập_tin][tên] == "slowlog" {
grok {
khớp => { "tin nhắn" => ["^# Người dùng@Máy chủ: %{NGƯỜI DÙNG:[mysql][slowlog][người dùng]}(\[[^\]]+\])? @ %{TÊN MÁY CHỦ:[mysql][slowlog][máy chủ]} \[(IP:[mysql][slowlog][ip])?\](\s*Id:\s* %{SỐ:[mysql][slowlog][id]})?\n# Thời gian truy vấn: %{SỐ:[mysql][slowlog][thời gian truy vấn][giây]}\s* Thời gian khóa: %{SỐ:[mysql][slowlog][thời gian khóa][giây]}\s* Số hàng đã gửi: %{SỐ:[mysql][slowlog][hàng_đã_gửi]}\s* Số hàng đã_kiểm_tra: %{SỐ:[mysql][slowlog][hàng_đã_kiểm_tra]}\n(ĐẶT timestamp=%{SỐ:[mysql][slowlog][timestamp]};\n)?%{GREEDYMULTILINE:[mysql][slowlog][query]}"] }
pattern_definitions => {
"GREEDYMULTILINE" => "(.|\n)*"
}
remove_field => "message"
}
date {
match => [ "[mysql][slowlog][timestamp]", "UNIX" ]
}
mutate {
gsub => ["[mysql][slowlog][query]", "\n# Thời gian: [0-9]+ [0-9][0-9]:[0-9][0-9]:[0-9][0-9](\\.[0-9]+)?$", ""]
}
}
}
}
đầu ra {
elasticsearch {
hosts => "172.17.0.6"
manage_template => false
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
Tiếp theo, chúng ta cần cài đặt mô-đun filebeats cho logstash để logstash có thể thu thập và thu thập dữ liệu thô từ phía máy khách.
Mã:
[root@elk_master opt]# /usr/share/logstash/bin/logstash-plugin install logstash-input-beats
Đang xác thực logstash-input-beats
Đang cài đặt logstash-input-beats
Cài đặt thành công
Mã:
[root@elk_master opt]# service logstash restart
Đang chuyển hướng đến /bin/systemctl restart logstash.service
[root@elk_master opt]# service logstash status
Đang chuyển hướng đến /bin/systemctl status logstash.service
? logstash.service - logstash
Đã tải: đã tải (/etc/systemd/system/logstash.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt)
Hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy, ngày 09 tháng 06 năm 2018 lúc 13:17:40 UTC; 5 giây trước
PID chính: 8106 (java)
CGroup: /docker/2daaf895e0efa67ef70dbabd87b56d53815e94ff70432f692385f527e2dc488b/system.slice/logstash.service
??8106 /bin/java -Xms256m -Xmx1g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFracti...
09/06 13:17:40 elk_master systemd[1]: Đã bắt đầu logstash.
09/06 13:17:40 elk_master systemd[1]: Đang khởi động logstash...
[root@elk_master opt]#
[root@elk_master opt]# tail -f /var/log/logstash/logstash-plain.log
[09/06/2018 13:17:59,496][INFO ][logstash.outputs.elasticsearch] Đã cập nhật URL nhóm Elasticsearch {:changes=>{:removed=>[], :added=>[http://172.17.0.6:9200/]}}
[09/06/2018 13:17:59,498][INFO ][logstash.outputs.elasticsearch] Đang chạy kiểm tra tình trạng để xem kết nối Elasticsearch có hoạt động không {:healthcheck_url=>http://172.17.0.6:9200/, :path=>"/"}
[2018-06-09T13:17:59,976][CẢNH BÁO ][logstash.outputs.elasticsearch] Đã khôi phục kết nối tới phiên bản ES {:url=>"http://172.17.0.6:9200/"}
[2018-06-09T13:18:00,083][INFO ][logstash.outputs.elasticsearch] Đã xác định phiên bản đầu ra ES {:es_version=>nil}
[2018-06-09T13:18:00,083][CẢNH BÁO ][logstash.outputs.elasticsearch] Đã phát hiện cụm 6.x trở lên: trường sự kiện `type` sẽ không được sử dụng để xác định loại tài liệu _type {:es_version=>6}
[2018-06-09T13:18:00,095][INFO ][logstash.outputs.elasticsearch] Đầu ra Elasticsearch mới {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//172.17.0.6"]}
[2018-06-09T13:18:00,599][INFO ][logstash.inputs.beats ] Đầu vào Beats: Đang khởi động trình lắng nghe đầu vào {:address=>"0.0.0.0:5044"}
[2018-06-09T13:18:00,652][INFO ][logstash.pipeline ] Đường ống đã khởi động thành công {:pipeline_id=>"main", :thread=>"#"}
[2018-06-09T13:18:00,663][INFO ][org.logstash.beats.Server] Đang khởi động máy chủ trên cổng: 5044
[2018-06-09T13:18:00,660][INFO ][logstash.agent ] Đường ống đang chạy {:count=>1, :pipelines=>["main"]}
[2018-06-09T13:18:24,060][INFO ][o.e.c.m.MetaDataCreateIndexService] [elk_master] [filebeat-6.2.1-2018.06.04] đang tạo chỉ mục, nguyên nhân [tự động (api số lượng lớn)], mẫu [], phân đoạn [5]/[1], ánh xạ []
[2018-06-09T13:18:24,189][INFO ][o.e.c.m.MetaDataCreateIndexService] [elk_master] [filebeat-6.2.1-2018.06.09] đang tạo chỉ mục, nguyên nhân [tự động (api số lượng lớn)], mẫu [], phân đoạn [5]/[1], ánh xạ []
[2018-06-09T13:18:24,288][INFO ][o.e.c.m.MetaDataCreateIndexService] [elk_master] [filebeat-6.2.1-2018.06.08] đang tạo chỉ mục, nguyên nhân [tự động (api số lượng lớn)], mẫu [], phân đoạn [5]/[1], ánh xạ []
[2018-06-09T13:18:24,591][THÔNG TIN ][o.e.c.m.MetaDataMappingService] [elk_master] [filebeat-6.2.1-2018.06.04/yPD91Ww0SD2ei4YI-FgLgQ] create_mapping [doc]
[2018-06-09T13:18:24,781][THÔNG TIN ][o.e.c.m.MetaDataMappingService] [elk_master] [filebeat-6.2.1-2018.06.08/Qnv0gplFTgW0z1C6haZESg] create_mapping [doc]
[2018-06-09T13:18:24,882][INFO ][o.e.c.m.MetaDataMappingService] [elk_master] [filebeat-6.2.1-2018.06.09/dihjTJw3SjGncXYln2MXbA] create_mapping [doc]
[2018-06-09T13:18:24,996][INFO ][o.e.c.m.MetaDataMappingService] [elk_master] [filebeat-6.2.1-2018.06.09/dihjTJw3SjGncXYln2MXbA] update_mapping [doc]
Mã:
[root@elk_master opt]# curl -kL http://172.17.0.6:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open filebeat-6.2.1-2018.06.09 dihjTJw3SjGncXYln2MXbA 5 1 6 0 35.2kb 35.2kb
yellow open filebeat-6.2.1-2018.06.04 yPD91Ww0SD2ei4YI-FgLgQ 5 1 350 0 186.4kb 186.4kb
yellow open filebeat-6.2.1-2018.06.08 Qnv0gplFTgW0z1C6haZESg 5 1 97 0 89,4kb 89,4kb
Mã:
[root@elk_master opt]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.1-linux-x86_64.tar.gz
--2018-06-09 13:21:41-- https://artifacts.elastic.co/downloads/kibana/kibana-6.2.1-linux-x86_64.tar.gz
Đang giải quyết artifacts.elastic.co (artifacts.elastic.co)... 107.21.237.188, 107.21.237.95, 107.21.253.15, ...
Đang kết nối tới artifacts.elastic.co (artifacts.elastic.co)|107.21.237.188|:443... đã kết nối.
Yêu cầu HTTP đã được gửi, đang chờ phản hồi... 200 OK
Độ dài: 83465500 (80M) [binary/octet-stream]
Đang lưu vào: ‘kibana-6.2.1-linux-x86_64.tar.gz’
100%[==========================================================================================>] 83.465.500 2,76MB/giây trong 41 giây
2018-06-09 13:22:28 (1,94 MB/giây) - ‘kibana-6.2.1-linux-x86_64.tar.gz’ đã lưu [83465500/83465500]
[root@elk_master opt]# tar -zxvf kibana-6.2.1-linux-x86_64.tar.gz
[root@elk_master opt]# ln -s /opt/kibana-6.2.1-linux-x86_64 /opt/kibana
[root@elk_master opt]# vi kibana/config/kibana.yml
server.host: "172.17.0.6"
server.port: 5601
elasticsearch.url: "http://172.17.0.6:9200"
Mã:
[root@elk_master opt]# /opt/kibana/bin/kibana --version
6.2.1
[root@elk_master opt]# /opt/kibana/bin/kibana &
[1] 8640
[root@elk_master opt]# log [13:26:20.034] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ chưa khởi tạo sang màu xanh lá cây - Sẵn sàng
log [13:26:20.073] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ chưa khởi tạo sang màu vàng - Đang chờ Elasticsearch
log [13:26:20.193] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ chưa khởi tạo sang màu xanh lá cây - Sẵn sàng
log [13:26:20.200] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ chưa khởi tạo sang màu xanh lá cây - Sẵn sàng
log [13:26:20.212] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ chưa khởi tạo thành màu xanh lá cây - Sẵn sàng
log [13:26:20.233] [info][listening] Máy chủ đang chạy tại http://172.17.0.6:5601
log [13:26:20.276] [info][status][plugin:[emailprotected]] Trạng thái đã thay đổi từ màu vàng sang màu xanh lá cây - Sẵn sàng
[root@elk_master opt]# netstat -apn|grep -i :5601
tcp 0 0 172.17.0.6:5601 0.0.0.0:* LISTEN 8640/node
Tiếp theo trên bảng điều khiển, nhấp vào tab Quản lý rồi định nghĩa mẫu chỉ mục, đối với trường hợp của chúng tôi, mẫu chỉ mục được định nghĩa là tên tệp ghi nhật ký của chúng tôi được tạo. Nhập thông tin rồi nhấp vào tiếp theo.
Sau đó, nhập các biến sẽ được sử dụng làm chuỗi thời gian. Khi hoàn tất, nhấp vào Tạo mẫu chỉ mục. Dưới đây là ví dụ:
Tuyệt vời, bây giờ máy chủ quản lý đã sẵn sàng để sử dụng. Chúng ta hãy tiến hành kiểm tra khả năng sử dụng.
4. Giai đoạn kiểm tra
Trước khi bắt đầu kiểm tra, chúng ta hãy đưa ra giả định cho kỳ vọng về kết quả cuối cùng. Đối với bài kiểm tra này, chúng ta sẽ thử thực hiện một truy vấn cơ sở dữ liệu sẽ vượt qua thời gian truy vấn dài được chỉ định từ máy khách là máy chủ MySQL. Sau khi thực hiện, máy chủ quản lý tập trung của chúng ta sẽ tự động hiển thị kết quả của thông tin truy vấn chậm dưới dạng biểu đồ thông qua bảng điều khiển Kibana. Bây giờ khi mọi thứ đã rõ ràng, hãy bắt đầu kiểm tra, dưới đây là các bước:Đăng nhập vào bất kỳ máy chủ máy khách nào và thực hiện truy vấn SQL chậm như bên dưới:
Mã:
[root@mysql_db1 ~]# mysql --login-path=root -P 3306 --prompt='TEST>'
Chào mừng đến với màn hình MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối MySQL của bạn là 193
Phiên bản máy chủ: 5.7.21-log MySQL Community Server (GPL)
Bản quyền (c) 2000, 2018, Oracle và/hoặc các chi nhánh của Oracle. Mọi quyền được bảo lưu.
Oracle là nhãn hiệu đã đăng ký của Oracle Corporation và/hoặc các
chi nhánh của Oracle. Các tên khác có thể là nhãn hiệu của
chủ sở hữu tương ứng.
Nhập 'help;' hoặc '\h' để được trợ giúp. Nhập '\c' để xóa câu lệnh nhập hiện tại.
TEST>select sleep(5);
+----------+
| sleep(5) |
+----------+
| 0 |
+----------+
1 hàng trong tập hợp (5,01 giây)
TEST>select sleep(6);
+----------+
| sleep(6) |
+----------+
| 0 |
+----------+
1 hàng trong tập hợp (6,00 giây)
TEST>select sleep(10) 'chạy trong 10 giây';
+--------------------+
| chạy trong 10 giây |
+--------------------+
| 0 |
+--------------------+
1 hàng trong tập hợp (10,00 giây)
TEST>select sleep(3) 'kiểm tra lại';
+------------+
| kiểm tra lại |
+------------+
| 0 |
+------------+
1 hàng trong tập hợp (3,00 giây)
TEST>exit
Tạm biệt
Tuyệt, như đã trình bày ở trên, có danh sách thông tin ghi nhật ký đã được thu thập thành công và được xem qua bảng điều khiển kibana. Bạn có thể sử dụng tab bên trái để lọc loại cột bạn muốn hiển thị hoặc ẩn, bên dưới là ví dụ: -
Sử dụng trường văn bản ở trên cùng của bảng điều khiển, bạn có thể nhập truy vấn SQL liên quan đến việc xem thông tin nhất định hoặc một phần dữ liệu cần thiết.
Tuyệt vời, như hiển thị ở trên, truy vấn SQL chậm mà chúng tôi đã tạo ban đầu từ 1 trong số các máy chủ khách hàng của chúng tôi tự động hiển thị bên dưới Bảng điều khiển Kibana của chúng tôi theo mong đợi.