BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 00:45

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 26 авг 2010, 17:53 
Не в сети
Аватара пользователя

Зарегистрирован: 18 июл 2010, 23:20
Сообщения: 60
Откуда: Шебекино
Карма: 36
Принцип работы:
Скприпт проверяет через "ping" "живость" указанных узлов, если узел(ы) лег(ли), отправляется SMS сообщение с уведомлением о том какие узлы лежат, если упавшие узлы поднимутся, отправляется еще одно сообщение с уведомлением о том какие узлы поднялись

Установка:
Подключаем сотовый телефон(правда не все телефоны способны отправлять SMS с компьютера)
устанавливается приложение scmxx, в Debian like есть в репозиториях можно установить через
Код:
apt-get install scmxx

Распаковываем скрипт в удобную Вам папку у меня например в "/root/scripts/smsalarm/"
Естественно нужно установить флаг исполнения на нем:
Код:
chmod +x /root/scripts/smsalarm/smsalarm

Правим скрипт: прописываем нужные нам узлы и номера телефонов заинтересованных людей
Добавляем в cron запуск скрипта(я установил каждые 3 минуты)
Код:
SHELL=/bin/bash
MAILTO=root
*/3 * * * * /root/scripts/smsalarm/smsalarm


Ждем печальных новостей...

_________________
http://sets88.com


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2010, 18:14 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Завтра же запробую, пока нереализую буду мучать!!!

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2010, 19:01 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Почему не использовать полноценную систему мониторинга?
http://habrahabr.ru/blogs/sysadm/96099/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2010, 20:41 
Не в сети
Аватара пользователя

Зарегистрирован: 18 июл 2010, 23:20
Сообщения: 60
Откуда: Шебекино
Карма: 36
Cromeshnic писал(а):
Почему не использовать полноценную систему мониторинга?
http://habrahabr.ru/blogs/sysadm/96099/

на сколько я понял он через календарь гугла отправляет, вот только что если канал упал, была идея сделать отправку СМС через sms.ru даже аккаунт зарегил, но потом подумал и решил что мобильник будет надежнее, хотя можно конечно переписать скрипт с хабра, под это дело, но честно говоря не был уверен что найду подобный скрипт, чем искать проще самому написать, зато если что нужно исправить я всегда могу это сделать сам

_________________
http://sets88.com


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2010, 07:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Sets А не могли бы сказать какой телефон и какой провод используете? чтоб неподбирать :)
как понял какой то сименс, какой ?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2010, 15:01 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
C35 наверное - он прост и незатейлив, хотя уже щас его и не найти :(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2010, 15:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
найти непроблема, главное чтоб работал :) ... у нас китайцы и не таким торгуют

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2010, 15:29 
Не в сети
Аватара пользователя

Зарегистрирован: 18 июл 2010, 23:20
Сообщения: 60
Откуда: Шебекино
Карма: 36
Я использую Sony Ericsson K310i, но так же пробовал K850i и Motorola RAZR V3, с ними проблем не было, в общем думаю соньки почти все будут работать, моторолу C350 не получилось настроить(перегружается при попытке отправить сообщение), самсунг какой то пробовал (слайдер) Д серии отказался работать (самсунги можно даже не пробовать думаю редкий самсунг заработает)
ps: сименсы не пробовал но думаю тоже должны работать, scmxx для сименсов написана

выбирал мобилу так: брал нетбук с линухом(можно лайв сиди использовать), ставил там scmxx создал шеловый скрипт со строкой:
Код:
scmxx --device=/dev/ttyACM0 --send --sms --direct --number=+79200000000 --text="text"

вместо +79200000000 использовал естественно номер своего мобильника
потом приходил на рынок по точкам где телефоны продают, подключал их поочереди и запускал скрипт, если сообщение пришло и телефон не стоит бешеных денег (я купил за 1100) стоит брать

_________________
http://sets88.com


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2010, 08:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
нашел w 710i .... получается что можно этот скриптик, верней эту прогу, прикрутить при алармах биллинга...чтоб не только на электронку но и на телефон.
Вопрос к разработчикам, как то можно вытянуть события алармов, как?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2010, 08:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
В 5.1 наверняка можно через ActiveMQ как-нибудь сконфигурить..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2010, 10:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
было бы хорошо если бы при происхождении аларма выполнялся какой то сторонний скрипт, здесь для посылки смс.
и не через activmq потому как ещё 5.0 стоит

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 сен 2010, 15:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Разработчики обратите внимание на тему !!!

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 сен 2010, 13:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
#!/bin/bash

# v2

# Переменные {{{

# Временные переменные.
declare -i i=0
declare -i j=0
declare s=""

# Отладка (битовое ИЛИ для включения нескольких сразу)
i=1
declare -r -i debug_input_parse=i && ((i<<=1))
declare -r -i debug_init_node_t=i && ((i<<=1))
declare -r -i debug_select_node=i && ((i<<=1))
declare -r -i debug_check_node=i  && ((i<<=1))
declare -r -i debug_all=-1
declare -r -i debug=0

# Для печати ошибок/предупреждений/инфо
declare -r PS_E="${0##*/}: Error"
declare -r PS_W="${0##*/}: Warning"
declare -r PS_I="${0##*/}: Info"

# Список телефонов
declare -r -a telephone=(
    01
    02
    03
)
# Для "текущих" значений в циклах
declare tel=""
declare msg=""

declare tmp_path="."
# Защита от опечаток (несколько слешей будем считать уже не опечаткой)
tmp_path="${tmp_path%/}"
declare -r tmp_path

# Переменные для вычисления "а не пора ли отправлять сообщение?"
declare -i cur_time=0
declare -i fail_time=0
declare -i delta_time=0

# Принцип хранения данных аналогичен (не совсем) такой структуре {{{
#
#   struct node_t {
#       int delay;              // задержка отправки сообщения
#       struct list_t list;     // список узлов для этой задержки
#   };
#
# (.list теперь не указатель, в отличие от первой версии). Как и в 1-ой
# версии, узлы, имеющие одинаковую задержку для отправки сообщений,
# содержаться в одном объекте типа 'struct node_t'.
#
# Как это все реализовано здесь:
#
# Все объекты последовательно записаны в массив
#
#   node_t__data[] (аналогия с памятью)
#
# и смещение до начала каждого объекта записано в массиве
#
#   node_t__off[] (аналогия с массивом указателей 'struct node_t **')
#
# Смещение элементов объекта (.delay и .list) от его начала записано в
# переменных
#
#   node_tDelay
#   node_tList
#
# В отличие от 1-ой версии, кроме другого принципа хранения данных, здесь уже
# объекты не имеют имен (т.е к ним можно обратиться только по индексу в
# массиве - аналогия с 'struct node_t *').
#
# Вот картинка
#
#                                     node_t__data[]
#                                 ------============
#       node_t__off[]                |  I          I
#       I===========I                |  I          I
#       I           I                |  I          I
#       I  ...      I                |  I          I
#       I-----------I                v  I          I
#       I смещение  I------------> -----I----------I------------ объект А
#       I объекта А I                   I          I | | node_tDelay
#       I-----------I                   I          I | v
#       I смещение  I------+            I----------I-|---
#       I объекта Б I      |            I задержка I | node_tList
#       I-----------I      |            I          I v
#       I           I      |            I----------I---
#       I           I      |            I список   I
#       I           I      |            I узлов    I
#       I           I      |            I ...      I
#       I           I      +-----> -----I----------I------------- объект Б
#       I           I      |            I ...      I
#
# (на самом деле, node_tDelay == 0, а не так, как нарисовано на картинке)
#
# }}}

# Смещения элементов структуры от начала самой структуры.
i=0
declare -r -i node_tDelay=$((i++))  # смещение элемента .delay (размер == 1)
declare -r -i node_tList=$((i++))   # смещение элемента .list (размер
                                    # неопределен)
declare -r -i minsize_node_t=$i     # минимальный размер правильного объекта
i=0

# Для "текущего" объекта в циклах
declare node_t=""           # имя (указатель) текущего объекта
declare -i sizeof_node_t=0  # размер текущего объекта.

declare -i node_t__delay=0      # значение элемента .delay текущего объекта

declare -i node_t__list_start=0 # индекс в node_t__data[], где начинается
                                # элемент .list текущего объекта

declare -i node_t__list_end=0   # индекс в node_t__data[], где кончается
                                # элемент .list текущего объекта (последний
                                # элемент .list-а находится по предыдущему
                                # индексу)

declare node=""                 # текущий элемент в .list

# Определения объектов.
### Редактируется пользователем (начало).
# Определения не соответствующие по форме (например, без использования
# '[node_tDelay]=..' и тд) могут обойти проверки на ошибки, поэтому лучше
# писать, как в примере -)

declare -a node_t_A=(
    [node_tDelay]='0'
    [node_tList]='A1' 'A2'
)
declare -a node_t_B=(
    [node_tDelay]='20'
    [node_tList]='B1' 'B2' 'B3'
)
# список всех объектов (объекты, не указанные здесь, игнорируются).
declare -a node_t__obj=(
    node_t_A
    node_t_B
)

### Редактируется пользователем (конец)

# Определения внутренней структуры хранения.
if declare -p node_t__off node_t__data >/dev/null 2>&1; then
    echo "${PS_E}: one of internal variable names - 'node_t__off' or 'node_t__data' - already used"
    exit -1
fi
# Все объекты записаны сюда последовательно.
declare node_t__data=( )
# Смещения в node_t__data[] до начала соответствующего объекта.
declare -i node_t__off=( 0 )


# }}}
# Инициализация внутренней структуры. {{{

# Копируем (а заодно проверяем) данные из объектов, определенных
# пользователем, в node_t__data[] и записываем соответствующие смещения в
# node_t__off[]. Скопированы будут только объекты, указанные в node_t__obj[].
# Последовательность объектов в node_t__data[] будет такая же, как в
# node_t__obj[]. После завершения копирования node_t__obj[] и все объекты,
# указанные в нем, будут удалены. Т.е далее получить доступ к объектам можно
# будет _только_ через node_t__off[] и node_t__data[].

# FIXME: check type of user-defined variables.
# '-r' flag will be detected during `unset`. '-a' flag is implicitly checked
# through number of elements in user-defined object. Probably, that's enough.
# FIXME: check content of user-defined objects (.delay is integer, .list
# containt only not empty elements).
# We really need this?

if [ "x${node_t__obj[*]}" == "x" ]; then
    echo "${PS_I}: Nothing to be done, no objects defined."
    exit 0
fi

i=0
for node_t in "${node_t__obj[@]}"; do
    if ! declare -p ${node_t} >/dev/null 2>&1; then
        echo "${PS_W}: object '$node_t' is not defined, skipped."
        continue
    fi
    eval "sizeof_node_t=\${#$node_t[*]}"
    if ((sizeof_node_t < minsize_node_t)); then
        echo "${PS_W}: size of element '$node_t' is lesser, than minimal, skipped."
        continue
    fi
    node_t__off[++i]=$((node_t__off[i] + sizeof_node_t))
    ((debug & debug_init_node_t)) \
        && echo "Init: object '$node_t', sizeof = '$sizeof_node_t'" \
        && echo "  offset = '${node_t__off[i]}', index = '$i'"
    eval "
        node_t__data=(
            \"\${node_t__data[@]}\"
            \"\${$node_t[@]}\"
        )
    "
    if ! unset $node_t; then
        echo "${PS_E}: can not unset variable '$node_t'"
        exit -1
    fi
done
((debug & debug_init_node_t)) \
    && echo "Init: completed, environment" \
    && declare -p node_t__off node_t__data \
    && (
        IFS=','
        declare -p "${node_t__obj[@]}" >/dev/null 2>&1 \
        || echo "${node_t__obj[*]} unset"
    )
if ! unset node_t__obj; then
    echo "${PS_E}: can not unset variable 'node_t__obj'"
    exit -1
fi

# }}}
# Функции {{{

func_check_node() {
    # Параметры:
    # 1 - node

    # Для отладки:
    read -p'->' -n1 -r rep
    return $rep

    /bin/ping -c 5 $1 > /dev/null 2> /dev/null
    return $?
}

func_send_msg() {
    # Параметры:
    # 1 - telephone
    # 2 - message

    # Для отладки:
    echo - $1 - $2
    return $?

    /usr/bin/scmxx --device=/dev/ttyACM0 --send --sms --direct --number=$1 --text="$2"
    return $?
}

# }}}

# Последний элемент в node_t__off[] - это смещение на начало пустой области в
# node_t__data[], поэтому его пропускаем.

for ((i = 0; i < (${#node_t__off[*]} - 1); i++)); do
    node_t__delay="${node_t__data[node_t__off[i] + node_tDelay]}";
    node_t__list_start=$((node_t__off[i] + node_tList));
    node_t__list_end=$((node_t__off[i + 1]));
    ((debug & debug_select_node)) \
        && echo "Select: object [$i] with offset '${node_t__off[i]}'" \
        && echo "  delay = '$node_t__delay', list_start = '$node_t__list_start', list_end = '$node_t__list_end'"
    for ((j = node_t__list_start; j < node_t__list_end; j++)); do
        node=${node_t__data[j]};
        node_file="$tmp_path/$node"
        ((debug & debug_select_node)) \
            && echo "  Select node from .list: '$node' with path '$node_file'"
        func_check_node "$node"
        ret=$?
        if ((ret)); then
            ((debug & debug_check_node)) \
                && echo "  Node '$node' down"

            cur_time="$(date +%s)"
            if [ -e "$node_file" ]; then
                # Узел уже "лежал" в предыдущую проверку.
                fail_time="$(<"$node_file")"
                delta_time=$((cur_time - fail_time))
                ((debug & debug_check_node)) \
                    && echo "    over $delta_time seconds ($cur_time, $fail_time)"

                if ((delta_time > node_t__delay)); then
                    # Сообщение об ошибке, только если узел лежит дольше, чем
                    # ему можно (элемент .delay). Время падения сбрасываем в
                    # текущее, чтобы сообщения не отправлялись каждую
                    # следующую проверку.
                    [ -z "$errors" ] \
                        && errors="Down: $node" \
                        || errors="$errors, $node"
                    echo "$cur_time" >"$node_file"
                    # Сохраняем _предыдущее_ время модификации, - чтобы потом
                    # определить было ли отправлено хотя бы одно сообщение.
                    touch -m --date="@$fail_time" "$node_file"
                    ((debug & debug_check_node)) \
                        && echo "  Timeout reached, mark as error: '$errors'" \
                        && echo "  New fail time: '$(<"$node_file")'" \
                        && echo "  Previous fail time: '$(stat -t -c "%Y" "$node_file")'"
                fi
            else
                # Узел упал в первый раз. Записываем время, чтобы дальше
                # считать сколько он уже лежит. Если задержка 0, отправляем
                # сообщение сразу.
                echo "$cur_time" >"$node_file"
                ((debug & debug_check_node)) \
                    && echo "    for the first time"
                if ((!node_t__delay)); then
                    [ -z "$errors" ] \
                        && errors="Down: $node" \
                        || errors="$errors, $node"
                    ((debug & debug_check_node)) \
                        && echo "  Report immediately, mark as error: '$errors'"
                fi
            fi
        else
            ((debug & debug_check_node)) \
                && echo "  Node '$node' up"
            if [ -e "$node_file" ]; then
                # fail_time - время отправки сообщения _перед_ предыдущим,
                # если оно было, либо время первого падения интерфейса.
                cur_time="$(date +%s)"
                fail_time="$(stat -t --format="%Y" "$node_file")"
                delta_time=$((cur_time - fail_time))
                ((debug & debug_check_node)) \
                    && echo "    but was down over $delta_time seconds"

                if ((delta_time > node_t__delay)); then
                    # Если разница между текущем временем и временем
                    # модификации больше допустимой, сообщения (хотя бы одно)
                    # отправлено было.
                    [ -z "$fixed" ] \
                        && fixed="Fixed: $node" \
                        || fixed="$fixed, $node"
                    ((debug & debug_check_node)) \
                        && echo "  Error message was sent, mark as fixed: '$fixed'"
                fi
            fi
            /bin/rm -f "$node_file"
        fi
    done
done

for msg in "$errors" "$fixed"; do
    [ -z "$msg" ] && continue
    for tel in "${telephone[@]}"; do
        func_send_msg "$tel" "$msg"
    done
done

exit 0


переделанный скрипт, но неработает....шелописатели, помогите поправить

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 сен 2010, 14:08 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
:shock:

Задержка отправки, смещения...
Следующим шагом будет поддержка зависимости объектов, чтобы не слать пачкой алерты падения свитчей, если упал вышестоящий?

Изображение

Я бы взял уже имеющуюся у провайдера систему мониторинга и написал плагин уже к ней (если стандартного нет).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 сен 2010, 14:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А разница в чем?? И если был изобретен велосипед...поделитесь ;)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 сен 2010, 14:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ну, одно дело, когда скрипт только реализует логику отправки СМС - работу с API телефона.
Другое, когда он же и пингует и таймауты считает и пр. Это уже система мониторинга должна делать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 сен 2010, 14:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Система мониторинга должна делать гораздо больше....ктото сам мне недавно клеву ссылочку на систему мониторинга кидал а этот скрипт лишь для удобства, чтоб не заваливать смс ками

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2010, 13:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
тыц
Может кому-то и понадобиться, буду писать модуля для системы мониторинга

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 12:52 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
Сюда бы еще и засунуть проверку кошек на температурку =)) в данный момент не особо актуально тк жара прошла! но летом это вытаскивало четко когда в помещении ташкент был =)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 13:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Это будет реализовано НО на питоне и будет прикручено к системе мониторинга zenoss, ну и ещё много вкусного....вся инфа будет по snmp собираться

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 13:49 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
да собственно нагружать систему оповещений все же не стоит! но собственно дело каждого! у меня лично на баше и все по SNMP опрос и информирование и хватает этого)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 13:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А можно скриптик? мож прикручу:)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 14:04 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
cisco_temp.sh
Код:
#!/bin/bash
#
# Cisco ME 6524 module 1 inlet temperature
#
IP=$1
PROTO="2c"
COMMUNITY=$2
OID="1.3.6.1.4.1.9.9.13.1.3.1.3.60011"
#OID="1.3.6.1.4.1.9.9.13.1.3.1.3.60019"
SNMP=`snmpget -v $PROTO -c $COMMUNITY $IP $OID | awk '{print $4}'

echo $SNMP 



Код:
#!/bin/bash

ECHO="/bin/echo"
TOUCH="/bin/touch"
SMSSEND="/usr/bin/smssend"
RM="/bin/rm"
GREP="/bin/grep"
DATE="/bin/date"

LOG="/var/log/gsm_logs/gXX220.log"
IP="XCXXX"
COMM="XXXXX"
ALARM="36"
ALARM1="38"
ALARM2="40"

TEMP=`/usr/local/sbin/cisco_temp.sh ${IP} ${COMM}`
${ECHO} `${DATE}`": GXX220 temp ${TEMP}" >> ${LOG}
                                                                     
if [ ${TEMP} -ge ${ALARM} ]
then
        if [ ! -e /tmp/temp_XX220 ]
       then
            ${TOUCH} /tmp/temp_XX220
             ${SMSSEND} 7910XXXXXX "XXX220 temperature alarm. temperature ${TEMP}"
             ${ECHO} `${DATE}`": XXX220 temperature alarm. temperature ${TEMP}. SMS send" >> ${LOG}
                exit
        fi
else
        if [ -e /tmp/temp_XX220 ]
        then
                ${RM} -f /tmp/temp_gor220 > /dev/null
                ${SMSSEND} 7910XXXXX "XXXX220 temperature ok. temperature ${TEMP}"
                ${ECHO} `${DATE}`": XXXX220 temperature ok. temperature ${TEMP}. SMS send" >> ${LOG}
        fi
fi


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 16:06 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
собсно температуру пожно получить так:
  • I/O Inlet
    Код:
    .1.3.6.1.4.1.9.9.13.1.3.1.3.1

    Изображение
  • I/O Outlet
    Код:
    .1.3.6.1.4.1.9.9.13.1.3.1.3.2

    Изображение
  • NPE Inlet
    Код:
    .1.3.6.1.4.1.9.9.13.1.3.1.3.3

    Изображение
  • NPE Outlet
    Код:
    .1.3.6.1.4.1.9.9.13.1.3.1.3.4

    Изображение
а дальше уже дело фантазии чего с ней делать - тут, для примера, показаны графики ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 16:17 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
да понятно! засунуть то ее можно куда угоднО!) но когда в серверной становится жарко то тут главное быстрее среагировать!) этим летом спасался этим скриптом ))) 24\7 не будешь же сидеть и в графики смотреть =))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 16:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
чета ты snark ога...нетуда привел графики :) как вариант скрипт можно рядышком засунуть...но...впринципе постараюсь воткнуть ;)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 17:24 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
вообщето, в первую очередь, я OID-ы привел, а графики - это пруф что это работало (щас той циски уже нету)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 17:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Оиды выискивать парой для цисок приходиться .... к сожалению :(
А тема развивается, может свою систему алармов замутить??? я начало положил :)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2010, 17:52 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
для кошки OID проще найти чем на длинк\зюхель!)
а система мониторинга примерная есть и дает свои результаты хорошие )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 сен 2010, 11:26 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
а что бы не заморачиваться с сотовыми есть такой хороший девайс как gsm модем =)
http://www.onegsm.ru/show_good.php?idtov=7031
по крайней мере у меня стоит уже второй год и не просит хлеба =)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.096s | 78 Queries | GZIP : On ]