Chủ Nhật, 19 tháng 2, 2012

Quản trị hệ thống - Bài 1 : Cài đặt và cấu hình ganglia

Loạt bài chia sẻ kinh nghiệm xây dựng và quản trị hệ thống.
Ganglia là công cụ monitor hệ thống khá tốt.Sử dụng trên hệ điều linux .Ganglia thu thập các trạng thái của các máy client trong mạng .Tổng hợp và đưa ra kết quả của hệ thống đang hoạt động như thế nào.
 Kiến trúc của ganglia :


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ủa ganglia gồm có :
  1. 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ỗi metric được mô tả bởi các yếu tố:
    1. 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)
    2. Giá trị: Có thể là con số (thực, nguyên,...), hoặc chuỗi
    3. Tên: cho phép phân biện các số đo với nhau
  2. gmond: chạy trên các client có nhiệm vụ gửi các thống số định kỳ về gmetad.
  3. 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ình gmond 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).
  4. 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).
Cài đặt ganglia trên centos
Trên máy monitor (192.168.1.253)ta cài
rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php apr apr-util
Admin $ yum install rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php apr apr-util
Sau đó sử file cấu hình gmond.conf như sau:
Admin $ vi /etc/ganglia/gmond.conf
 
cluster {
  name = "cluster1"
  owner = "owner1"
  latlong = "unspecified"
  url = "unspecified"
}

udp_send_channel {
  host = 192.168.1.253
  port = 8649
  ttl = 1
}

udp_recv_channel {
  port = 8649
} 

Khởi động gmond
service gmond start
Cho gmond khởi động cùng với HDH
chkconfig gmond on

Sử file cấu hình gmetad.conf trong /etc/ganglia/gmetad.conf

data_source "my cluster" 192.168.1.253:8649
 
khởi động  gmetad 
chkconfig gmetad on
service gmetad start

 Khở động http

chkconfig httpd on
service httpd start

 Tại các nodes ta cài gmond :
yum install ganglia-gmond
 
Chỉnh sử file gmond.conf như trên.
 
Từ trình duyệt trên monitor http://localhost/ganglia
 
Nếu xuất hiện lỗi 
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
Các bạn vào /etc/selinux/config chỉnh lại như sau

 # This file controls the state of SELinux on the system.

 # SELINUX= can take one of these three values:

 # enforcing - SELinux security policy is enforced.

 # permissive - SELinux prints warnings instead of enforcing.

 # disabled - SELinux is fully disabled.

 SELINUX=disabled

 # SELINUXTYPE= type of policy in use. Possible values are:

 # targeted - Only targeted network daemons are protected.

 # strict - Full SELinux protection.

 SELINUXTYPE=targeted 
 
 
(Trong quá trình triển khai ganglia cho hệ thống công ty tôi có một số lưu lý sau:
Khi cài ganglia-gmetad và ganglia-gmond nếu không cũng version thì nó sẽ không nhận.Cái này là tôi thấy thế .nhưng chắc là ganglia có hỗ trợ nhưng chưa biết.
Thứ 2 là với ganglia 3.0.7 tôi cái rrdtool 1.2 nó mới nhận.Nhung bản rrdtool mới không được
Việc cài ganglia-web phải chú ý đến php.Như tôi php53 cần phải remove rồi mới cài được ganglia-web
host là địa chỉ của server
Ở bản ubuntu 5.4 nếu sử dụng rpmforge thì sẽ get về ganglia 3.1.7.Sử dụng epel.repo sẽ tải về bản 3.0.7
Để disable rpmforge thi vi /etc/yum.res*/rpmforge sử giá trị disable = 0 

Không có nhận xét nào:

Đăng nhận xét