免费注册 查看新帖 |

Chinaunix

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

VCS 用户Agent开发简要指南 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-23 15:28 |只看该作者 |倒序浏览
最近需要开发自己的资源管理Agent,特将学习心得和大家分享
自定义agent开发步骤:
1.
生成类型定义文件:命名方式为resource_typeTypes.cf,例如:FileOnOffTestTypes.cf
type FileOnOffTest (
str PathName;
static str ArgList[] = { PathName };
)

2.
将配置文件放置到/etc/VRTSvcs/conf/config目录下;


3.
/opt/VRTSvcs/bin目录下根据资源名称建立同名文件夹:
# cd /opt/VRTSvcs/bin
# mkdir FileOnOffTest


4.
/opt/VRTSvcs/bin/FileOnOffTest目录下根据onlineofflinemonitor建立对应入口文件(适用于脚本)online文件中实现建立文件操作,在monitor中实现监控资源状态的操作,


5.
/opt/VRTSvcs/bin/FileOnOffTest目录建立Agent信息文件,命名方式为resource_type.xml。信息文件用于图形化管理界面显示Agent信息(非必须文件)


6.
使用脚本的话,使用VCS提供的Agent作为入口,命名方式为resource_typeAgent,在自己的Agent目录中建立一个连接到VCS提供的程序
cd /opt/VRTSvcs/bin/FileOnOffTest
ln -s /opt/VRTSvcs/bin/Script50Agent /opt/VRTSvcs/bin/FileOnOffTest/FileOnOffTestAgent
ll lrwxrwxrwx 1 root root 30 Oct 19 14:39 FileOnOffTestAgent -> /opt/VRTSvcs/bin/Script50Agent


接下来就是开发自己的online,offline和monitor脚本了

论坛徽章:
0
2 [报告]
发表于 2009-10-23 15:30 |只看该作者
online脚本:
# !/bin/sh

#记录资源名称
ResName=$1;shift;

#包含ag_i18n_inc.sh,其中含有宏
. ${VCS_HOME:-/opt/VRTSvcs}/bin/ag_i18n_inc.sh

#注册资源
VCSAG_SET_ENVS $ResName;
VCSAG_LOG_MSG "N" "online: ResName = $ResName" 1 "$ResName"

VCSAG_GET_ATTR_VALUE "PathName" -1 1 "$@";
PathName=${VCSAG_ATTR_VALUE};

VCSAG_LOG_MSG "N" "online: path = $PathName" 1 "$PathName"

#check if attribute provided
if [ -z "${PathName}" ]
then
   VCSAG_LOG_MSG "W" "The value for PathName is not specified" 1020
else
   #Create the file
   touch ${PathName}
fi

exit 0;

[ 本帖最后由 滑翔的蜗牛 于 2009-10-23 15:34 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-10-23 15:32 |只看该作者
monitor脚本
# !/bin/sh

#记录资源名称
ResName=$1;shift;

#包含ag_i18n_inc.sh,其中含有宏
. ${VCS_HOME:-/opt/VRTSvcs}/bin/ag_i18n_inc.sh

#注册资源
VCSAG_SET_ENVS $ResName;
VCSAG_LOG_MSG "N" "monitor: ResName = $ResName" 1 "$ResName"

VCSAG_GET_ATTR_VALUE "PathName" -1 1 "$@";
PathName=${VCSAG_ATTR_VALUE};

VCSAG_LOG_MSG "N" "monitor: path= $PathName" 1 "$PathName"

if test -f $PathName
then exit ${VCSAG_RES_ONLINE};
else exit ${VCSAG_RES_OFFLINE};
fi

[ 本帖最后由 滑翔的蜗牛 于 2009-10-23 15:34 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-10-23 15:33 |只看该作者
offline脚本
# !/bin/sh

#记录资源名称
ResName=$1;shift;

#包含ag_i18n_inc.sh,其中含有宏
. ${VCS_HOME:-/opt/VRTSvcs}/bin/ag_i18n_inc.sh

#注册资源
VCSAG_SET_ENVS $ResName;

VCSAG_LOG_MSG "N" "offline: ResName = $ResName" 1 "$ResName"

VCSAG_GET_ATTR_VALUE "PathName" -1 1 "$@";
PathName=${VCSAG_ATTR_VALUE};

VCSAG_LOG_MSG "N" "offline: path = $PathName" 1 "$PathName"

if [ -z ${PathName} ]
then
    VCSAG_LOG_MSG "W" "The value for PathName is not specified" 1020
else
    rm -f ${PathName}
fi

exit 0;

[ 本帖最后由 滑翔的蜗牛 于 2009-10-23 15:35 编辑 ]

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
5 [报告]
发表于 2009-10-23 15:47 |只看该作者


支持一下!

论坛徽章:
0
6 [报告]
发表于 2009-10-23 16:15 |只看该作者
这个东西 挺难弄的.搞过一次 费了劲了....

论坛徽章:
0
7 [报告]
发表于 2009-10-23 16:28 |只看该作者
原帖由 alex_linux 于 2009-10-23 16:15 发表
这个东西 挺难弄的.搞过一次 费了劲了....


就是,VCS Agent的开发指导写的模棱两可的,特别是在5.0上

现在开始实际的Agent要考虑的东西太多了

论坛徽章:
0
8 [报告]
发表于 2009-10-23 17:22 |只看该作者
lz写的agent是监控的什么应用呀,怎么没有看到如何启动应用的命令?

论坛徽章:
0
9 [报告]
发表于 2009-10-23 17:44 |只看该作者
原帖由 guitar2002 于 2009-10-23 17:22 发表
lz写的agent是监控的什么应用呀,怎么没有看到如何启动应用的命令?


这个是一个测试Agent,主要监控一个文件

online的时候建立一个文件

monitor监控这个,如果文件存在,就认为资源online,否则offline

offline的时候就删除此文件

VCS的Agent开发指南上也是拿这个作为例子,但是感觉上面说的不太清楚

论坛徽章:
0
10 [报告]
发表于 2009-10-24 21:26 |只看该作者
恩 前段时间看了一眼 这个 感觉吧 他这个Agent 跟一个C++的开发过程差不多 先自己定义好一个类,再来生成对象和函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP