每天都要检查磁盘、磁带机、网卡等等的状态,可否用程序实现监控这些设备的状态以及更改情况??
居士 回复于:2004-06-07 13:06:18 |
搞编程的朋友们过来讨论一下啊
看有无好的办法 |
qingzhou 回复于:2004-06-07 15:12:33 |
这个要看具体硬件的关键程度。。。
如果一些比较严重的硬件故障(随时造成宕机危险),液晶面板会亮黄灯,同时会有出错代码显示; 如果不是很关键的硬件有小毛病,我们可以通过编程来截获系统的MSGQ,通过LOG LEVEL作为判断标准向用户报中断模式消息或者发送邮件等等。 |
居士 回复于:2004-06-08 09:30:43 |
xuguopeng的意思是想用程序来负责监控,就不用我们管理员参与了。
qingzhou说的通过监控安全级别90级以上的消息的方法是可行的。还有没有别的什么方法了? 大家讨论~~ |
xuguopeng 回复于:2004-06-08 09:46:03 |
我希望是写一个程序监控设备的状态(如果能提取CPU使用情况更好),如果有问题了就写到一个PF里去,并记录更改情况。如果每天都要QSYSOPR这个MSGQ里去找的话,天啊,眼都绿了~ |
qingzhou 回复于:2004-06-08 09:57:11 |
用程序去拦截安全级别较高的报警信息,没有说叫你去QSYSOPR人为的一个个找啊~~~
如果这样做法,那跟常规做法没什么区别,那就不叫“监控”了。。。 |
xuguopeng 回复于:2004-06-08 10:01:50 |
哦~ 那只能截取到报警信息,但是并不能区分是关于什么的报警信息 |
qingzhou 回复于:2004-06-08 10:09:29 |
要具体显示报警信息也可以的,比较麻烦些,当我们知道常见的一些故障显示哪条代码时,然后针对这个信息代码(CPA****)“翻译”成自己的语言,那就一目了然了。
比如:备份Library时的CLP [code:1:1362621101] PGM PARM(&MSG) DCL VAR(&MSG) TYPE(*CHAR) LEN(50) SAVLIB LIB(TEST) DEV(TAP01) ENDOPT(*UNLOAD) + DTACPR(*YES) MONMSG MSGID(CPF0000) EXEC(DO) CHGVAR VAR(&MSG) VALUE('ERROR OCCURED WHILE SAVLIB') ENDDO END: RETURN ENDPGM [/code:1:1362621101] 实现[系统自动监控]这块是比较有难度的事情,有时头都弄晕了。 |
xuguopeng 回复于:2004-06-08 10:38:13 |
这样的监控我知道,我的意思是说写个程序常拄在系统里面,按照你的思路可以监视QSYSOPR这个MSGQ,这样才能实时的监控啊 |
qingzhou 回复于:2004-06-08 10:45:54 |
把程序提交在QBATCH子系统下运行,可以实现对系统的自动监控。 |
qingzhou 回复于:2004-06-08 10:47:05 |
另外,OS/400系统提供了一个叫QWCRSSTS的API函数,该函数功能就可以提取用WRKSYSSTS命令看到的系统状态信息,还可以提取更多的用WRKSTSSTS命令看不到的一些其他系统信息。可以在RPG、C、CL等程序里调用该API以获取系统信息。该函数的详细使用说明可以参看《System&API&Reference》这本书。 |
qingzhou 回复于:2004-06-08 10:49:52 |
设计一个显示文件,把QWCRSSTS获取到的系统状态信息,比如系统ASP使用率、CPU使用率、系统出现Message进程数,都显示出来,我们就实现了一个系统状态信息的监视工具。 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/