Cacti数据采集周期修改为一分钟一次的方法

Cacti Logo

Cacti 默认的数据采集周期是5分钟一次,这对于监控业务繁忙的系统来说似乎过于漫长了,一些突发状况很难在第一时间发现,所以我们需要缩短这个周期。

首先,先登录 Cacti,进入 console > Settings > Poller 界面,将 Poller Interval Cron Interval 均改为 “Every Minute” 选项,然后点击 Save 按钮保存。

然后,进入 Linux,修改 crontab 中的数据采集脚本运行周期为*/1 * * * *,例如:

*/1 * * * * /usr/local/php/bin/php /htdocs/cacti/poller.php > /dev/null 2>&1

最后,回到 Cacti,进入 console > Data Templates 界面,修改所用到的数据模板,将 Step 设为60,这里的单位是秒。

完成上述三个步骤后,还需要我们手工清理历史数据后 Cacti 才能正常采集数据和显示图表。

进入 console > System Utilities 界面,点击 “Rebuild Poller Cache”

至此我们已经成功将 Cacti 的数据采集周期由5分钟一次修改为1分钟一次了。

如果不能正常显图表,可尝试手工清除 cacti/rra 目录下的 rrd 文件。

转载请注明:阳光部落原创,更多内容请访问http://www.sunbloger.com/

使用Cacti监控Linux服务器网卡流量的配置方法

Cacti Logo

Cacti 是一套基于PHP、MySQL、SNMP和RRDTool开发的网络流量监测图形分析工具。

若希望使用 Cacti 监控 Linux 服务器的网卡流量,需要在被监控的 Linux 服务器上安装 net-snmp-utils 相关软件包,我们可以通过 yum 在线安装,例如:
yum install net-snmp-utils

安装好 net-snmp-utils 后,在被监控的服务器上编辑/etc/snmp/snmpd.conf文档
vi /etc/snmp/snmpd.conf
在其中添加下面这行命令
view systemview included .1.3.6.1.2.1.2

2013-03-27_01

保存并重新 snmpd 服务
service snmpd restart

然后,我们进入cacti,添加被监控的服务器

阅读全文

Memcached连接超时故障排除

在一次例行检查日志的时候,发现Nginx日志中出现了大量的PHP连接Memcached超时的报错信息,如下:

PHP Warning: Memcache::connect(): Can’t connect to 127.0.0.1:11211, Connection timed out (110) in …

连上服务器检查Memcached进程运行正常,然后我用一段测试代码检查Memcached是否能够正常连接,结果也很正常。

于是又仔细分析日志,发现那段报错信息是间隔出现的,说明是有一定几率的。这时我回想起上周因为架构问题刚刚把PHP的Session存储路径指向到了Memcached里,可能是因为这个配置增加了Memcached的负载,从而导致在并发量较高时,Memcached出现连接超时的现象。

找到原因就容易解决了。重新调整Memcached的启动参数,增加-c参数来提高连接数量。默认为1024,可以逐步增加以找到最佳数值。我设置为2048。

启动命令为:
memcached -d -m 256 -c 2048 -l 127.0.0.1 -p 11211 -u root

如果服务器充裕,可以考虑分布式的memcached集群,以降低单个节点上的压力。

转载请注明:阳光部落原创,更多内容请访问http://www.sunbloger.com/

Nginx图片防盗链设置方法

图片盗链行为对网站负载和带宽均会造成不同程度的影响和消耗,有必要对这种行为加以限制,Nginx的防盗链设置非常简单,设置方法如下。

打开nginx.conf,在需要启用防盗链机制的server{}中,加入下面的代码:

location ~ .*\.(bmp|gif|jpg|jpeg|png|swf)$ {
valid_referers none blocked *.youdomain.com youdomain.com;
if ($invalid_referer) {
return 403;
}
}

上面代码中的youdomain.com更换成你的域名即可。

在Godaddy购买VPS心得

由于无法继续忍受和千军万马共挤虚拟主机。近日,我为阳光部落(http://www.sunbloger.com/)从Godaddy(http://www.godaddy.com/)上购买了VPS主机,下面是我在购买和使用中的一些感受和心得。

在Godaddy主页的All Products菜单中,选择Hosting & Servers,再在弹出的菜单中选择VPS项目,就可以进入VPS主机的选购页面了,后面的购买和付款流程与买虚拟主机没有区别,就不详细说了。但需要注意的是机房会被默认到Godaddy新加坡数据中心,从这几年的经验来看,新加坡机房的效果不如美国本土好。

vps01

目前Godaddy的VPS提供三种操作系统供用户选择,分别是CentOS、Fedora和Windows,对于服务器来说,特别是打算用Linux作为服务器操作系统时,CentOS是最好的选择。

vps02

购买后的VPS需要在Godaddy上开通,在开通过程中需要提供一个账号和密码,用于通过SSH登录到服务器上。但Godaddy的VPS不支持直接root登录,需要以预先设置的账号登录后,再su切换到root。

我购买的CentOS系统的VPS十分精简,如果喜欢自己编译安装的方式去部署一些软件,经常会遇到提示缺少某某组件,直接通过yum安装所需组件即可。

在我安装并启动Nginx时,提示我80端口已被占用,用netstat –tulpn命令查询后发现VPS中已经安装有httpd,占用了80端口。停掉httpd,再次启动Nginx,一切正常了!

基于 RHEL 的 CentOS 6.4 发布

CentOS Logo

CentOS(Community ENTerprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。

CentOS 6.4 功能改进:

  • 支持Parallel NFS (pNFS)
  • 增强了Vmware和Hyper-V的虚拟机支持及性能
  • 增强了身份管理
  • 支持cgroups及PMU
  • 更多的新工具等

软件包的变化:

  • 增加了Haproxy
  • 引入Samba4作为技术预览
  • 增加了 Keepalived(无需在EPEL里找了)
  • SystemTap升级到1.8
  • 增加了lscpu和chcpu用于CPU操作
  • 增加了SciPy
  • 增加了libjpeg-turbo、redhat-lsb-core,并升级了createrepo等

官方网址:http://www.centos.org/

Nginx构建负载均衡集群的配置方法

假设我们有3台服务器,IP地址分别为:
192.168.0.1 / 192.168.0.2 / 192.168.0.3

我们将192.168.0.1作为前端主服务器,192.168.0.2和192.168.0.3作为负载均衡的后端服务器。

下面是192.168.0.1主服务器上Nginx的配置方法:
worker_processes 1;

events {
worker_connections 1024;
}

http {
upstream serverlist {
server 192.168.0.2:8000 weight=3 max_fails=3 fail_timeout=20s;
server 192.168.0.3:8000 weight=7 max_fails=3 fail_timeout=20s;
}

server {
listen 80;
server_name www.sunbloger.com;
location / {
proxy_pass         http://serverlist;
proxy_set_header   HOST             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
}
}
}

配置说明:
upstream serverlist{}可以理解为一个服务器池,通过proxy_pass http://serverlist命令,可将访问www.sunbloger.com的请求分配给位于池内的服务器192.168.0.2和192.168.0.3。
weight=3和weight=7为服务器的权重,权重越高,被分配到的请求就越多。
max_fails=3和fail_timeout=20s的含义是,当请求失败次数达到3次时,这个服务器将被暂时下线20秒。

技巧:主服务器可负责静态内容,将所有php的请求分配到后端服务器处理。

转载请注明:阳光部落原创,更多内容请访问http://www.sunbloger.com/