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 trước