Chủ Nhật, 24/03/2013 | 00:00 GMT+7

Cách thiết lập giám sát cho server của bạn


Bước 1 - Cài đặt một server giám sát

Quay một server CentOS 6.3 x64 sẽ được sử dụng để kết nối với tất cả các server khác của bạn.

Ví dụ của ta , IP của server giám sát này là 198.211.117.251. Tất cả các đoạn mã cấu hình trong tương lai sẽ tham chiếu đến IP này, vì vậy hãy đảm bảo thay đổi nó thành giá trị của bạn .

Bước 2 - Cài đặt các Gói trên Server để được Giám sát

  yum -y install net-snmp && chkconfig snmpd on && :> /etc/snmp/snmpd.conf  

Thêm các dòng sau vào /etc/snmp/snmpd.conf:

  com2sec mynetwork 198.211.117.251   DigitalOcean  group MyROGroup v1      mynetwork  view all   included .1  80  access MyROGroup ""      any       noauth    exact all    none  none  

Server khách hàng của ta là cloudmail.tk (198.211.107.218) và emailocean.tk (198.211.112.99).

Nếu bạn có luật firewall trên server của bạn , hãy đảm bảo cho phép kết nối UDP tới cổng 161 từ server giám sát của bạn và loại bỏ mọi người khác:

  iptables -I INPUT -s 198.211.117.251 -p udp --dport 161 -j ACCEPT  iptables -A INPUT -s 0/0 -p udp --dport 161 -j DROP  

Đến đây bạn có thể khởi động daemon SNMP trên tất cả các server của bạn mà bạn muốn theo dõi:

  service snmpd start  

Bước 3 - Cấu hình server giám sát

  yum -y install net-snmp-utils rrdtool httpd && chkconfig httpd on  

Tạo file database RRD cho mỗi client . Bạn chỉ cần chạy điều này một lần:

  rrdtool create /root/cloudmail.tk.rrd -s 60 DS:in:COUNTER:300:U:U DS:out:COUNTER:300:U:U RRA:AVERAGE:0.5:1:10080  rrdtool create /root/emailocean.tk.rrd -s 60 DS:in:COUNTER:300:U:U DS:out:COUNTER:300:U:U RRA:AVERAGE:0.5:1:10080  

Tạo một tập lệnh sẽ cập nhật các biểu đồ của bạn. Bộ lệnh đầu tiên tạo và cập nhật file dữ liệu, trong khi lệnh thứ hai vẽ dữ liệu này thành file PNG sẽ được lưu vào đường dẫn DocumentRoot của Apache.

Lưu file này dưới dạng /root/rrdupdate.sh đảm bảo bạn không có bất kỳ khoảng trắng nào sau '\' vì đây là một dòng duy nhất được chia thành nhiều:

  #!/bin/bash  rrdupdate /root/cloudmail.tk.rrd N:`snmpget -v 1 -c DigitalOcean -Oqv 198.211.107.218 \  IF-MIB::ifInOctets.1`:`snmpget -v 1 -c DigitalOcean -Oqv 198.211.107.218 IF-MIB::ifOutOctets.1`    rrdtool graph /var/www/html/cloudmail.tk.png \  -a PNG -h 125 -s -43200 --title "cloudmail.tk (198.211.107.218)" \  -v "Data Throughput" \  'DEF:in=/root/cloudmail.tk.rrd:in:AVERAGE' \  'DEF:out=/root/cloudmail.tk.rrd:out:AVERAGE' \  'CDEF:kbin=in,1024,/' \  'CDEF:kbout=out,1024,/' \  'AREA:in#00FF00:Bandwidth In' \  'LINE1:out#0000FF:Bandwidth Out\j' \  'GPRINT:kbin:LAST:Last Bandwidth In\:    %3.2lf KBps' \  'GPRINT:kbout:LAST:Last Bandwidth Out\:   %3.2lf KBps\j' \  'GPRINT:kbin:AVERAGE:Average Bandwidth In\: %3.2lf KBps' \  'GPRINT:kbout:AVERAGE:Average Bandwidth Out\:%3.2lf KBps\j'    rrdupdate /root/emailocean.tk.rrd N:`snmpget -v 1 -c DigitalOcean -Oqv 198.211.112.99 \  IF-MIB::ifInOctets.1`:`snmpget -v 1 -c DigitalOcean -Oqv 198.211.112.99 IF-MIB::ifOutOctets.1`    rrdtool graph /var/www/html/emailocean.tk.png \  -a PNG -h 125 -s -43200 --title "emailocean.tk (198.211.112.99)" \  -v "Data Throughput" \  'DEF:in=/root/emailocean.tk.rrd:in:AVERAGE' \  'DEF:out=/root/emailocean.tk.rrd:out:AVERAGE' \  'CDEF:kbin=in,1024,/' \  'CDEF:kbout=out,1024,/' \  'AREA:in#00FF00:Bandwidth In' \  'LINE1:out#0000FF:Bandwidth Out\j' \  'GPRINT:kbin:LAST:Last Bandwidth In\:    %3.2lf KBps' \  'GPRINT:kbout:LAST:Last Bandwidth Out\:   %3.2lf KBps\j' \  'GPRINT:kbin:AVERAGE:Average Bandwidth In\: %3.2lf KBps' \  'GPRINT:kbout:AVERAGE:Average Bandwidth Out\:%3.2lf KBps\j'  

Chạy tập lệnh của bạn đảm bảo không có lỗi và các biểu đồ được tạo:

  bash /root/rrdupdate.sh  ls -lah /var/www/html/*.png  

Bây giờ chỉ cần thêm một mục nhập crontab sẽ cập nhật biểu đồ sau mỗi 5 phút và khởi động Apache

  echo "*/5 * * * * bash /root/rrdupdate.sh" > /var/spool/cron/root  service httpd start  

Bạn có thể đưa các biểu đồ đó vào trang web của riêng mình hoặc thêm /var/www/html/index.html mới

Cho phép dữ liệu được điền trong một vài giờ và chuyển đến địa chỉ IP của server giám sát của bạn:

Và bạn đã hoàn tất!

Bởi Bulat Khamitov

Tags:

Các tin liên quan