<![CDATA[Latest posts for the topic "Cấu hình Nagios để kiểm tra trạng thái up/down của Oracle Database"]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Cấu hình Nagios để kiểm tra trạng thái up/down của Oracle Database 1) Giới thiệu Bài này sẽ trình bày việc cấu hình cho Nagios để giám sát dịch vụ Oracle Database có đang hoạt động hay không (up/down). Dưới đây là 2 trong vài cách thức để thực hiện: -- Sử dụng plugin check_tcp có sẵn trong Nagios để kiểm tra xem cổng mạng (port) của database có được mở và ở trạng thái lắng nghe, chờ kết nối hay không. Hầu hết các database đều mở một TCP port để cung cấp khả năng truy cập qua mạng cho các ứng dụng. Đối với Orace thì cổng mặc định khi cài đặt là TCP 1521. Tuy nhiên, nếu các ứng dụng đó cùng nằm trên một máy chủ với database thì việc mở thêm một port cho các kết nối mạng là không cần thiết vì chúng sẽ liên lạc với nhau nhờ cơ chế IPC (Interprocess Communication). Nhưng điều này lại gây trở ngại cho việc giám sát từ xa thông qua việc kiểm tra port mạng của database. Ngoài ra thì với Oracle, các kết nối mạng tới database được xử lý bởi một tiến trình listener tách biệt với tiến trình chính của Oracle. Nên nếu chỉ kiểm tra port đang up/down thôi thì chưa đủ vì có thể listener ngưng chạy nhưng hoạt động của Oracle vẫn bình thường và ngược lại. -- Sử dụng plugin check_oracle có sẵn trong Nagios để kiểm tra thông qua một thao tác đăng nhập từ xa thực sự vào database. Cách này không những xác định được port đang mở hay không mà có cho biết một thực thể (instance) của Orace đang chạy và có thể đăng nhập vào. Yêu cầu ở đây là máy Nagios cần được cài chương trình Oracle client hoặc tối thiểu là bộ thư viện Oracle instantclient và câu lệnh sqlplus. Ngoài ra, cũng cần tạo thêm trong Oracle một tài khoản dành riêng với các quyền bị giới hạn chặt chẽ chỉ đủ để kiểm tra đăng nhập vào database. Thử nghiệm dưới đây sử dụng addon NRPE để thực thi plugin check_tcp trên máy chủ Oracle Database. 2) Yêu cầu và chuẩn bị + Một máy chủ chạy Nagios có sẵn plugin NRPE. + Một máy chủ chạy Oracle Database với port của listener là 1521 và được cài daemon NRPE Xem thêm 2 bài sau: http://manthang.wordpress.com/2012/07/06/giam-sat-may-linuxunix-su-dung-plugin-nrpe-cho-nagios-tren-centos-6-2/ http://manthang.wordpress.com/2012/06/27/cai-dat-nagios-tren-centos-6-2/ 3) Các bước thực hiện Thực hiện trên máy Oracle Database 1. Mở tập tin cấu hình cho NRPE là /usr/local/nagios/etc/nrpe.cfg và thêm vào định nghĩa cho câu lệnh check_tcp như mẫu sau: Code:
command[check_tcp]=/usr/local/nagios/libexec/check_tcp –p 1521
2. Nếu đang chạy daemon NRPE dưới dịch vụ xinetd thì không cần khởi động lại daemon này và ngược lại, cần khởi động lại NRPE nếu nó chạy độc lập. Thực hiện trên máy Nagios 1. Định nghĩa một service mới để kiểm tra listener port trên máy Orace Database bằng cách tạo mới một tập tin /usr/local/nagios/etc/objects/oracle.cfg với nội dung mẫu như sau: Code:
define host{
use                                linux-server
host_name                          oracle-db
alias                              Oracle DB 11g
address                            192.168.1.14
}

//kiểm tra listener port của Oracle

define service{
use                                generic-service
host_name                          oracle-db
service_description                Oracle Listener Port
check_command                      check_nrpe!check_tcp
}
2. Thêm object trên vào tập tin cấu hình chính của Nagios bằng cách mở tập tin /usr/local/nagios/etc/nagios.cfg và thêm vào dòng sau Code:
cfg_file=/usr/local/nagios/etc/objects/oracle.cfg
Kiểm tra lại các tập tin cấu hình và khởi động lại Nagios Code:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# /etc/init.d/nagios restart
Tham khảo: http://nagios.frank4dd.com/howto/db-monitoring.htm –manthang]]>
/hvaonline/posts/list/42951.html#267243 /hvaonline/posts/list/42951.html#267243 GMT
Cấu hình Nagios để kiểm tra trạng thái up/down của Oracle Database Code:
define service{
use                                generic-service
host_name                          oracle-db
service_description                Oracle Listener Port
check_command                      check_tcp!1521
}

manthang wrote:
-- Sử dụng plugin check_oracle có sẵn trong Nagios để kiểm tra thông qua một thao tác đăng nhập từ xa thực sự vào database. Cách này không những xác định được port đang mở hay không mà có cho biết một thực thể (instance) của Orace đang chạy và có thể đăng nhập vào. Yêu cầu ở đây là máy Nagios cần được cài chương trình Oracle client hoặc tối thiểu là bộ thư viện Oracle instantclient và câu lệnh sqlplus. Ngoài ra, cũng cần tạo thêm trong Oracle một tài khoản dành riêng với các quyền bị giới hạn chặt chẽ chỉ đủ để kiểm tra đăng nhập vào database.  
Không cần. Bạn có thể viết một plugin gọi sqlplus để check trên chính Oracle server rồi truyền kết quả qua NRPE cho Nagios.]]>
/hvaonline/posts/list/42951.html#267247 /hvaonline/posts/list/42951.html#267247 GMT
Cấu hình Nagios để kiểm tra trạng thái up/down của Oracle Database

quanta wrote:
Nếu dùng `check_tcp` sao không check luôn từ Nagios server, cần gì phải check trên Oracle server rồi lại gọi qua NRPE: Code:
define service{
use                                generic-service
host_name                          oracle-db
service_description                Oracle Listener Port
check_command                      check_tcp!1521
}

manthang wrote:
-- Sử dụng plugin check_oracle có sẵn trong Nagios để kiểm tra thông qua một thao tác đăng nhập từ xa thực sự vào database. Cách này không những xác định được port đang mở hay không mà có cho biết một thực thể (instance) của Orace đang chạy và có thể đăng nhập vào. Yêu cầu ở đây là máy Nagios cần được cài chương trình Oracle client hoặc tối thiểu là bộ thư viện Oracle instantclient và câu lệnh sqlplus. Ngoài ra, cũng cần tạo thêm trong Oracle một tài khoản dành riêng với các quyền bị giới hạn chặt chẽ chỉ đủ để kiểm tra đăng nhập vào database.  
Không cần. Bạn có thể viết một plugin gọi sqlplus để check trên chính Oracle server rồi truyền kết quả qua NRPE cho Nagios. 
Em sẽ coi lại và tuỳ chỉnh 2 chỗ này, cảm ơn anh quanta đã góp ý.]]>
/hvaonline/posts/list/42951.html#267274 /hvaonline/posts/list/42951.html#267274 GMT