Tải bản đầy đủ (.doc) (38 trang)

TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE BẰNG BỘ CÔNG CỤ ELK TẠI VNCERT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.15 MB, 38 trang )

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT HÀN

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO
THỰC TẬP TỐT NGHIỆP
TÊN ĐỀ TÀI
TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE
BẰNG BỘ CÔNG CỤ ELK TẠI VNCERT

Sinh viên thực hiện:

Trần Văn Lợi

Lớp:

CCMM07A

Giảng viên hướng dẫn: Phan Phú Thuận
Đơn vị thực tập :

Đà Nẵng, ngày 25 tháng 04 năm 2016

LỜI NÓI ĐẦU

VNCERT


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

2



Ngày nay, với tốc độ phát triển chóng mặt của ngành công nghệ thông tin với nhu
cầu quá lớn từ nhiều người sử dụng, dẫn đến các hệ thống máy tính trở nên phức tạp,
khó quản lý. Nhiều hệ thống không phải ở cùng một nơi, nằm phân tán. Các hệ điều
hành, ứng dụng, dịch vụ được tạo ra bởi rất nhiều nguồn khác nhau. Lượng dữ liệu
khổng lồ không ngừng gia tăng nhưng lại không tập trung. Vì vậy, chúng ta cần phải
ghi lại hoạt động của hệ thống mà ở đây là Log. Thông thường, các bản ghi được lưu
trữ phân tán trên các thiết bị khác nhau. Kiểm tra log theo phương pháp truyền thống
là đăng nhập vào từng hệ thống để tìm kiểm tra, tìm kiếm lỗi gây mất thời gian, kém
hiệu quả. Nhằm giải quyết yêu cầu trên chúng ta nên sử dụng bộ ELK để phân tích log
theo thời gian thực giúp quản lý đăng nhập tập trung, thao tác đơn giản và tăng hiệu
quả làm việc. Có thể đáp ứng một khối lượng lớn dữ liệu gây ra bởi một phân phối lưu
trữ và xử lý, tìm kiếm văn bản đầy đủ, đăng nhập khai thác, thách thức trực
quan. Được xây dựng trên phần mềm mã nguồn mở Lucene tìm kiếm toàn văn bản
Elasticsearch, không phải chỉ có kích thước khổng lồ của dữ liệu để hoàn thành việc
lập chỉ mục phân phối và thu hồi, mà còn cung cấp các phân tích tổng hợp số liệu;
Logstash đối phó hiệu quả với nhiều nguồn dữ liệu khác nhau từ các thông tin đăng
nhập, năng lượng Kibana phân tích kết quả trực quan.
Em xin được gửi lời cảm ơn đến Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam
VNCERT – Chi nhánh Đà Nẵng đã quan tâm, tạo điều kiện cho em có được môi
trường thực tập thuận lợi. Đặc biệt, em cảm ơn anh Phan Phú Thuận Cán bộ hướng
dẫn tại đơn vị thực tập đã cung cấp nhiều tài liệu bổ ích, nhiệt tình hướng dẫn, giúp đỡ
cho em hoàn thành đồ án thực tập này. Sau một tháng thực tập tại Trung tâm em đã
được trải nghiệm môi trường làm việc thực tế, được tìm hiểu, nghiên cứu, trau dồi
nhiều kiến thức vô cùng bổ ích.
Em xin chúc quý lãnh đạo, các anh chị làm việc tại trung tâm luôn dồi dào sức
khỏe, gặt hái được nhiều thành công trong công tác cũng như trong cuộc sống. Xin
chúc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam VNCERT – Chi nhánh Đà
Nẵng luôn hoàn thành xuất sắc xứ mệnh của mình.


Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

3

