免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3095 | 回复: 1
打印 上一主题 下一主题

【转载】第十章:配置Notification [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-12 09:18 |只看该作者 |倒序浏览

                [color="#0080ff"]目标:
[color="#0080ff"]Notification概要
[color="#0080ff"]配置Notification
[color="#0080ff"]NotifierMngr资源类型
[color="#0080ff"]配置Resourceowner属性
[color="#0080ff"]配置SNMP接受VCS的Trap

Notification概要
当VCS侦测到某一事件时,你可以通知:
1. 产生一个SNMP(V2) trap到指定的SNMP控制台
2. 发送一个e-mail信息到指定的接收者
VCS确保当VCS引擎正在运行时,没有事件信息会被丢失,即使notifier进程是停止的或者没有被启动。had进程贯穿在cluster通讯上来维护一个复制的消息队列
如果带有通告程序的服务组被配置作为一个资源在一个节点上故障时候,通告程序被failover到另一个cluster节点上。因为消息队列被保证在通过节点的时候是一致的和复制的。通告程序可以恢复消息传输从他failover停止的地方到一个新的节点。
消息被储存中队列中,直到以下条件中的一个符合要求时:
1. 通告程序发送一个确认给had,至少要有一个接收者收到此信息
2. 队列已满,队列是一个循环的-最后信息(oldest)被删除为了写入当前最新的(newest)信息
3. 在队列中的信息,如果通告程序不能传输到接收者,一小时后就被删除
[color="#ff0000"]注意:在通告程序连接到had上之前,信息被永久的储存在队列中直到最后两个条件中的一个符合要求。

消息严重级别
4种级别:
1. information :正常cluster活动,例如,资源被带起上线
2. warning :cluster或者是资源没有被预期到的修改,例如,资源在一个不知明的状况下
3. error:服务被中断,例如,一个服务组故障不能被 failover
4. severeError:潜在的数据崩溃,例如,
管理员可以配置通告给指定哪些接受者被发送信息基于消息严重级别上一个事件的完整列表相应的严重级别在附录中被提供。

[color="#000000"]配置Notification
当你可以手动的在VCS外,启动和停止notifier程序时,你可以做高可用的notifier组件通过放置守护进程在VCS控制下。
配置步骤如下:
1. 增加一个NotifierMngr的资源类型到cluster服务组上
2. 如果SMTP通告必须的:
   a. 修改NotifierMngr的资源类型上SmtpServer和SmtpRecipients属性
   b. 如果你想要得话,修改单个资源上的ResourceOwner属性
   c. 你也可以为每个服务组指定一个GroupOwner email地址
3. 如果SNMP通告必须的
   a. 修改Snmp的NotifierMngr的资源类型控制台属性
   b. 配置SNMP console来接受VCS trap
4. 修改任何一个NotifierMngr的资源类型可选属性
手动启动Notifier
为了测试Notification组件,你可以启动Notifier进程从命令行在cluster的系统上。注意当Notifier进程从命令行被启动的时候Notification不能被在VCS控制下
VCS Notification被配置通过启动notifier守护进程带上指定接受者和相应的严重级别例如:
[color="#0080ff"]notifier -t m=smtp.acme.com,e="admin@acem.com", l=Warning

NotifierMngr资源类型
notifier进程仅仅能够运行在一个cluster的系统上,从本地的had进程中。如果notifier故障,NotifierMngr agent探测故障并且迁移服务组
包括NotifierMngr资源到另一个系统上。
因为消息队列被复制遍及cluster,任何系统被指定为服务组有一个同样的队列。当NotifierMngr资源被带上线的时候,had发送排队消息给
notifier进程
添加NotifierMngr资源
你可以使用平常的方法添加到服务组中
1. 编辑main.cf文件和重启VCS
2. 使用GUI
3. hares命令
[color="#ff0000"]注意:在修改资源属性,确信资源离线并且被禁用它。notifier进程必须被停下并且重启使用新的参数为了使修改生效
以下是NotifierMngr一些可选属性
EngineListeningPort:14141
[color="#ff0000"]注意:这个属性对于3.5有,4.0没有这个属性
MessagesQueue:30
NotifierListeningPort:14144
SnmpConsole:完全有资格的SNMP console主机名和严重级别
[color="#ff0000"]注意:这是一个要求的属性,如果SMTP没有被指定
SnmpCommunity:public
SnmpTrapPort:162
SmtpFromPath:一个有效的电子邮件地址
SmtpReturnPath:一个有效的电子邮件地址
SmtpServerTimeout:10
SmtpServerVrfyOff:0

配置ResourceOwner属性
你可以设定ResourceOwner来定义对于一个资源的所有者。当属性被设定一个有效的电子邮件地址和通告被配置的时候,一个邮件消息被发送
到定义的接收者当这些资源中一个资源相关事件发生的时候:
ResourceStateUnknown
ResourceMonitorTimeout
ResourceNotGoingOffline
ResourceWentOnlineByItself
ResourceFaulted
除了发送一个电子邮件消息之外VCS同样在log文件中创建一项.例如:
2003 /12/03 11:22:45 vcs INFO v-16-1-10304 Resource file1 (Owner=klaude, Group testgroup) is offline on machine1
ResourceOwner能够被指定作为一个电子邮件ID(
klaude@domain.com
)或者一个用户帐号(klaude).如果一个用户帐号被指定,电子邮件地址
被建造作为
[email=login@smtp_machine,smtp_machine]login@smtp_machine,smtp_machine[/email]
被指定NotifierMngr资源的SmtpServer属性中
命令修改:
[color="#0099cc"]hares -modify res_name ResourceOwner klaude
配置GroupOwner属性
你可以设定GroupOwner来定义对于一个服务组的所有者。当属性被设定一个有效的电子邮件地址和通告被配置的时候,一个邮件消息被发送到
定义的接收者当这些组中一个组相关事件发生的时候:
Service group导致一个并发性扰乱
Service group有故障并且不能failover
Service group在线
Service group离线
Service group自动禁用
Service group重启
Service group被交换
Service group正在重启响应一个永久资源被带起上线
除了发送一个电子邮件消息之外VCS同样在log文件中创建一项.例如:
2003 /12/03 11:22:45 vcs INFO v-16-1-10304 Group SG1 (Owner=klaude, Group testgroup) is offline on system1
命令修改:
hares -modify grp_name GroupOwner klaude

配置SNMP Console来接受VCS软中断(Traps)
为了启用一个SNMP管理控制台来识别VCS traps,你必须载入VCS MIB到控制台。原本的MIB位于:/etc/VRTSvcs/snmp/vcs.mib
VCS SNMP配置文件:
/etc/VRTSvcs/snmp/vcs.mib
/etc/VRTSvcs/snmp/vcs_trapd
使用触发器(triggers)对于通告
VCS提供一个额外的办法对于通报系统管理的重要事件。当VCS探测到确定的事件时,你可以设定一个触发器来通报系统管理员或者执行其他的动作。你可以使用事件触发器替代或者和通告结合在一起。
触发器是可执行程序,批处理文件,或者perl脚本位于在$VCS_HOME/bin/Triggers。脚本名字必须是一个预定义事件类型由VCS支持的。
ResFault
ResNotOff
SysOffline
PostOffline
PostOnline
例如,ResNotOff触发器是一个perl脚本被命名为resnotoff位于$VCS_HOME/bin/Triggers
多数触发器被配置(以被启用)如果触发器程序存在;没有其他配置是需要或者可能。每个系统在cluster中必须有脚本在这个位置。
这些触发器应用到整个cluster。例如,ResFault应用到所有资源运行着在cluster上。
一些触发器被启用通过一个属性。例如:
1. PreOnline:如果PreOnline属性对于service group被设定为1,那么PreOnline触发器被运行作为online过程一部分,在service group被现
实的带起上线
2. ResStateChang:如果ResStateChang触发器属性被设定为1对于一个服务组,那么ResStateChang触发器对于这个服务组被启用。
在$VCS_HOME/bin/Triggers目录中这些触发器的类型同样有相应脚本存在。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14456/showart_1715111.html

论坛徽章:
0
2 [报告]
发表于 2009-06-10 09:29 |只看该作者
学习啊.Notification出问题,花了我好长一段时间.珍藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP