Как контролировать смокинг через MIB

В настоящее время я пытаюсь написать программу для мониторинга смокинга. Из официальных документов я обнаружил, что MIB подходит для написания программ для его мониторинга. Я прочитал довольно много документов здесь http://docs.oracle.com/cd/E13203_01/tuxedo/tux90/rf5/rf5.htm. Хотя инструкций такого класса очень много, нет руководства, которое бы объясняло мне, как его использовать с самого начала. Я пытался искать на GitHub, но, к сожалению, нет никакого кода, касающегося смокинг MIB. У кого-нибудь есть хороший пример кода?

Большое спасибо.

3 ответа

Решение

Вот Shell-функция, которая читает время блока из Tuxedo:

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
}

Есть несколько примеров доступа к MIB с помощью Python 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

Пара замечаний:

  • вам понадобится TA_FLAGS, установленный на MIB_LOCAL, чтобы возвращать статистику (по умолчанию не выполняется)
  • вы можете использовать функцию tpadmcall() вместо вызова службы .TMIB. Эта функция намного легче в системе и не увеличивает статистику Tuxedo (количество обращений в службу поддержки). Основным ограничением tpadmcall является ограниченный размер ответа, поэтому вам нужно будет вызвать службу .TMIB для статистики сервера и очереди, если в вашем приложении их десятки.

Если примера кода недостаточно, вы можете проверить главу 6 книги « Модернизация приложений Oracle Tuxedo с помощью Python» .

У меня есть некоторый C-код для вызова.TMIB для мониторинга приложения Tuxedo здесь: https://github.com/TuxSQL/tuxmon Это должно помочь вам начать.

Другие вопросы по тегам