MỤC LỤC
LỜI NÓI ĐẦU..............................................................................................................1
MỤC LỤC.................................................................................................................... 3
DANH MỤC HÌNH ẢNH............................................................................................5
CHƯƠNG 1: GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN CẤP MÁY
TÍNH VIỆT NAM........................................................................................................6
1.1 Giới thiệu về Trung tâm ứng cứu khẩn cấp máy tính Việt Nam(VNCERT). 6
1.1.1 Quá trình hình thành và phát triển của VNCERT............................................6
1.1.2 Cơ cấu tổ chức...................................................................................................6
1.1.3 Nhiệm vụ, chức năng chính và định hướng phát triển của trung tâm..............8
1.1.4 Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) – Chi Nhánh
Đà Nẵng......................................................................................................................9
1.2 Giới thiệu đề tài..................................................................................................9
1.2.1 Bối cảnh thực hiện đề tài...................................................................................9
1.2.2 Mục đích thực hiện đề tài..................................................................................9
1.2.3 Những công việc được giao tại trung tâm......................................................10
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ FILE-LOG VÀ BỘ CÔNG CỤ ELK.....11
2.1 Tìm hiểu về File log..........................................................................................11
2.2 Giới thiệu về bộ công cụ ELK (Elasticsearch + Logstash + Kibana)............12
2.2.1 Giới thiệu Elasticsearch..................................................................................12
2.2.2 Giới thiệu Logstash.........................................................................................12

2.2.3 Giới thiệu Kibana............................................................................................13
2.2.4 Kiến trúc ngăn xếp ELK.................................................................................14
CHƯƠNG 3 TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE BẰNG BỘ
CÔNG CỤ ELK.........................................................................................................15
3.1 Yêu cầu hệ thống:.............................................................................................15
3.2 Kiến trúc hệ thống thực nghiệm:.....................................................................15
3.3 Mô hình triển khai:..........................................................................................16
3.4 Quá trình cài đặt:.............................................................................................16
3.4.1 Cài đặt Java 8:.................................................................................................16
3.4.2 Cài đặt Logstash..............................................................................................17
3.4.3 Cài đặt ElasticSearch......................................................................................18
3.4.4 Cài đặt Kibana.................................................................................................22
3.4.5 Cài đặt Nginx..................................................................................................25
CHƯƠNG 4: KẾT LUẬN.........................................................................................38
Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

4

4.1 Kết luận chung về kết quả đạt được................................................................38
4.2 Đánh giá mức độ hoàn thành...........................................................................38
4.3 Hướng phát triển cho đề tài.............................................................................38

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi



Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

5

DANH MỤC HÌNH ẢNH
Hình 1.1 Mô hình tổ chức Trung tâm VNCERT.......................................................8
Hình 2.1 Nội dung trong một file log........................................................................11
Hình 2.2 Các thành phần cơ bản của Logstash.......................................................13
Hình 2.3 Kiến trúc ngăn sếp ELK............................................................................14
Hình 3.1 Kiến trúc hệ thống thực nghiệm................................................................15
Hình 3.2 Mô hình triển khai......................................................................................16
Hình 3.3 Thêm Oracle Java PPA..............................................................................16
Hình 3.4 Cài đặt Oracle Java 8.................................................................................17
Hình 3.5 Cài đặt Logstash.........................................................................................18
Hình 3.6 Nhập Khóa GPG.........................................................................................18
Hình 3.7 Cài đặt Elasticsearch..................................................................................19
Hình 3.8 Cấu hình cho Elasticsearch........................................................................20
Hình 3.9 Khởi động lại dịch vụ Elasticsearch..........................................................20
Hình 3.10 Cập nhật Elasticsearch.............................................................................21
Hình 3.11 Cài đặt Elasticsearch-HQ........................................................................21
Hình 3.12 Cài đặt Kibana..........................................................................................22
Hình 3.13 Chỉnh sửa cấu hình Kibana.....................................................................23
Hình 3.14 Cập nhật và khởi chạy Kibana................................................................24
Hình 3.15 Giao diện Web Kibana.............................................................................24
Hình 3.16 Khởi động lại dịch vụ Logstash...............................................................28
Hình 3.17 Tạo tập tin và thiết lập Filebeat đầu vào................................................32
Hình 3.18 Chạy cấu hình logstash 10-apache.conf..................................................33
Hình 3.19 Copy File Log............................................................................................34

Hình 3.20 Tóp 10 địa chỉ ip có lượt truy cập cao.....................................................34
Hình 3.21 Tóp 5 giá trị được phản hồi nhiều nhất..................................................35
Hình 3.22 Tóp 5 vị trí địa chỉ Băm có lượt truy cập cao nhất.................................35
Hình 3.23 Vùng địa chỉ IP trong file log...................................................................36

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

6

CHƯƠNG 1: GIỚI THIỆU VỀ TRUNG TÂM ỨNG CỨU KHẨN
CẤP MÁY TÍNH VIỆT NAM
1.1 Giới thiệu về Trung tâm ứng cứu khẩn cấp máy tính Việt Nam(VNCERT)
1.1.1 Quá trình hình thành và phát triển của VNCERT
Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam được thành lập theo Quyết
định 339/2005/QĐ-TTG của Thủ tướng Chính phủ; là đơn vị trực thuộc Bộ Thông tin
và Truyền thông, thực hiện chức năng điều phối hoạt động và tổ chức các hoạt động
ứng cứu nhanh sự cố máy tính cho mạng trên toàn quốc.
Trụ sở chính:
Địa chỉ: Tầng 7, Lô 1-9A, tòa nhà Nam Hải Lakeview, khu đô thị Vĩnh Hoàng,
phường Hoàng Văn Thu, quận Hoàng Mai, Hà Nội.
Email: /
Website:
1.1.2 Cơ cấu tổ chức
Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam(VNCERT) có trụ sở chính đặt
tại Hà Nội.

Giám đốc:
Ông Nguyễn Trọng Đường
Email:
Phó Giám đốc:
Ông Nguyễn Khắc Lịch
Email:
Phó Giám đốc:
Ông Ngô Quang Huy
Email:

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

7

Phòng Hành chính - Tổng hợp:
Trưởng phòng: Bà Lê Thị Phương Nam
Email:
Phó trưởng phòng: Bà Phan Liên Hương
Email:

Phòng Kế hoạch - Tài chính:
Phụ trách kế toán: Bà Dương Thị Minh
Email:
Phòng Điều phối và Ứng cứu an toàn mạng:
Phó trưởng phòng kiêm Phụ trách phòng: Ông Hà Hải Thanh

Email:
Phó Trưởng phòng: Ông Hà Văn Tiến
Email:
Phòng Kỹ thuật - Hệ thống:
Phó trưởng phòng: Ông Trần Tuấn Anh
Email:
Phó trưởng phòng: Ông Hoàng Đăng Trị
Email:
Phòng Tư vấn Đào tạo:
Phó trưởng phòng kiêm Phụ trách phòng: Ông Cao Huy Phương
Email:
Phó trưởng phòng: Bà Bùi Thanh Hà
Email:
Phòng Nghiên cứu và Phát triển:
Phó trưởng phòng kiêm Phụ trách phòng: Ông Nguyễn Đức Tuân
Email:
Với hai chi nhánh:
Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

8

Chi nhánh tại Miền Trung:
-

Địa chỉ: Phòng 5.10 tầng 5 số 76-78 đường Bạch Đằng, quận Hải Châu, TP Đà

Nẵng.

-

Điện thoại: 0511.3843228

Chi nhánh tại Miền Nam:
-

Địa chỉ: 27 Nguyễn Bỉnh Khiêm, phường Đa Kao, Quận 1, TP Hồ Chí Minh.

-

Điện thoại: 08. 39104925
Và 6 phòng ban chức năng, nhiệm vụ bao gồm: Phòng Hành Chính Tổng Hợp,

Phòng Kế Hoạch Tài Chính, Phòng Điều Phối Và Ứng Cứu An Toàn Mạng, Phòng Kĩ
Thuật Hệ Thống, Phòng Tư Vấn Đào Tạo, Phòng Nghiên Cứu Và Phát Triển.

