This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org
ganglia: nguyên lý hoạt động
goodbye Ganglia
Theo định nghĩa ở trang chủ của Ganglia [1] thì
Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids.
Vì chữ monitor đa nghĩa, mình mô tả lại cho dễ hiểu: Ganglia thu nhận các số đo mô tả trạng thái của các dịch vụ ở các máy khác nhau, gửi về một tiến trình chính để lưu trữ giá trị của số đo (cùng thời điểm đo) vào một kho dữ liệu chung; kho dữ liệu này sẽ phục vụ vào nhiều mục đích, nhưng chủ yếu là sẽ được diễn tả lại ở dạng đồ họa / đồ thị.
dịch vụ A trên máy X -> {số đo M, số đo N,...} -> người vận chuyển -> kho lưu trữ -> đồ họa service gmetric gmond gmetad; rrd gweb
Các thành phần cơ bản của Ganglia:
-
gmetric
: Một số đo mô tả trạng thái của dịch vụ trên máy khách. Ví dụ, thời gian máy khách hoạt động kể từ lần khởi động cuối cùng của nó (uptime
), nhiệt độ trung bình của bo mạch chủ, tốc độ quay của quạt CPU,... Mỗimetric
được mô tả bởi các yếu tố:- Thời gian đo: mô tả thời điểm ứng với số đo (mỗi số đo phải ứng với một thời điểm duy nhất)
- Giá trị: Có thể là con số (thực, nguyên,...), hoặc chuỗi
- Tên: cho phép phân biện các số đo với nhau
-
gmond
: Tiến trình này chạy trên máy khách, có nhịp vụ tổng hợp thông tin về các số đo trên máy khách. Việc tổng hợp diễn ra một cách đều đặn (ví dụ, 15 giây một lần), và kết quả sẽ chuyển đến (một hoặc nhiều) tiến trìnhgmetad
thông qua kết nốiUDP
. Để phân biệt, ta thường cấu hình để tiến trìnhgmond
có tên trùng với tên của máy khách. -
gmetad
: Đây là nhạc trưởng hay trái tim của hệ thống Ganglia. Tiến trình này lắng nghe một cách thường trực, mỗi khi nhận được thông tin từ bất kỳ tiến trìnhgmond
nào, nó sẽ phân giải thông tin và lưu trữ vào kho dữ liệu chung (theo định dạng RRD - Round Robin Database). -
gweb
: Cung cấp giao diện web, mô tả tất cả các số đo trong kho dữ liệu ở dạng đồ thị (trừ thông tin dạng chuỗi). Đây rõ ràng là một thành phần không bắt buộc, vì ta có thể xử lý thông tin trong kho lưu trữ theo những cách khác.
Ta nói rõ hơn về các dòng gạch chân ở trên
- Tiến trình
gmond
được cấu hình để gửi tin tới một hoặc nhiều tiến trìnhgmetad
khác nhau (có thể nằm trên các máy khác nhau), điều này làm tăng khả năng chịu đựng của toàn bộ hệ thống Ganglia. (Fail-over) - Tiến trình
gmetad
có thể nhận được tin từ nhiều nguồn khác nhau (thậm chí là từ một tiến trìnhgmetad
khác), nhưng nó chỉ xử lý và lưu trữ nhưng nguồn được chỉ định trong cấu hình. Tính tới trường hợp có rất nhiều thông tin (ví dụ, khi có hơn 1000 tiến trìnhgmetad
cùng gửi tin), Ganglia đưa ra khái niệmcluster
vàgrid
: Một cluster là một nhóm các tiến trìnhgmond
; thông tin của các thành viên của clútter được nhóm lại trong kho dữ liệu cũng như trong kết quả thể hiện củagweb
. Cuối cùng, mộtgrid
là nhóm cáccluster
.
Về tường lửa của hệ thống, trong trường hợp đơn giản chỉ có một tiến trình gmetad
, ta cấu hình để:
máy khách đang có tiến trình gmond có thể gửi tin đến máy phục vụ đang có tiến trình gmetad thông qua cổng do ta chỉnh định (ví dụ 1620) với giao thức UDP
Ref.:
- Ganglia homepage: http://ganglia.info
- Ví dụ về ganglia: UC Berkeley Millennium Demo
- Ví dụ về cluster: Grids and Clusters Group Demo
Comments