<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>蓝色数据 &#187; msn</title>
	<atom:link href="http://bluedata.org/tag/msn/feed/" rel="self" type="application/rss+xml" />
	<link>http://bluedata.org</link>
	<description>奋斗是幸福的……</description>
	<lastBuildDate>Mon, 14 Sep 2009 01:53:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nagios 札记之四：扩展提示信息发送方式(smtp, msn, fetion)</title>
		<link>http://bluedata.org/2008/07/17/nagios-notification-type/</link>
		<comments>http://bluedata.org/2008/07/17/nagios-notification-type/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 03:00:20 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[fetion]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[飞信]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/?p=46</guid>
		<description><![CDATA[1. 使用 SMTP 发送邮件
objects/commands.cfg 中有邮件提醒命令的设置
如要通过 SMTP 发送邮件，可以使用 sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/
安装
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
tar zxvf sendEmail-v1.55.tar.gz
mv sendEmail-v1.55/sendEmail /usr/local/bin/
发送邮件的示例：
sendEmail -f nagios@test.com -t admin@test.com -s smtp.test.com -u "test" -xu nagios@test.com -xp password -m "test."
vi objects/commands.cfg
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为：

/usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu nagios@test.com -xp password

2. 发送 MSN 提醒
这里有个 perl 写的程序：
http://blog.chinaunix.net/u/24312/showart_1076329.html
yum install perl-XML-Simple
yum install perl-Hash-Merge
perl [...]]]></description>
			<content:encoded><![CDATA[<p>1. 使用 SMTP 发送邮件<br />
objects/commands.cfg 中有邮件提醒命令的设置<br />
如要通过 SMTP 发送邮件，可以使用 sendEmail:<br />
http://caspian.dotconf.net/menu/Software/SendEmail/</p>
<p>安装<br />
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz<br />
tar zxvf sendEmail-v1.55.tar.gz<br />
mv sendEmail-v1.55/sendEmail /usr/local/bin/</p>
<p>发送邮件的示例：<br />
sendEmail -f nagios@test.com -t admin@test.com -s smtp.test.com -u "test" -xu nagios@test.com -xp password -m "test."</p>
<p>vi objects/commands.cfg<br />
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为：<br />
<coolcode linenum="off"><br />
/usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu nagios@test.com -xp password<br />
</coolcode></p>
<p>2. 发送 MSN 提醒<br />
这里有个 perl 写的程序：<br />
http://blog.chinaunix.net/u/24312/showart_1076329.html</p>
<p>yum install perl-XML-Simple<br />
yum install perl-Hash-Merge<br />
perl -MCPAN -e 'install Net::MSN'<br />
cd msn<br />
修改一下 hello.pl 的 $handle 和 $password<br />
chmod +x hello.pl</p>
<p>把发送者和接收者互相加为好友，然后发个测试信息试试：<br />
./hello.pl admin@test.com hello</p>
<p>第一次运行时发现这样的错误提示：<br />
could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.5/XML/SAX<br />
在这里有相关说明：<br />
http://perl-xml.sourceforge.net/faq/#parserdetails.ini<br />
执行<br />
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"</p>
<p>mkdir /usr/local/nagios/lib<br />
mv lib /usr/local/nagios/lib/msn<br />
chown -R nagios:nagios /usr/local/nagios/lib</p>
<p>vi msn_send.pl<br />
#!/usr/bin/perl<br />
use lib "/usr/local/nagios/lib/msn";<br />
my $handle = 'nagios@live.cn';<br />
my $password = 'password';</p>
<p>chown nagios:nagios msn_send.pl<br />
chmod +x msn_send.pl<br />
mv msn_send.pl /usr/local/nagios/libexec/</p>
<p>添加 MSN 提醒执行的命令：<br />
vi /usr/local/nagios/etc/objects/commands.cfg<br />
<coolcode linenum="off"><br />
define command{<br />
        command_name    notify-host-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"`"<br />
        }</p>
<p>define command{<br />
        command_name    notify-service-by-msn<br />
        command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"`"<br />
        }<br />
</coolcode></p>
<p>使用中发现，需要回复了才能终止进程，不然 check 就无法继续，而且是所有其它 host 和 service 的 check 都无法继续了。<br />
作者说需要把接收报警的人加为好友，可是的确是加为好友了的。但据说是可以设置超时时间的。</p>
<p>如果有可以运行 PHP 的 Web 服务，用 PHP 发送 MSN 信息是个简单的办法：<br />
http://www.fanatic.net.nz/2005/02/15/send-a-message-using-php/</p>
<p>安装<br />
wget http://downloads.fanatic.net.nz/dev/php/sendMsg.zip<br />
unzip sendMsg.zip<br />
mv sendMsg /path/to/web/dir/msn</p>
<p>配置<br />
默认的验证提交方式需要 ssl 支持，用 curl 的（需要在编译 PHP 时加上 --with-curl ）：<br />
vi sendMsg.php<br />
require_once('msnpauth-1.1.3.php');</p>
<p>发送中文需要先用 iconv 将字符集转为 UTF-8:<br />
vi index.php<br />
$sendMsg->sendMessage(iconv("GBK", "UTF-8", $_POST['message']), 'Times New Roman', '008000');</p>
<p>同样需要把发送者和接收者互相加为好友。<br />
可以先打开 http://server/msn/index.php 测试一下能否发送。如果没有问题，可以写一个脚本来执行 MSN 信息发送命令：<br />
vi /usr/local/nagios/libexec/msn_send.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
wget -O - -q --post-data="sender=nagios@live.cn&#038;password=password&#038;recipient=$1&#038;message=$2" http://server/msn/index.php > /dev/null<br />
</coolcode></p>
<p>chmod +x /usr/local/nagios/libexec/msn_send.sh</p>
<p>再把前面设置的 MSN 提醒命令中的 msn_send.pl 改为 msn_send.sh 就可以使用了。</p>
<p>3. 发送 短信 提醒<br />
简单的，在 www.139.com 注册移动的邮箱，设置邮件短信提醒。这样就可以发送邮件的标题到注册的手机号码上。</p>
<p>还有利用飞信实现的：<br />
http://www.it-adv.net/<br />
依赖 glibc-2.4 。 CentOS4/RHEL4, Debian Etch 不能使用。</p>
<p>安装所依赖的库：<br />
tar zxvf lib.tar.gz<br />
mv lib /usr/local/lib/fetion<br />
echo "/usr/local/lib/fetion" > /etc/ld.so.conf.d/fetion-i386.conf<br />
ldconfig</p>
<p>再安装飞信的命令行客户端：<br />
tar zxvf fetion_linux_20080402.tar.gz -C /usr/local/bin/</p>
<p>vi /usr/local/bin/sms.sh<br />
<coolcode lang="cpp" linenum="off"><br />
#!/bin/sh<br />
/usr/local/bin/sms -f 159xxxxxxxx -p password -t $1 -m "$2"<br />
</coolcode></p>
<p>chmod +x /usr/local/bin/sms.sh</p>
<p>和添加 MSN 提醒命令一样添加短信提醒的命令就可以了。</p>
<p>Debian Etch 可以升级到 testing ， glibc 也就更新到 2.4 了。<br />
sed -e 's|etch|testing|g' /etc/apt/sources.list > /etc/apt/sources.list~<br />
mv /etc/apt/sources.list~ /etc/apt/sources.list<br />
apt-get update<br />
apt-get dist-upgrade</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/07/17/nagios-notification-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>给 QQ 和 MSN 添加中国心</title>
		<link>http://bluedata.org/2008/04/17/qq-msn-china-heart/</link>
		<comments>http://bluedata.org/2008/04/17/qq-msn-china-heart/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 06:07:33 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[qq]]></category>
		<category><![CDATA[中国心]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/qq-msn-china-heart/</guid>
		<description><![CDATA[QQ:
先把头像图片保存到本地

然后，
QQ 设置 -> 个人设置 -> 个人资料 -> 更改头像 -> 本地上传
选择 china.gif ，确定。
MSN:
工具 -> 选项 -> 个人信息
在 名称 前添加引号内的内容："(L)China "
]]></description>
			<content:encoded><![CDATA[<p>QQ:<br />
先把头像图片保存到本地<br />
<img src="http://bluedata.org/wp-content/uploads/2008/04/china.gif" width="120" height="120" alt="" title="" /><br />
然后，<br />
QQ 设置 -> 个人设置 -> 个人资料 -> 更改头像 -> 本地上传<br />
选择 china.gif ，确定。</p>
<p>MSN:<br />
工具 -> 选项 -> 个人信息<br />
在 名称 前添加引号内的内容："(L)China "</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2008/04/17/qq-msn-china-heart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
