如何为您的液滴设置监控
来自菜鸟教程
第 1 步 - 设置监控服务器
启动一个 CentOS 6.3 x64 droplet,它将用于连接到所有其他服务器。
对于我们的例子,这个监控服务器的 IP 是 198.211.117.251。 未来的所有配置片段都将引用此 IP,因此请确保将其更改为您自己的值。
第 2 步 - 在要监控的主机上安装软件包
yum -y install net-snmp && chkconfig snmpd on && :> /etc/snmp/snmpd.conf
将以下行添加到 /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
我们的客户端服务器是 cloudmail.tk (198.211.107.218) 和 emailocean.tk (198.211.112.99)。
如果您的服务器上有防火墙规则,请确保允许从您的监控 droplet 到端口 161 的 UDP 连接,并删除其他所有人:
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
现在您可以在您希望监控的所有服务器上启动 SNMP 守护程序:
service snmpd start
第 3 步 - 配置监控服务器
yum -y install net-snmp-utils rrdtool httpd && chkconfig httpd on
为每个客户端创建 RRD 数据库文件。 你只需要运行一次:
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
创建一个可以更新图表的脚本。 第一组命令创建和更新数据文件,而第二组命令将此数据绘制成 PNG 文件,该文件将保存到 Apache 的 DocumentRoot 路径中。
将此文件另存为 /root/rrdupdate.sh 和 确保在 '\' 之后没有任何空格,因为这都是被分成的单行多:
#!/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'
运行您的脚本以确保没有错误并生成图表:
bash /root/rrdupdate.sh ls -lah /var/www/html/*.png
现在只需添加一个每 5 分钟更新一次图表的 crontab 条目,然后启动 Apache
echo "*/5 * * * * bash /root/rrdupdate.sh" > /var/spool/cron/root service httpd start
您可以将这些图表包含到您自己的网站中,或添加新的 /var/www/html/index.html
让数据填充几个小时,然后导航到监控 Droplet 的 IP 地址:
你们都完成了!