banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Thắc mắc về monit package  XML
  [Question]   Thắc mắc về monit package 16/07/2006 22:21:40 (+0700) | #1 | 7200
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Trong bài viết Ký sự các vụ DDoS đến HVA - Phần 13
/hvaonline/posts/list/280.html

Em có thắc mắc ở đoạn này
Tôi tạo ra hồ sơ cấu hình cho monit và đưa vào các ấn định quan trọng nhất + cần thiết nhất để bảo đảm nếu một dịch vụ nào đó tự động thoát ra thì monit sẽ khởi tạo nó lại. Tôi còn điều chỉnh cho monit tái khởi động một số dịch vụ trọng yếu nếu như các dịch vụ này dùng bao nhiêu phần trăm CPU liên tục trong một khoảng thời gian nào đó (dấu hiệu của dịch vụ này đang bị ở tình trạng quá tải vì bị tấn công dồn dập). 


Ví dụ em sử dụng monit package này, em set CPU khoãng 60 phần trăm thì tự động Mysql, Apache nó khởi động lại thì em cấu hình cho /root/.monitrc này như thế nào ? Nếu CPU tăng quá cao thì nguy to vì vậy em thử nghiệm package mà anh hướng dẫn để "thiết kế" sao cho khi CPU tăng đến mức mà mình quy định thì tự động Mysql, Apache sẽ reset lại nhằm giải toả một số kết nối, tránh server ngũm củ tỏi.

Em đọc tài liệu của nó ở trang nay
Code:
http://www.sysbotz.com/articles/monitornetwork.htm


Đây là file .monitrc
# Sysbotz Sample monit configuration.
#

set daemon 300
set logfile /var/log/monit

check apache with pidfile /var/log/httpd/httpd.pid
start = "/root/apache-start"
stop = "/root/apache-stop"
checksum /usr/local/bin/httpd
timeout(3, 3) and alert me@company.com
host foo.com port 80 protocol http
host bar.org port 80 protocol http

check sshd with pidfile /var/run/sshd.pid
start = "/root/sshd-start"
stop = "/root/sshd-stop"
timeout(3, 3) and alert me@company.com
checksum /usr/local/sbin/sshd

check named with pidfile /var/run/named.pid
start = "/root/named-start"
stop = "/root/named-stop"
checksum /usr/local/sbin/named
timeout(3, 3) and alert me@company.com
port 53 use type udp.  


Ở đoạn này, em chĩ cần thay tên của dịch vụ vào đây phải không anh? Ví dụ /root/mysqld
Code:
start = "/root/named-start"
stop = "/root/named-stop"


Nhưng em không tìm ra cái dòng nào, mình quy định cứ đến 60 phần trăm thì tự động nó reset lại dịch vụ .

Cám ơn anh em đã đọc
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 17/07/2006 04:03:05 (+0700) | #2 | 7279
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Hello GA,

Dùng một chương trình nào, việc đầu tiên là tham khảo tài liệu gốc từ trang web của chương trình ấy.

Nếu em đọc kỹ tài liệu hướng dẫn thì sẽ thấy có phần "đụng" đến resource. Em có thể xem ở http://www.tildeslash.com/monit/doc/manual.php#resource_testing.

Dùng một ví dụ hay một config có sẵn có cái lợi mà cũng có cái hại. Lợi ở chỗ là em có thể làm cho dịch vụ chạy được nhanh chóng nhưng hại ở chỗ là có thể sẽ không dùng hết được tính năng và không hiểu hết về chương trình mình dùng.

Đây là một đoạn monit config có dính với CPU:
check process apache
with pidfile "/usr/local/apache2/run/httpd.pid"
start program = "/etc/init.d/apache start"
stop program = "/etc/init.d/apache stop"
if children > 1024 for 5 cycles then restart
if cpu usage > 85% for 5 cycles then stop
if failed host 123.123.123.123 port 80 protocol http with timeout 10 seconds then stop
alert webmaster@somewhere.com on { timeout }
group apache


Quả thật, đoạn start programstop program là nơi khai báo "lệnh" để stop và start chương trình mình muốn theo dõi.

Thân.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 17/07/2006 04:41:01 (+0700) | #3 | 7286
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
nếu như em set CPU hoạt đông đến mức 70%,thì Mysql,apache tự khởi động lại,có nghĩa là tất cả user đang kết nối bị đá văng ra ngoài hết a.?
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 17/07/2006 04:45:01 (+0700) | #4 | 7287
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

