存档

2010年7月 的存档

mail(exim4)发邮件没反应

2010年7月21日 eric 9 条评论

从新搭建的 Nagios 服务器,该监控的业务服务都添加了内存,磁盘I/O,nginx 连接的监控,今天测试了一下邮件报警,居然不报警,查看 nagios.log 日志 有这样的错误:

[1279598130] SERVICE NOTIFICATION: eric;fms;int_net;UNKNOWN;notify-service-by-email;ERROR: Description table : The requested table is empty or does not exist.
[1279598130] Warning: Attempting to execute the command “/usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: PROBLEM\n\nService: int_net\nHost: fms-server\nAddress: 219.232.237.166\nState: UNKNOWN\n\nDate/Time: Tue Jul 20 11:55:30 CST 2010\n\nAdditional Info:\n\nERROR: Description table : The requested table is empty or does not exist.” | /bin/mail -s “** PROBLEM Service Alert: fms-server/int_net is UNKNOWN **” eric@nginxs.com” resulted in a return code of 127. Make sure the script or binary you are trying to execute actually exists…

“Make sure the script or binary you are trying to execute actually exists…” 提示的 mail 命令不存在

nagios $> whereis mail

mail: /usr/bin/mail /etc/mail.rc /usr/share/man/man1/mail.1.gz

路径果然 不是 /bin/mail

分类: nagios 标签: , ,

check_snmp_int 错误No usable data on file

2010年7月20日 eric 11 条评论

昨天给nagios添加了check_snmp_int 插件,通过SNMP 来统计服务器的流量,今天来了打开nagios 发现了奇怪的问题,监控机器出现 eth0:UP No usable data on file (201 rows) :( 1 UP): UNKNOWN ,随后登录 nagios 服务器 检查日志有大量的错误:

[1279555311] SERVICE ALERT: web;int_net;UNKNOWN;SOFT;1;eth0:UP No usable data on file (201 rows) :( 1 UP): UNKNOWN
[1279555371] SERVICE ALERT: web;int_net;OK;SOFT;2;eth0:UP (2.0Kbps/1.1Kbps):1 UP: OK
[1279555551] SERVICE ALERT: web;int_net;UNKNOWN;SOFT;1;eth0:UP No usable data on file (201 rows) :( 1 UP): UNKNOWN
[1279555611] SERVICE ALERT: web;int_net;OK;SOFT;2;eth0:UP (2.0Kbps/1.0Kbps):1 UP: OK
[1279555791] SERVICE ALERT: web;int_net;UNKNOWN;SOFT;1;eth0:UP No usable data on file (201 rows) :( 1 UP): UNKNOWN

在 google 上搜索了一下,几乎没有解决问题的文章。为什么会有这个问题呢?错误提示没有数据在 201行位置。打开 /tmp/tmp_Nagios_int.xx.xxx.xxx.eth0 临时文件没有 201行数据。那他为什么会读取 201行呢?因为插件check_snmp_int是用perl 写的,可以用Vi 打开看,用vim 打开插件明明定义的最多保持 200行数据。
看到这两行
my $o_base_dir=”/tmp/tmp_Nagios_int.”;
my $file_history=200; # number of data to keep in files.

分类: nagios 标签: , ,

nginx模块referer_module防盗链

2010年7月15日 eric 13 条评论

你的站点是不是图片、视频比较多,本身流量就很大,再有大量的盗链,很容易就把服务器击垮的,所以web站点防盗链很重要的。nginx referer_module 模块可以简单来防止盗链。

模块说明:
This module makes it possible to block access to the site with the incorrect values of line “Referer” in the request header.

Keep in mind that it is easy to spoof this header; therefore, the purpose of using of this module consists not in 100% blocking of these requests, but in the blocking of the mass flow of requests, made from typical browsers. Also, consider that the typical browser does not always provide a “Referer” header, even for correct requests.

Example

location /photos/ {
valid_referers none blocked www.mydomain.com mydomain.com;

if ($invalid_referer) {
return 403;
}
}

分类: nginx 标签: ,

nginx的404错误empty_gif用法

2010年7月13日 eric 5 条评论

nginx 的 404 403 500 502 503 错误 使用 empty_gif 来隐藏

模块说明:
ngx_http_empty_gif_module 本模块在内存中常驻了一个 1×1 的透明 GIF 图像,可以被非常快速的调用。

示例:

location = /_.gif {
empty_gif;
}

可能你需要,发生 403 错误 404 错误 502 错误,不想让别人看到错误,你可以选择用别的页面或者一张图片来显示,在你编译nginx的时候如果你没关掉ngx_http_empty_gif_module 这个模块的话,完全可以使用empty_gif模块,因为他驻在了内存里,访问速度很快,就不需要你在磁盘上找个图片了~只是这个图片是透明的·呵呵但是你达到你不需要别人能看到你的错误了。

分类: nginx 标签: ,

python写的备份mysql自动上传ftp服务器

2010年7月1日 eric 78 条评论

这几天没有怎么去研究nginx,闲来无事,写了一个python脚本·写的有点乱,以后慢慢精简,慢慢进化.
功能:
备份 mysql 的数据库,备份到 /home/eric 目录下,保留5天的备份文件过期删除,自动上传到 ftp server 服务器。

分类: linux, mysql 标签: , ,