Автор Тема: Массовое обновление агентов HP OpenView Operations. Полезное.  (Прочитано 1930 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rjhdby

  • Постоялец
  • ***
  • Сообщений: 432
  • Рейтинг: 3
  • Пол: Мужской
    • rjhdby
    • Просмотр профиля
Более 300 агентов. Обновление долгое и не всегда успешное. Ближе к концу хочется видеть картину где и что творится.

sh, hp-ux, elm
#!/usr/bin/sh
#-- environment
FILE="/tmp/check_version.out"
FILE_GOOD="/tmp/check_version_good.out"
FILE_BAD="/tmp/check_version_bad.out"
TMP_FILE=${FILE}_${RANDOM}
MAIL_LIST="admin@domain.net"
OPC_DIR="/opt/OV/bin/OpC"
CURR_VER="08.60.501" # Версия, до которой обновляемся
C_BAD=0
C_GOOD=0
#-- main
>$FILE_GOOD
>$FILE_BAD
echo '<table border=1 width="100%">' > $FILE
for NODE in `/usr/bin/opcnode -list_nodes | awk '/Name/ {print ($3)}' | grep -v "^[0-9]\{1,3\}\." | grep -v "<\*>" | sort`
do
        SNODE=`echo $NODE | cut -f1 -d"."`
        echo "$SNODE \c" > $TMP_FILE
        $OPC_DIR/opcragt -agent_version $NODE|grep "HPOvEaAgt"|\
        sed 's/.*\([0-9][0-9]\.[0-9][0-9]\.[0-9][0-9][0-9]\)  pkg[ ]\(.*\)/\1 \2/ '     1>>$TMP_FILE 2>&1
        cat $TMP_FILE|grep -q "$CURR_VER"
        RESULT=$?
        if [ "$RESULT" = "1"  ]
        then
            cat $TMP_FILE | awk '{print "<tr><td>"$1"</td><td>"$3"</td><td>"$2"</td></tr>"}' >> $FILE_BAD
            C_BAD=`expr $C_BAD + 1`
        else
            cat $TMP_FILE | awk '{print "<tr bgcolor=green><td>"$1"</td><td>"$3"</td><td>"$2"</td></tr>"}' >> $FILE_GOOD
            C_GOOD=`expr $C_GOOD + 1`
        fi
done
echo '<tr bgcolor="#C0C0C0"><td>Summary</td><td>Wrong</td><td>Correct</td></tr>' >> $FILE
echo "<tr bgcolor=\"#C0C0C0\"><td>"`expr $C_BAD + $C_GOOD`"</td><td>$C_BAD</td><td>$C_GOOD</td></tr>" >> $FILE
echo '<tr bgcolor="#C0C0C0"><td> </td><td> </td><td> </td></tr>' >> $FILE
cat $FILE_BAD >> $FILE
cat $FILE_GOOD >> $FILE
echo "</table>" >> $FILE
echo "[include $FILE text/html base64]"|elm -s "Check_version report" $MAIL_LIST 1>/dev/null 2>&1
rm $TMP_FILE
А вот тут можно посмотреть картины моей супруги http://sevil.pro

Оффлайн rjhdby

  • Постоялец
  • ***
  • Сообщений: 432
  • Рейтинг: 3
  • Пол: Мужской
    • rjhdby
    • Просмотр профиля
Проверка соответствия доверенных сертификатов на нодах, реальному положению вещей.
#!/sbin/sh
CORE_CERTS=`ovcert -list|awk '/CA/ {print $2}'|sort -u|tr -s "\n" " "`
#opcragt $NODE -primmgr
NODES=`/usr/bin/opcnode -list_nodes | awk '/Name/ {print ($3)}' | grep -ve "^[0-9]\{1,3\}\." -e "<\*>" -e "altlive" -e "newhpito" -e "applive"`

for NODE in $NODES
do
CERTS=`ovdeploy -cmd "ovcert -list" -host $NODE |awk '/CA/ {print $2}'|sort -u|tr -s "\n" " "`
echo "\033[31m\c"
[ "$CERTS" = "$CORE_CERTS" ]&&echo "\033[36m\c"
echo $NODE"\033[0m"
done
Так-же можно сразу и исправить ситуацию, дописав следующее:
opcragt $NODE -primmgr
opcragt $NODE -set_config_var sec.cm.client:CERTIFICATE_SERVER=$CERTIFICATE_SERVER
opcragt $NODE -set_config_var sec.core.auth:MANAGER=$MANAGER_SERVER
opcragt $NODE -set_config_var sec.core.auth:MANAGER_ID=$MANAGER_CORE_ID

opcragt $NODE -stop
sleep 2
opcragt $NODE -start

ovdeploy -cmd "ovcert -updatetrusted" -host $NODE
opcragt $NODE -distrib -templates
$CERTIFICATE_SERVER, $MANAGER_SERVER, $MANAGER_CORE_ID - определяем заранее.
можно так
CERTIFICATE_SERVER=`hostname`
MANAGER_SERVER=$CERTIFICATE_SERVER
MANAGER_CORE_ID=`ovcert -list|grep -v "CA"|awk '/\*/ {print $2}'|sort -u`
А вот тут можно посмотреть картины моей супруги http://sevil.pro