Задать вопрос
  • С диском проблема или же ложная тревога?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Offline_Uncorrectable могут возникать, например, при аварийном отключении питания, когда диск не успевает полностью записать секторы из кэша. Но могут и при реальном повреждении диска. Эти секторы, как и Current_Pending_Sectors, могут быть убраны из ошибок, если повторная запись в них будет успешной. Если же запись не удастся и второй раз, то будет попытка ремапа секторов в резервную зону (Reallocated_Event_Count) и, при удачном ремапе сектор отметится в Reallocated_Sector_Ct.
    Так что пока стоит просто проследить за поведением диска. Если счётчики расти не будут, то можно оставить всё как есть.
    Ответ написан
    1 комментарий
  • Как расшифровать oid полученные через snmpwalk?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно через MIB, можно использовать online-сервисы, например https://oidref.com
    Например
    snmpwalk -v 2c -c public corerouter.my.domain
    ...
    iso.3.6.1.2.1.1.1.0 = STRING: "RouterOS CRS309-1G-8S+"
    iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.14988.1
    ...

    Получим описание интересующего OID'а. Естественно, предварительно надо установить пакет со стандартными MIB'ами, в Ubuntu это snmp-mibs-downloader.
    snmptranslate -mALL -Td iso.3.6.1.2.1.1.1.0
    SNMPv2-MIB::sysDescr.0
    sysDescr OBJECT-TYPE
      -- FROM	SNMPv2-MIB, RFC1213-MIB
      -- TEXTUAL CONVENTION DisplayString
      SYNTAX	OCTET STRING (0..255) 
      DISPLAY-HINT	"255a"
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"A textual description of the entity.  This value should
                include the full name and version identification of
                the system's hardware type, software operating-system,
                and networking software."
    ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysDescr(1) 0 }

    snmptranslate -Td -mAll iso.3.6.1.2.1.1.2.0
    SNMPv2-MIB::sysObjectID.0
    sysObjectID OBJECT-TYPE
      -- FROM	SNMPv2-MIB, RFC1213-MIB
      SYNTAX	OBJECT IDENTIFIER
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"The vendor's authoritative identification of the
                network management subsystem contained in the entity.
                This value is allocated within the SMI enterprises
                subtree (1.3.6.1.4.1) and provides an easy and
                unambiguous means for determining `what kind of box' is
                being managed.  For example, if vendor `Flintstones,
                Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
                it could assign the identifier 1.3.6.1.4.1.424242.1.1
                to its `Fred Router'."
    ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) sysObjectID(2) 0 }

    Видим, что у микротика есть ещё свой enterprise-блок с кодом 14988, в котором находятся специфичные для него OID'ы. Если скачать MIB для микротика (в папку ~/.snmp/mibs), то в нём увидим строку
    mikrotik OBJECT IDENTIFIER ::= { enterprises 14988 }
    .
    Получим OID'ы микротика
    snmpwalk -v 2c -c public corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    iso.3.6.1.4.1.14988.1.1.3.100.1.2.17 = STRING: "cpu-temperature"
    iso.3.6.1.4.1.14988.1.1.3.100.1.3.17 = INTEGER: 22
    iso.3.6.1.4.1.14988.1.1.3.100.1.4.17 = INTEGER: 1
    ...

    snmptranslate -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.2.17
    MIKROTIK-MIB::mtxrGaugeName.17
    
    snmptranslate -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.3.17
    MIKROTIK-MIB::mtxrGaugeValue.17
    
    snmptranslate -Td -mAll iso.3.6.1.4.1.14988.1.1.3.100.1.4.17
    MIKROTIK-MIB::mtxrGaugeUnit.17
    mtxrGaugeUnit OBJECT-TYPE
      -- FROM	MIKROTIK-MIB
      SYNTAX	INTEGER {celsius(1), rpm(2), dV(3), dA(4), dW(5), status(6)} 
      MAX-ACCESS	read-only
      STATUS	current
      DESCRIPTION	"units"
    ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) mikrotik(14988) mikrotikExperimentalModule(1) mtXRouterOs(1) mtxrHealth(3) mtxrGaugeTable(100) mtxrGaugeTableEntry(1) mtxrGaugeUnit(4) 17 }

    Видим, что под OID'ом 1.3.6.1.4.1.14988.1.1.3.100.1.3.17 находится температура процессора (mtxrGaugeName = cpu-temperature) в градусах цельсия (mtxrGaugeUnit = 1) и сейчас она равна 22 градусам (mtxrGaugeValue = 22).

    P.S. И да, snmpwalk умеет подключать MIB'ы:
    snmpwalk -v 2c -c public -m MIB:ALL corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    MIKROTIK-MIB::mtxrGaugeName.17 = STRING: cpu-temperature
    MIKROTIK-MIB::mtxrGaugeValue.17 = INTEGER: 23
    MIKROTIK-MIB::mtxrGaugeUnit.17 = INTEGER: celsius(1)
    ...

    или с полными OID'ами:
    snmpwalk -v 2c -c public -m MIB:ALL -O f corerouter.my.domain 1.3.6.1.4.1.14988
    ...
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeName.17 = STRING: cpu-temperature
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeValue.17 = INTEGER: 22
    .iso.org.dod.internet.private.enterprises.mikrotik.mikrotikExperimentalModule.mtXRouterOs.mtxrHealth.mtxrGaugeTable.mtxrGaugeTableEntry.mtxrGaugeUnit.17 = INTEGER: celsius(1)
    ...
    Ответ написан
    2 комментария
  • Как изменить кодирование URL ссылок сайта?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    %B9 - это код символа № в кодировке Windows-1251.
    Похоже, что имена файлов на диске у вас сохранены именно в ней. Надо перекодировать имена в UTF-8.
    Ответ написан
    Комментировать
  • Какие нужны условия, чтобы выставить тип загрузки службы - BOOT?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Boot (0) и System (1) допустимы только для служб драйверов.
    SERVICE_BOOT_START - 0x00000000 - A device driver started by the system loader. This value is valid only for driver services.
    SERVICE_SYSTEM_START - 0x00000001 - A device driver started by the IoInitSystem function. This value is valid only for driver services.
    Ответ написан
    5 комментариев
  • Почему не отправляет формы в телеграм?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Кажинный раз одно и то же.
    Для начала выберем самый извращённый способ отправки HTTPs-запроса через fopen.
    Затем вместо нормальной обработки ошибки выведем одно слово Error.
    Ну и напоследок будем гадать что бы это слово могло за собой скрывать.

    Перепишите запрос на curl, включите вывод ошибок, выводите полностью пришедший от сервера ответ и не гадайте по одному слову.
    Ответ написан
    Комментировать
  • Ошибка в SQL запросе WHEN THEN как исправить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Судя по обрывкам кода, первый фрагмент выполняется в цикле.
    Тогда по тексту ошибки видно, что этот цикл ни разу не выполнялся и в переменных пустые строки.
    Ответ написан
  • Как реализовываются сессии?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Два базовых подхода - stateful и stateless.
    В первом случае на сервере хранится состояние сессии, а в обмене с клиентом передаётся только идентификатор этого состояния (та самая кука SESSIONID). Где именно хранится состояние - в отдельном файле, базе данных или отдельном сервисе - определяется архитектурой системы.
    Во втором случае состояние хранится в токене, например JWT. Этот токен формируется при аутентификации/авторизации пользователя, хранится на клиенте и передаётся при каждом запросе к серверу (либо в куках, либо в параметрах запроса). При распределённой системе сервер, выдающий токены может быть отделён от остальных а балансировщик может не беспокоиться, на какой именно сервер отправлять запрос.
    Ответ написан
    Комментировать
  • Нужен Код партнера* для битрикс 24 регистрации где взять?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Обратите внимание на поле Код партнера – это префикс, который будет подставляться в дальнейшем в символьный код, идентифицирующий ваши решения в нашем каталоге. Если взять в качестве примера решение по интеграции со Stripe (https://www.bitrix24.ru/apps/?app=integrations24ru...), то integrations24ru является как раз этим кодом партнера (разработчика решения), а stripe является кодом конкретного решения, который вы укажите в дальнейшем при заполнении формы регистрации решения.

    Поэтому желательно, чтобы код партнера был связан с названием вашей компании или продукта. Поменять его потом не получится, отнеситесь к его формированию вдумчиво и ответственно.
    Ответ написан
  • Как корректно настроить mikrotik, если он получает адрес по DHCP от роутера провайдера?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Надо настраивать на микротике DHCP Server и NAT из внутренней сети в интернет.
    https://mikrotiklab.ru/nastrojka/routera-mikrotik-...
    Ответ написан
    Комментировать
  • Вычисления datetime if()?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $now = new DateTimeImmutable();
    var_dump(new DateTimeImmutable('2024-05-20 12:45:53') < $now);
    // bool(true)
    Ответ написан
    1 комментарий
  • Как реализовать сужение\растяжение отрезка с двумя точками в JS CANVAS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Находите среднюю точку и начальное смещение
    Xc = (X1 + X2) / 2
    Yc = (Y1 + Y2) / 2
    dX = Xc - X1
    dY = Yc - Y1
    Затем просто домножаете смещение на коэффициент растяжения и прибавляете/вычитаете от центральной точки
    X1' = Xc - dX * k
    Y1' = Yc - dY * k
    X2' = Xc + dX * k
    Y2' = Yc + dY * k
    Коэффициент k = 1 соответствует начальному положению точек
    Ответ написан
    1 комментарий
  • Как отсортировать массив по значению?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • По какой формуле можно высчитать делитель, с нужным остатком от деления?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну, раз нет никаких дополнительных требований, то делитель равен самому числу, остаток 0.
    Ответ написан
    1 комментарий
  • Не понимаю в чем ошибка, можете помочь?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не обработан случай, когда в конце строки нет даты.
    Ответ написан
    4 комментария
  • Не получается отправить нужные данные по WebSocket?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    const resultToSend = { currentType: "PERMISSIONS_ADD", payload };
    const resultToModerator = { currentType: "PERMISSIONS_GET_ALL", ...resultToSend };

    При деструктуризации resultToSend свойство currentType будет заменено.
    Ответ написан
    Комментировать
  • Как это решается?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    6714f58fad5ea969021684.png
    Ответ написан
    Комментировать
  • Как уменьшить вес gif с помощью php?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    GIF использует lzw-сжатие без потерь. Уменьшить размер файла можно только убрав часть информации, то есть уменьшив разрешение изображения или количество цветов.
    Ответ написан
    1 комментарий
  • Bitrix – почтовые сообщения попадают в спам, некорректно настроена ptr-запись на домене отправителя?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Адрес возврата (заголовок Return-Path) не имеет никакого отношения к PTR-записи.
    PTR настраивается у провайдера, выдавшего вам IP-адрес и должен соответствовать имени, которым представляется ваш почтовый сервер.
    Но, вообще, сообщение крайне странное. Если вы правильно настроили отсылку через SMTP Яндекса, то такой ошибки быть не должно. Посмотрите на майл-тестере исходник письма и проверьте путь по заголовкам Received.
    Ответ написан
  • Как узнать ip-адрес роутера который работает в режиме точки доступа?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Посмотреть на DHCP сервере выданные IP-адреса.
    Ответ написан
    Комментировать
  • Почему методы массива могут принимать параметр колбек, а промис нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Либо
    Promise.all([4, 5, 6])
      .then(console.log)
      .catch(console.log);

    либо
    Promise.all([4, 5, 6])
      .then(data => console.log(data))
      .catch(err => console.log(err));
    Ответ написан
    Комментировать