mR.Bi wrote:
nếu như em set CPU hoạt đông đến mức 70%,thì Mysql,apache tự khởi động lại,có nghĩa là tất cả user đang kết nối bị đá văng ra ngoài hết a.? 


Tất nhiên. Bởi thế, khi dùng tính năng này phải hết sức cẩn thận. Phải tính toán, đo lường thật kỹ trước khi dùng con số thích hợp. Không thể chỉ gõ một giá trị nào đó một cách bừa bãi không thì chính mình tạo "từ chối dịch vụ" cho mình smilie

Thân.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Thắc mắc về monit package 18/07/2006 04:50:07 (+0700) | #5 | 7532
mainhu
Member

[Minus]    0    [Plus]
Joined: 13/07/2006 23:11:43
Messages: 31
Offline
[Profile] [PM]
như vậy, monit chỉ có thể kiểm tra mức độ chiếm CPU của 1 service? Liệu có thể kiểm tra PID nào đang chiếm CPU nhiều nhất và kill nó đi thôi?
[Up] [Print Copy]
  [Question]   Thắc mắc về monit package 18/07/2006 05:04:05 (+0700) | #6 | 7540
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

mainhu wrote:
như vậy, monit chỉ có thể kiểm tra mức độ chiếm CPU của 1 service? Liệu có thể kiểm tra PID nào đang chiếm CPU nhiều nhất và kill nó đi thôi?
 


Bồ nên đọc kỹ tài liệu monit.

Muốn kiểm tra PID nào chiếm CPU thì không khó nhưng "kill" cho hợp lý thì không dễ. Lý do tại sao? Bồ thử nghĩ xem?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 18/07/2006 05:58:02 (+0700) | #7 | 7559
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hi anh conmale
Em làm được rồi và đang "thử nghiệm" nó cho ssh anh ah . Em qua đọc bài của bác 777 cái đã . Cám ơn anh rất nhiều

nếu như em set CPU hoạt đông đến mức 70%,thì Mysql,apache tự khởi động lại,có nghĩa là tất cả user đang kết nối bị đá văng ra ngoài hết a.? 


Bạn set ở mức 10% là được rồi, đừng set nhiều quá, CPU load cao có khả năng là do RAM ít, bạn sử dụng crontab để backup dữ liệu khi đến thời gian bạn ấn định backup thì tự động CPU nó load cao thôi. Bạn xem và để ý nó, bạn sẽ thấy nó lên cao như thế nào trong thời gian crontab làm việc.

Bạn nên set trong cái monit này cho nó lưu lại 1.log để tiện theo dõi, 10% cũng đủ dùng rồi, đừng set cao quá có khi tự làm khổ mình, cũng như anh conmale nói : Không thể chỉ gõ một giá trị nào đó một cách bừa bãi không thì chính mình tạo "từ chối dịch vụ" cho mình Nó nằm trong monit.1 đó bạn
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Thắc mắc về monit package 18/07/2006 05:58:20 (+0700) | #8 | 7560
mainhu
Member

[Minus]    0    [Plus]
Joined: 13/07/2006 23:11:43
Messages: 31
Offline
[Profile] [PM]
hmm... nếu sợ kill nhầm sang PID khác thì có lẽ ko phải. Vì nếu 1 PID chiếm nhiều CPU, nó sẽ mất khá nhiều thời gian để xử lý, mà như vậy, câu lệnh đã ứng với PID đó rồi thì sẽ ko ngại kill nhầm sang PID khác.

Còn có nguyên nhân nào khác mà anh ngại kill 1 PID smilie

[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 18/07/2006 15:03:59 (+0700) | #9 | 7660
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Chức năng này có nhiệm vụ quản lý, giám sát các tiến trình, tập tin, thư mục, thiết bị trên hệ thống Unix . Ví dụ ở đoạn này
1. check process apache with pidfile "/usr/local/apache/logs/httpd.pid"
2. start = “/etc/init.d/httpd start"
3. stop = "/etc/init.d/httpd stop"
4. if cpu usage is greater than 60 percent for 2 cycles then alert
5. if cpu usage > 98% for 5 cycles then restart
6. if 2 restarts within 3 cycles then timeout 

Ở câu 6, nếu cả 2 lần reset trong khoãng 3 chu kì thì timeout (vậy nó ngũm)

Tài liệu monit , tôi đọc nhiều lần nhưng tôi không tìm ra nó killall httpd ở đoạn nào cả. Vậy monit này nó có cần thiết chấm dứt các tiến trình đang hoạt động hay chĩ là có chức năng là làm nhiệm vụ trọng tâm giám sát các tiến trình mà thôi tức là trạng thái nào đang có lỗi hoặc vượt mức cho phép mà mình quy định thì nó tự động bảo dưỡng, sửa chữa trạng thái lỗi này, chứ nó không có kill process.

monit is a utility for managing and monitoring, processes, files, directories and devices on a Unix system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. E.g. monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses to much resources. You may use monit to monitor files, directories and devices for changes, such as timestamp changes, checksum changes or size changes. 
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 22/09/2007 23:20:21 (+0700) | #10 | 86304
[Avatar]
MrMe
Elite Member

[Minus]    0    [Plus]
Joined: 08/07/2006 13:01:01
Messages: 150
Offline
[Profile] [PM]
Hi anh conmale em cấu hình monit để nó giám sát các dịch vụ trên máy em như thế này ko biết đã ổn chưa. Anh có thể tư vấn cho em chút được ko ạ
Máy này chỉ có RAM 512 CPU 3Ghz bình thường thôi ạ. Dùng để giám sát những kết nối trong mạng

set daemon 120 # Poll at 2-minute intervals
set logfile syslog facility log_daemon
set alert xxx@yyy.com.vn">xxxx@yyy.com.vn
set httpd port 2812 and use address localhost
allow localhost # Allow localhost to connect
allow 10.252.10.0/255.255.255.0
allow adminsmiliexxx # Allow Basic Auth

check system localhost.localdomain
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert

check process apache
with pidfile /var/run/httpd.pid
start program = "/etc/rc.d/init.d/httpd start"
stop program = "/etc/rc.d/init.d/httpd stop"
if 5 restarts within 5 cycles then timeout
if totalmem > 100 Mb then alert
if children > 255 for 3 cycles then stop
if cpu usage > 95% for 3 cycles then restart
if failed port 80 protocol http then start

check host tomcat with address 127.0.0.1
if failed port 8080 protocol http
then exec "/etc/init.d/tomcat4 start"

check process postgresql
with pidfile /var/run/postmaster.5432.pid
start program = "/etc/rc.d/init.d/postgresql start"
stop program = "/etc/rc.d/init.d/postgresql stop"
if 5 restarts within 5 cycles then timeout
if failed port 5432 then start
check process opennms
with pidfile /var/run/opennms.pid
start program = "/etc/rc.d/init.d/opennms start"
stop program = "/etc/rc.d/init.d/opennms stop"
if 5 restarts within 5 cycles then timeout
if changed pid then start

check process ssh
with pidfile /var/run/sshd.pid
start program = "/etc/rc.d/init.d/sshd start"
stop program = "/etc/rc.d/init.d/sshd stop"
if failed port 22 protocol ssh then start


set logfile /var/log/monit.log

[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 23/09/2007 02:55:15 (+0700) | #11 | 86353
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]
Server của bro phục vụ cho nhiều ứng dụng nhỉ smilie)

set httpd port 2812 and use address localhost  


Mặc định monit chạy trên cổng 2812 sao không set cổng khác !?

allow adminsmiliexxx # Allow Basic Auth  


Sao lấy admin để làm user đăng nhập, sao bro không dùng cuti, tisunrang

check process apache
with pidfile /var/run/httpd.pid
start program = "/etc/rc.d/init.d/httpd start"
stop program = "/etc/rc.d/init.d/httpd stop"
if 5 restarts within 5 cycles then timeout
if totalmem > 100 Mb then alert
if children > 255 for 3 cycles then stop
if cpu usage > 95% for 3 cycles then restart
if failed port 80 protocol http then start  


Sao bro không tạo thêm 1 group nào đó và thêm group này vào cho nó vậy bạn smilie)

Mình thêm vào như sau
group hvaonline
if failed host <IP> port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout 


