目前我正在尝试编写一个程序来监控 Tuxedo。从官方文档中,我发现 MIB 适合编写程序来监控它。我在这里阅读了很多文档http://docs.oracle.com/cd/E13203_01/tuxedo/tux90/rf5/rf5.htm#998207。虽然有很多非常类的指令,但没有任何指南告诉我如何从一开始就使用它。我试图在 github 上搜索,但不幸的是没有任何与 tuxedo mib 相关的代码。有没有人有一些好的示例代码?
非常感谢。
目前我正在尝试编写一个程序来监控 Tuxedo。从官方文档中,我发现 MIB 适合编写程序来监控它。我在这里阅读了很多文档http://docs.oracle.com/cd/E13203_01/tuxedo/tux90/rf5/rf5.htm#998207。虽然有很多非常类的指令,但没有任何指南告诉我如何从一开始就使用它。我试图在 github 上搜索,但不幸的是没有任何与 tuxedo mib 相关的代码。有没有人有一些好的示例代码?
非常感谢。
这是一个从 Tuxedo 读取块时间的 Shell 函数:
get_blocktime() {
TmpErr=/tmp/ud32err_$$
rtc=0
ud32 -Ctpsysadm <<EOF 2>$TmpErr | grep TA_BLOCKTIME | cut -f2
SRVCNM .TMIB
TA_CLASS T_DOMAIN
TA_OPERATION GET
EOF
# ud32 has no good error-handling
if [ -s $TmpErr ]; then
echo "$PRG: Error calling ud32:"
cat $TmpErr 1>&2
rtc=1
fi
rm $TmpErr
exit $rtc
}
有几个使用 Python 访问 MIB 的示例https://github.com/PacktPublishing/Modernizing-Oracle-Tuxedo-Applications-with-Python/tree/main/Chapter06。例如:
import tuxedo as t
t.tpinit(cltname="tpsysop")
machine = t.tpadmcall(
{
"TA_CLASS": "T_MACHINE",
"TA_OPERATION": "GET",
"TA_FLAGS": t.MIB_LOCAL,
}
).data
几点注意事项:
如果代码示例还不够,您可以查看《用 Python 实现 Oracle Tuxedo 应用程序现代化》一书的第 6 章。
我有一些用于调用 .TMIB 来监控 Tuxedo 应用程序的 C 代码:https ://github.com/TuxSQL/tuxmon 这应该可以帮助您入门。