Hình 1.1 Mô hình tổ chức Trung tâm VNCERT
1.1.3 Nhiệm vụ, chức năng chính và định hướng phát triển của trung tâm
Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) là tổ chức trực
thuộc Bộ Thông tin và Truyền thông, thực hiện chức năng điều phối hoạt động ứng
cứu sự cố máy tính trên toàn quốc; cảnh báo kịp thời các vấn đề về an toàn mạng máy
tính; phối hợp xây dựng, phối hợp xây dựng các tiêu chuẩn, quy chuẩn kỹ thuật về an
toàn mạng máy tính; thúc đẩy hình thành hệ thống các CERT trong các cơ quan, tổ
chức, doanh nghiệp; là đầu mối trong việc hợp tác với các tổ chức ứng cứu máy tính
(CERT) nước ngoài.

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A


Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

9

Điều phối các hoạt động ứng cứu sự cố máy tính trên toàn quốc. Có các chức năng
chính như sau:
- Cảnh báo kịp thời các vấn đề về an toàn mạng máy tính.
- Xây dựng và phối hợp xây dựng các tiêu chuẩn kỹ thuật về an toàn mạng máy
tính.
- Là cầu nối hợp tác với các tổ chức CERT nước ngoài.
- Thúc đẩy hình thành hệ thống các Trung Tâm Ứng Cứu Khẩn Cấp Máy Tính
trong cơ quan, tổ chức, doanh nghiệp.
- Tham gia vào công tác quản lý an toàn bảo mật trong các hoạt động bưu chính,
viễn thông và công nghệ thông tin.
1.1.4 Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) – Chi Nhánh Đà
Nẵng
Là chi nhánh trực thuộc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam
VNCERT tại Đà Nẵng.
Phó trưởng chi nhánh kiêm Phụ trách chi nhánh: Ông Đặng Hải Sơn
Email:
- Địa chỉ: Phòng 5.10 tầng 5 số 76-78 đường Bạch Đằng, quận Hải Châu, TP Đà
Nẵng.
- Điện thoại: 0511.3843228
1.2 Giới thiệu đề tài
1.2.1 Bối cảnh thực hiện đề tài
Hiện nay, với xu thế phát triển thế kỷ của lĩnh vực công nghệ thông tin, nó xâm

nhập vào mọi lĩnh vực đời sống của con người song song với đó, chúng ta phải quản lý
tốt các file trên hệ thống máy chủ web hoặc máy chủ proxy để phát hiện kịp thời, ngăn
chặn nguy cơ tiềm ẩn từ các hoạt động web. Chính vì thế, em chọn “Triển khai phân
tích file-log bằng bộ công cụ ELK tại VNCERT” làm đề tài thực tập tốt nghiệp.
1.2.2 Mục đích thực hiện đề tài
Triển khai phân tích, đánh giá được trạng thái hoạt động và quản lý tốt các filelog được tạo ra trên máy chủ có chứa tất cả thông tin hoạt động trên máy chủ đó, như
Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

10

thông tin người truy cập, thời gian khách viếng thăm,...
1.2.3 Những công việc được giao tại trung tâm
Trong quá trình thực tập tại Trung tâm ứng cứu khẩn cấp máy tính Việt Nam
VNCERT – Chi nhánh Đà Nẵng, chúng em thực hiện phân tích File log bằng bộ công
cụ ELK (Elasticsearch + Logstash + Kibana) được cung cấp bởi Cán bộ hướng dẫn ở
Trung tâm.

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

11


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ FILE-LOG VÀ BỘ
CÔNG CỤ ELK
2.1 Tìm hiểu về File log
File log là một tập tin được tạo ra bởi một máy chủ web hoặc máy chủ proxy có
chứa tất cả thông tin về các hoạt động trên máy chủ đó, như thông tin người truy cập,
thời gian khách viếng thăm, địa chỉ IP, dữ liệu truy vấn. File log có rất nhiều tác dụng
đối với webmaster như phân tích xem người truy cập vào những phần nào trên trang
web nhiều nhất và chuyển sang xem mục nào trên trang web.
Log bao gồm bản ghi hệ thống, các bản ghi ứng dụng, và bản ghi bảo mật. Hệ
thống vận hành và bảo trì, và các nhà phát triển có thể đăng nhập cho phần cứng máy
chủ và phần mềm thông tin, những lý do cho việc kiểm tra các lỗi cấu hình và các lỗi
xảy ra. Phân tích các log thường có thể hiểu được tại máy chủ, hiệu suất, bảo mật để
có biện pháp khắc phục kịp thời.
Ví dụ minh họa:

Hình 2.1 Nội dung trong một file log

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

12

2.2 Giới thiệu về bộ công cụ ELK (Elasticsearch + Logstash + Kibana)
2.2.1 Giới thiệu Elasticsearch
Elasticsearch là một công cụ mã nguồn mở tìm kiếm toàn văn bản và phân tích

khả năng mở rộng. Nó cho phép bạn lưu trữ, tìm kiếm và phân tích khối lượng lớn dữ
liệu một cách nhanh chóng và gần thời gian thực.Nó thường được sử dụng như các
công cụ / công nghệ cơ bản mà quyền hạn các ứng dụng có tính năng tìm kiếm phức
tạp và yêu cầu.
Elasticsearch được xây dựng trên một công cụ tìm kiếm toàn văn bản dựa trên
công cụ tìm kiếm của Apache Lucene, viết bằng Java.
Các tính năng chính:
- Phân tích thời gian
- Phân phối lưu trữ tập tin theo thời gian thực, và từng lĩnh vực được lập chỉ mục
- Tài liệu định hướng, tất cả các đối tượng là tất cả các tài liệu
- Tính sẵn sàng cao, dễ dàng mở rộng, hỗ trợ cluster (Cluster), phân mảnh và
nhân rộng (Shards và bản sao).
- Giao diện thân thiện, hỗ trợ cho JSON
2.2.2 Giới thiệu Logstash
Logstash là một công cụ mã nguồn mở cho việc thu thập, phân tích, và lưu trữ
các bản ghi để sử dụng trong tương lai. Sử dụng ngôn ngữ Jruby.
Các tính năng chính:
- Bạn có thể truy cập vào bất kỳ dữ liệu nào.
- Có thể được kết hợp với một loạt các ứng dụng bên ngoài.
- Hỗ trợ mở rộng đàn hồi.
Các thành phần chính:
- Shipper: gửi dữ liệu đăng nhập.
- Broker: thu thập dữ liệu, tích hợp mặc định Redis.
- Dữ liệu Indexer: viết.
Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert


13

Hình 2.2 Các thành phần cơ bản của Logstash
2.2.3 Giới thiệu Kibana
Kibana là công cụ phân tích mã nguồn mở và trực quan được thiết kể để làm việc
với Elasticsearch.
Kibana có giao diện web có thể được sử dụng để tìm kiếm, xem và tương tác với
dữ liệu được lưu trữ tại các bản ghi mà Logstash đã lập chỉ mục. Cho phép bạn tạo và
chia sẻ nhanh chóng các biểu đồ động hiển thị những thay đổi để Elasticsearch truy
vấn trong thời gian thực.
Kibana dựa trên Apache giấy phép mã nguồn mở, sử dụng ngôn ngữ
JavaScript. Nó có thể được tìm thấy trong chỉ số Elasticsearch, dữ liệu tương tác và tạo
ra một loạt các kích thước của bảng của FIG.
Có thể dễ dàng thực hiện phân tích dữ liệu tiên tiến và hiển thị dữ liệu của bạn
trong một loạt các biểu đồ, bảng biểu và bản đồ.
Logstash-forwarder (tên gọi trước đây là Lumberjack) là một trong rất nhiều
"shipper" dùng để đẩy log đến server log tập trung, có nhiều tính năng đặc biệt sau:
- Nhẹ và dễ sử dụng (viết bằng Go, không cần JVM)
- Sử dụng mật mã để truyền dữ liệu trên đường truyền.

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

14


2.2.4 Kiến trúc ngăn xếp ELK
Quá trình hoạt động cơ bản:
Các Shipper có nhiệm vụ thu thập dữ liệu từ các nguồn dữ liệu khác nhau, sau đó
gửi đến trung gian, Indexer sẽ lưu trữ dữ liệu trong Broker Elasticsearch, Elasticsearch
tạo chỉ mục trên dữ liệu đó rồi chuyển đến Kibana phân tích dữ liệu và hiển thị dưới
dạng đồ họa.

Hình 2.3 Kiến trúc ngăn sếp ELK
Quá trình thu thập log diễn ra như sau:
- Các Shipper( như logstash-forwarder,…) từ Client đẩy log đến Broker, sau khi
xử lý xong Broker sẽ đưa log vào một hàng đợi trước khi nó được chuyển tiếp đến
Logstash.
- Logstash xử lý các bản tin log vừa chuyển đến và lưu trữ nó dưới dạng JSON
document vào trong ElasticSearch.
- ElasticSearch có nhiệm vụ chính là lưu trữ và tìm kiếm tất cả các dữ liệu.
- Sau đó bản tin Log được hiển thị trên Kibana Web Interface.
ELK kết hợp giữa ba phần mềm với nhau, sự hội tụ hoàn hảo và hiệu quả để đáp
ứng nhiều ứng dụng và được chấp nhận bởi nhiều người dùng như Stackoverflow,…

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

15

CHƯƠNG 3 TRIỂN KHAI PHÂN TÍCH LOG WEB APACHE
BẰNG BỘ CÔNG CỤ ELK

3.1 Yêu cầu hệ thống:
Nền tảng thử nghiệm:
- Ubuntu Desktop 14.04
- RAM 4GB
- CPU 2
Phần mềm sử dụng:
- ElasticSearch
- LogStash
- Kibana
- Và một số phần mềm hổ trợ như: Nginx, Logstash-forwarder và JDK.
3.2 Kiến trúc hệ thống thực nghiệm:

Hình 3.1 Kiến trúc hệ thống thực nghiệm

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

16

3.3 Mô hình triển khai:

Hình 3.2 Mô hình triển khai
3.4 Quá trình cài đặt:
3.4.1 Cài đặt Java 8:
Thêm Oracle Java PPA apt:
$sudo add-apt-repository –y ppa:webupd8team/java


Hình 3.3 Thêm Oracle Java PPA

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

17

Cập nhật cơ sở dữ liệu gói apt:
$sudo apt-get update
Cài đặt phiên bản mới nhất của Oracle Java 8:
$sudo apt-get –y install oracle-java8-installer

Hình 3.4 Cài đặt Oracle Java 8
3.4.2 Cài đặt Logstash
Các gói Logstash có sẵn ở kho lưu trữ, vì vậy chúng ta nên tạo danh sách nguồn
cho Logstash bằng lệnh:
$ echo 'deb stable main' | sudo tee
/etc/apt/sources.list.d/logstash-2.2.x.list
Cập nhật cơ sở dữ liệu gói apt:
$sudo apt-get update
Cài đặt Logstash:
$sudo apt-get install logstash

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A


Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

18

Hình 3.5 Cài đặt Logstash
3.4.3 Cài đặt ElasticSearch
Chạy lệnh sau để nhập khóa GPG công khai Elasticsearch vào apt:
$ wget -qO - | sudo apt-key add –

Hình 3.6 Nhập Khóa GPG

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

19

Tạo danh sách nguồn Elasticsearch:
$ echo "deb stable main" | sudo tee
-a /etc/apt/sources.list.d/elasticsearch-2.x.list
Cập nhật cơ sở dữ liệu gói apt:
$ sudo apt-get update
Cài đặt Elasticsearch bằng lệnh sau:
$ sudo apt-get install -y elasticsearch


Hình 3.7 Cài đặt Elasticsearch
Cấu hình Elasticsearch:
$ sudo vi /etc/elasticsearch/elasticsearch.yml

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

20