Như vậy xem ra khá phù hợp smilie)
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 25/09/2007 04:24:08 (+0700) | #12 | 86701
[Avatar]
MrMe
Elite Member

[Minus]    0    [Plus]
Joined: 08/07/2006 13:01:01
Messages: 150
Offline
[Profile] [PM]

Golden Autumn wrote:
Server của bro phục vụ cho nhiều ứng dụng nhỉ smilie)

set httpd port 2812 and use address localhost  


Mặc định monit chạy trên cổng 2812 sao không set cổng khác !?

allow adminsmiliexxx # Allow Basic Auth  


Sao lấy admin để làm user đăng nhập, sao bro không dùng cuti, tisunrang

check process apache
with pidfile /var/run/httpd.pid
start program = "/etc/rc.d/init.d/httpd start"
stop program = "/etc/rc.d/init.d/httpd stop"
if 5 restarts within 5 cycles then timeout
if totalmem > 100 Mb then alert
if children > 255 for 3 cycles then stop
if cpu usage > 95% for 3 cycles then restart
if failed port 80 protocol http then start  


Sao bro không tạo thêm 1 group nào đó và thêm group này vào cho nó vậy bạn smilie)

Mình thêm vào như sau
group hvaonline
if failed host <IP> port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout 


Như vậy xem ra khá phù hợp smilie)  


Cảm ơn bác rất nhiều với những góp ý này.
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 10/10/2007 03:29:20 (+0700) | #13 | 89742
[Avatar]
lQ
Moderator

Joined: 29/03/2005 17:06:20
Messages: 494
Offline
[Profile] [PM]
lQ nhớ ko lầm thì chỉ có thể lựa chọn 1 trong 2 kiểu lưu logfile: syslog hoặc chỉ định tên file cụ thể.

set logfile /var/log/monit.log
set logfile syslog facility log_daemon
 
[Up] [Print Copy]
  [Question]   Re: Thắc mắc về monit package 10/10/2007 05:45:47 (+0700) | #14 | 89777
[Avatar]
MrMe
Elite Member

[Minus]    0    [Plus]
Joined: 08/07/2006 13:01:01
Messages: 150
Offline
[Profile] [PM]

set logfile syslog facility log_daemon
set logfile /var/log/monit.log

Em làm như vậy thì thấy nó log vào monit.log
Thanks 4 suppor t smilie)
[Up] [Print Copy]
  [Question]   Thắc mắc về monit package 09/06/2011 13:44:04 (+0700) | #15 | 239836
tuan_ryan
Member

[Minus]    0    [Plus]
Joined: 09/03/2011 12:46:14
Messages: 29
Offline
[Profile] [PM]
Mình mới cài đặt monit trên Debian và cấu hình tập tin /etc/monit/monitrc
Code:
set httpd port 2812
allow admin:mypassword


Chạy service monit thì log báo ra là : "monit daemon at 11111 awakened "
Nhưng từ trình duyệt mình truy cập cả bằng IP của server hoặc bằng domain qua port 2812 thì đều không được ?

Ngoài ra đã netstat -natp|grep 2812 thì không thấy dịch vụ nào listen port này.
Như vậy mình cấu hình có chỗ nào nhầm không, mong mọi người giúp mình với.
Xin chân thành cảm ơn.
Tuấn.
[Up] [Print Copy]
  [Question]   Thắc mắc về monit package 09/06/2011 14:14:34 (+0700) | #16 | 239839
tuan_ryan
Member

[Minus]    0    [Plus]
Joined: 09/03/2011 12:46:14
Messages: 29
Offline
[Profile] [PM]

tuan_ryan wrote:
Mình mới cài đặt monit trên Debian và cấu hình tập tin /etc/monit/monitrc
Code:
set httpd port 2812
allow admin:mypassword


Chạy service monit thì log báo ra là : "monit daemon at 11111 awakened "
Nhưng từ trình duyệt mình truy cập cả bằng IP của server hoặc bằng domain qua port 2812 thì đều không được ?

Ngoài ra đã netstat -natp|grep 2812 thì không thấy dịch vụ nào listen port này.
Như vậy mình cấu hình có chỗ nào nhầm không, mong mọi người giúp mình với.
Xin chân thành cảm ơn.
Tuấn. 


Mình đã giải quyết được vấn đề, do chưa kill triệt để process monit sau khi config.

Thân,
Tuấn.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|