Báo Cáo Tiểu Luận NGHIÊN CỨU VÀ TRIỂN KHAI GIÁM SÁT MẠNG VỚI PROMETHEUS VÀ GRAFANA

51 20 3
Báo Cáo Tiểu Luận  NGHIÊN CỨU VÀ TRIỂN KHAI GIÁM SÁT MẠNG VỚI PROMETHEUS VÀ GRAFANA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo tiểu luận tập trung tìm hiểu về chương trình Prometheus và Grafana. Prometheus là một chương trình giám sát mã nguồn mở cho việc theo dõi và cảnh báo về hệ thống và Grafana là một chương trình giao diện hóa các dữ liệu được gửi về từ nguồn. Prometheus sẽ thu thập các dữ liệu từ máy được giám sát, quản lý lưu trữ và hiển thị thông qua Grafana.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN - ĐỀ TÀI BÁO CÁO TIỂU LUẬN NGHIÊN CỨU VÀ TRIỂN KHAI GIÁM SÁT MẠNG VỚI PROMETHEUS VÀ GRAFANA Nhóm thực hiện: N04 GVHD: ThS Trần Đắc Tốt TP Hồ Chí Minh, ngày … tháng … năm 2023 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN - ĐỀ TÀI BÁO CÁO TIỂU LUẬN NGHIÊN CỨU VÀ TRIỂN KHAI GIÁM SÁT MẠNG VỚI PROMETHEUS VÀ GRAFANA Nhóm thực hiện: N04 GVHD: ThS Trần Đắc Tốt TP Hồ Chí Minh, ngày … tháng … năm 2023 BẢNG PHÂN CÔNG VIỆC LÀM VÀ MỨC ĐỘ HOÀN THÀNH Họ và Tên MSSV Công việc thực hiện Mức độ hoàn thành MỤC LỤC 1 GIỚI THIỆU VẤN ĐỀ 1 1.1 Giới thiệu về Prometheus 1 1.2 Các tính năng của Prometheus 3 1.3 Kiến trúc của Prometheus : 3 1.3.1 Quá trình hoạt động của Prometheus : 3 1.3.2 Các thành phần trong mô hình của Prometheus : 4 1.4 Các dạng dữ liệu (metrics) trên Prometheus : 5 1.5 Giới thiệu về Gafana 6 2 MÔ HÌNH THỬ NGHIỆM 7 2.1 Mô hình thực nghiệm : .7 2.2 Danh sách các thiết bị và dịch vụ thiết lập : 7 3 KỊCH BẢN THỬ NGHIỆM .10 4 CÁC BƯỚC THỰC HIỆN 11 4.1 Triển khai cài đặt Prometheus (192.168.38.130/24) : 11 4.2 Cài đặt Node Exporter trên máy Prometheus (192.168.38.130/24) : 15 4.3 Cài đặt Grafana trên máy giám sát (192.168.38.130/24) .19 4.4 Cài đặt Node Exporter trên máy Web Server (192.168.38.135/24) 22 4.4.1 Cài đặt Node Exporter trên máy Web Server 22 4.4.2 Tích hợp Node Exporter lên máy Prometheus : 26 4.5 Cài đặt Apache Exporter trên máy Web Server (192.168.38.135/24) 28 4.5.1 Cài đặt apache_exporter trên máy Web Server : .28 4.5.2 Thêm đối tượng apache_exporter vào Prometheus : .30 4.5.3 Thêm Dashboard cho đối tượng apache_exporter : 31 4.6 Cài đặt Windows_Exporter trên máy windows Server 2008 R2 (192.168.38.136/24) 34 4.7 Tích hợp đối tượng giám sát vào Prometheus : .35 4.8 Cài đặt Dashboard cho windows_exporter trên Grafana : .36 5 KẾT QUẢ 38 5.1 Thực hiện giám sát máy Web Server thông qua node_exporter : 38 5.2 Thực hiện giám sát lưu lượng mạng bằng speedtest : 40 5.3 Thực hiện giám sát tình trạng dịch vụ Apache trên Web Server : 41 5.4 Thực hiện giám sát máy Windows Server 2008 : 42 6 NHẬN XÉT 43 6.1 Ưu và nhược điểm của Grafana : 43 6.2 Ưu và nhược điểm của Prometheus .44 7 KẾT LUẬN 45 1 GIỚI THIỆU VẤN ĐỀ 1.1 Giới thiệu về Prometheus Prometheus là một dịch vụ mã nguồn mở sử dụng cho việc theo dõi và cảnh báo về hệ thống Xây dựng từ năm 2012 cho dự án SoundCloud nhưng được tách ra và phát triển thành một dự án độc lập từ năm 2016 sau khi tham gia vào tổ chứ CNCF (Cloud Native Computing Foundation) Tính năng thu thập thông số (metric), dữ liệu từ các dịch vụ được gán thêm yếu tố về thời gian nhất định được thiết lập, đánh giá các biểu hức quy tắc, hiển thị kết quả và có thể kích hoạt cảnh báo nếu các điều kiện được thỏa mãn yêu cầu Được lập trình dựa trên ngôn ngữ Golang được thành lập bởi Google và cung cấp cơ chế truy vấn dữ liệu sử dụng PromQL (viết tắt của Prometheus Query Language)  PromQL (Prometheus Query Language) là một dạng ngôn ngữ truy vấn cho phép người dùng chọn và tổng hợp các dữ liệu chuỗi thòi gian theo thời gian thực (real time)  Kết quả được hiển thị dưới dạng biểu độ, dữ liệu dạng bảng hay dữ liệu đầu vào cho chương trình khác thông qua HTTP API  Ví dụ : http_requests_total{job="apiserver", handler="/api/comments"} Ý nghĩa : thực hiện việc truy vấn dạng dữ liệu chuỗi thời gian “http_requests_total” với các yếu tố đặc trưng như “job” và “handler” 1 Một số thông tin khác về Prometheus :  Phần lớn các core tính năng của Prometheus được viết bằng ngôn ngữ Go Một số còn lại thì được viết bằng Java, Python hoặc Ruby  Prometheus không dùng để lấy dữ liệu log, thay vì vậy thì Prometheus là dịch vụ giám sát, thu thập và xử lý dữ liệu dạng metric (thông số)  Prometheus sử dụng cơ chế đi lấy (pull) dữ liệu từ máy chủ remote là chính, chứ không sử dụng cơ chế đợi remote đẩy (push) dữ liệu lên ngoại trừ trường hợp sử dụng PushGateway  Prometheus sử dụng chương trình cảnh báo Alertmanager để xử lý và gửi cảnh báo đi  Về phần giao diện biểu đồ (đồ thị) thì Prometheus sử dụng mã nguồn Grafana để tích hợp hiển thị  Metric của Prometheus sử dụng chuẩn OpenMetrics  Prometheus hỗ trợ 3 hình thức cài đặt các thành phần hệ thống gồm : Docker Image, cài đặt từ source với Go và file chương trình chạy sẵn đã được biên dịch sẵn Một số thuật ngữ trong quá trình làm việc của Prometheus :  Time-series Data: là một chuỗi các điểm dữ liệu, thường bao gồm các phép đo liên tiếp được thực hiện từ cùng một nguồn trong một khoảng thời gian  Endpoint: nguồn dữ liệu của các chỉ số (metric) mà Prometheus sẽ đi lấy thông tin  Instance: một instance là một nhãn (label) dùng để định danh duy nhất cho một target trong một job  Và nhiều thuật ngữ khác 2 1.2 Các tính năng của Prometheus Một số tính năng chính của Prometheus :  Mô hình dữ liệu đa chiều – time series được xác định bởi tên của số liệu (metric) và các cặp khóa – giá trị (key/value)  Ngôn ngữ truy vấn linh hoạt  Hỗ trợ nhiều chế độ biểu đồ  Nhiều chương trình tích hợp và hỗ trợ bởi bên thứ 3  Hoạt động cảnh báo vấn đề linh động dễ cấu hình  Chỉ cần 1 máy chủ là có thể hoạt động được  Hỗ trợ Push các time series thông qua một gateway trung gian  Các máy chủ/thiết bị giám sát có thể được phát hiện thông qua service discovery hoặc cấu hình tĩnh 1.3 Kiến trúc của Prometheus : 1.3.1 Quá trình hoạt động của Prometheus : Quá trình hoạt động của Prometheus :  Thực hiện quá trình lấy các thông số/số liệu (metric) từ các job được chỉ định qua kênh trực tiếp hoặc thông qua dịch vụ Pushgateway trung gian  Sau đấy Prometheus sẽ lưu trữ các dữ liệu thu thập được ở local máy chủ  Thực thi các rule để xử lý các dữ liệu theo nhu cầu cũng như kiểm tra thực hiện các cảnh báo nếu thiết lập 3

Ngày đăng: 13/03/2024, 16:34

Tài liệu cùng người dùng

Tài liệu liên quan