Hình 3.8 Cấu hình cho Elasticsearch
Để hạn chế người ngoài truy cập vào ElasticSearch (port 9200) để đọc dữ liệu
hoặc tắt cụm ElasticSearch thông qua các API HTTP. Ta tìm đến dòng network.host,
bỏ ghi chú và thay thế giá trị của nó với localhost.
Sau khi thay đổi nội dung sẽ như thế này: network.host: localhost
Lưu và thoát elasticsearch.yml
Khởi động lại dịch vụ:
$ sudo service elasticsearch restart

Hình 3.9 Khởi động lại dịch vụ Elasticsearch
Khi Elasticsearch khởi động lên, ta chạy lệnh sau:
$ sudo update-rc.d elasticsearch defaults 95 10

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi



Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

21

Hình 3.10 Cập nhật Elasticsearch
Cài đặt elasticsearch-HQ bằng lệnh sau:
Root@ubuntu: /usr/share/elasticsearch/bin# ./plugin install royrusso/elasticsearchHQ

Hình 3.11 Cài đặt Elasticsearch-HQ

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

22

3.4.4 Cài đặt Kibana
Tạo danh sách nguồn Kibana:
$ echo "deb stable main" | sudo tee -a
/etc/apt/sources.list.d/kibana-4.4.x.list
Cập nhật gói cơ sở dữ liệu apt:
$ sudo apt-get update
Cài đặt Kibana bằng lệnh:
$ sudo apt-get install -y kibana


Hình 3.12 Cài đặt Kibana

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

23

Sau khi Kibana được cài đặt xong, chúng ta mở tập tin cấu hình Kibana để chỉnh
sửa:
$ sudo vi /opt/kibana/config/kibana.yml

Hình 3.13 Chỉnh sửa cấu hình Kibana
Trong file cấu hình Kibana, sẽ có dòng xác định server.host và thay thế địa chỉ IP
(mặc định là “0.0.0.0”) với “localhost”:
server.host: "localhost"
Lưu lại và thoát. Với thiết lập này Kibana sẽ chỉ có thể truy cập vào localhost,
điều này tốt vì chúng ta sẽ sử dụng một proxy ngược Nginx để cho phép truy cập từ
bên ngoài.
Bây giờ cho phép dịch vụ Kibana khởi chạy:
$ sudo update-rc.d kibana defaults 96 9
$ sudo service kibana start

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi



Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

24

Hình 3.14 Cập nhật và khởi chạy Kibana
Giao diện kibana

Hình 3.15 Giao diện Web Kibana
Để có thể sử dụng giao diện web Kibana, chúng ta phải thiết lập một proxy
ngược lại bằng bộ Nginx.

Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


Triển Khai Phân Tích Log Web Apache Bằng Bộ Công Cụ ELK Tại Vncert

25

3.4.5 Cài đặt Nginx
Do chúng ta đã cấu hình Kibana lắng nghe trên localhost nên phải thiết lập một
proxy ngược lại để cho phép truy cập từ bên ngoài vào.
Sử dụng apt để cài đặt Nginx và Apache2-utils:
$ sudo apt-get install nginx apache2-utils
Sử dụng htppasswd để tạo ra một tài khoản admin, gọi là kibanaadmin, có thể
truy cập vào giao diện web Kibana:
$ sudo htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
Mở khối máy chủ mặc định Nginx:

$ sudo vi /etc/nginx/sites-available/default
Xóa nội dung của tập tin rồi dán các mã sau vào. Cần cập nhật các Server_name
phù hợp với tên máy chủ của bạn:

Lưu lại và thoát. Ứng dụng Kibana được lắng nghe trên localhost:5601 trực tiếp
trên HTTP của máy chủ. Ngoài ra, Nginx sẽ sử dụng htpasswd.users tập tin mà chúng
đã tạo ra trước đó và yêu cầu tạo ra một số xác thực cơ bản.
Khởi động lại Nginx:
$ sudo service nginx restart
Khoa: Công Nghệ Thông Tin – Lớp: CCMM07A

Trần Văn Lợi


×