Zabbix, сбор данных о установленных картах dslam siemens hix5630

    Решил собрать данные о текущих версиях прошивок со своих DSLAM Siemens HIX5630.
    OID нашелся snmpwalk'ом достаточно быстро.

    .1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.12.xx
    где хх = 13 14 15 16 17 18 19 20 соответственно 1 2 3 4 7 8 9 10 платы IU (модемные или голосовые)
    а 21 и 22 платы CXU (процессорные).


    По этому oid выдается текущая прошивка на которой работает плата. Вывод show upgrade table дает не текущую загруженую прошивку а ту прошивку которая загрузится при перезагрузке платы.

    1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.13.хх этот oid отдает версию прошивки загруженную в плату, но не запущенную на ней. Для запуска платы на этой прошивке необходимо дать команду reset card <slot №>

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

    Можно пойти дальше написать скрипт которые автоматом делал ребут карты ночью в период минимальной активности абонента.

    Есть и другие oid например дающие только код прошивки.
    1.3.6.1.4.1.231.7.1.2.2.1.2.2.2.1.4.хх.1

    Создаем в забиксе новый итем например card1soft с OID .1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.12.13 и типом данных «символ».
    Подвешиваем на него триггер
    {{HOSTNAME}:card1soft.change(0)}#0 и называем его Смена прошивки 1 карты Подвесив действе на триггер/триггеры получаем уведомления об обновлении прошивок.

    Создаем в забиксе новый итем например card1softupg с OID .1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.13.13 и типом данных «символ».

    И пишем триггер который будет который будет проверять эти значения.
    А триггер я так и не смог сделть


    Далее при просмотре в Мониторинг/Последние данные выдаются обрезанные данные — 20 символов. Покопавшись в исходниках нашел где это режется.

    /public_html/include/items.inc.php строка 1381
    function format_lastvalue($db_item){
            if(isset($db_item["lastvalue"])){
                if($db_item["value_type"] == ITEM_VALUE_TYPE_FLOAT){
                    $lastvalue=convert_units($db_item["lastvalue"],$db_item["units"]);
                }
                else if($db_item["value_type"] == ITEM_VALUE_TYPE_UINT64){
                    $lastvalue=convert_units($db_item["lastvalue"],$db_item["units"]);
                }
                else if($db_item["value_type"] == ITEM_VALUE_TYPE_STR ||
                        $db_item["value_type"] == ITEM_VALUE_TYPE_TEXT ||
                        $db_item["value_type"] == ITEM_VALUE_TYPE_LOG){
                    $lastvalue=$db_item["lastvalue"];
                    if(strlen($lastvalue) > 20)
                        $lastvalue = substr($lastvalue,0,20)." ...";
                    $lastvalue = nbsp(htmlspecialchars($lastvalue));
                }
                else{
                    $lastvalue="Unknown value type";
                }
                if($db_item["valuemapid"] > 0);
                    $lastvalue = replace_value_by_map($lastvalue, $db_item["valuemapid"]);

            }
            else{
                $lastvalue = "-";
            }
        return $lastvalue;

    * This source code was highlighted with Source Code Highlighter.


    Как видим вывод рубится до 20 символов, мне необходимо было получать 30 символов
    Заменив 2 числа с 20 на 30 получили полный вывод версии прошивки.

                    if(strlen($lastvalue) > 30)
                        $lastvalue = substr($lastvalue,0,30)." ...";


    * This source code was highlighted with Source Code Highlighter.


    Вот еще полезные OID
    Особенно полезно наблюдать за температурами плат.
    1.3.6.1.2.1.47.1.1.1.1.11.хх серийный номер карты (символ)
    1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.14.хх температура карты (число)
    где хх = 13 14 15 16 17 18 19 20 соответственно 1 2 3 4 7 8 9 10 платы IU (модемные или голосовые)
    а 21 и 22 платы CXU (процессорные).

    1.3.6.1.4.1.231.7.1.2.2.1.1.1.1.1.5.хх тип карты (символ)
    где хх = 3 4 5 6 7 8 9 10 соответственно 1 2 3 4 7 8 9 10 платы IU (модемные или голосовые)
    а 11 и 12 платы CXU (процессорные).

    ЗЫ К сожалению не смог найти OID которые бы смог сообщать о состоянии вентиляторов. Какие из них работают, а какие вышли из строя. В консоли это проверить легко.

    UPD Постоянно меняю и дополняю содержимое. Просьба отнестись к возможным ошибкам с пониманием. Так сказать это горячий пирожок который я делаю сегодня.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое