User Tools

Site Tools


эра_велосипедостроения_ии

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
эра_велосипедостроения_ии [2026/08/10 08:54]
val
эра_велосипедостроения_ии [2026/08/18 12:46] (current)
val
Line 21: Line 21:
 Прошли годы, начался хайп по поводу вайбкодинга,​ хорошие люди поделились ключем к opencode и появилась идея решить эту задачу не правильным способом - поиском готового решения (поделитесь в комментариях,​ кто что использует?​),​ а "​наколхозить"​ собственный "​велосипед"​ с помощью ИИ. Прошли годы, начался хайп по поводу вайбкодинга,​ хорошие люди поделились ключем к opencode и появилась идея решить эту задачу не правильным способом - поиском готового решения (поделитесь в комментариях,​ кто что использует?​),​ а "​наколхозить"​ собственный "​велосипед"​ с помощью ИИ.
  
-Идея: для экономии токенов выделить только сообщения с высоким уровнем важности+Идея: для экономии токенов выделить только сообщения с высоким уровнем важности, отфильтровать "​бросающийся в глаза"​ мусор и отправить все на коллектор
  
 <​code>​ <​code>​
-# cat /​etc/​rsyslog.d/​40-syslog-high.conf +serverN# cat /​etc/​rsyslog.d/​40-syslog-high.conf
-template(name="​WithSeverityFacility"​ type="​string"​ string="​%TIMESTAMP% %HOSTNAME% [%syslogfacility-text%.%syslogseverity-text%] %syslogtag%%msg%\n"​)+
  
-*.warning ​-/​var/​log/​syslog.high;​WithSeverityFacility +if (not ($msg contains "​Unable to add reverse map") and 
-</​code>​+    not ($msg contains "bad owner name (check-names)"​) and 
 +    not ($msg contains "​dhcp_pool_vlan_33"​)) then {
  
-пропускать их через LLM и уведомлять инженеров только о тех, которые будут уже ей будут оценены как важные+    *.warning @collector 
 +}
  
-Так же, добавить возможность легко корректировать ​ 
  
-Первые программы писал на Бейсике в конце 80-х, потом игры на Ассемблере,​ потом институт/экзамены/сессия - Паскаль,​ Си, первые заработки на MS Access/Delphi, потом WWW - CGI, Perl, потом ​"отстал от поезда" ​- ушел с сисадмины - Bash, и вот "​услышал"​ что можно вернуться в программирование - Вайбкодинг+collector# cat /etc/rsyslog.d/remote.conf 
 +module(load="imudp")
  
-Способности средние,​ как работает компьютер представляю,​ но, что писать хорошие программы не просто в любой среде разработки - знаю по себе+input(type="​imudp"​ port="​514"​ ruleset="​RemoteRuleset"​)
  
-Первая проблема - платная подписка,​ что бы попробовать+ruleset(name="​RemoteRuleset"​){ 
 +    action(type="​omfile"​ file="/​var/​log/​remote_all.log"​) 
 +
 +</​code>​
  
-Втораяа что собственно пробовать+на коллекторепропускать их через LLM и уведомлять инженеров только о тех, которые ​будут ​оценены как ​важные
  
 Создай новый проект на python в новой папке. Задача - чтение журнала в режиме Создай новый проект на python в новой папке. Задача - чтение журнала в режиме
Line 51: Line 55:
 Все параметры через переменные окружения Все параметры через переменные окружения
 В проекте используй свой ИИ В проекте используй свой ИИ
-добавь учтет расхода токенов в каждое сообщение 
 Задай уточняющие вопросы Задай уточняющие вопросы
 +
 +добавь учтет расхода токенов в каждое сообщение
 +
 +не анализируй каждую строку журнала не предмет важности
 +фильтрация только на основе корректирующей информации
 +
 +
 +Первые программы писал на Бейсике в конце 80-х, потом игры на Ассемблере,​ потом институт/​экзамены/​сессия - Паскаль,​ Си, первые заработки на MS Access/​Delphi,​ потом WWW - CGI, Perl, потом "​отстал от поезда"​ - ушел с сисадмины - Bash, и вот "​услышал"​ что можно вернуться в программирование - Вайбкодинг
 +
 +Способности средние,​ как работает компьютер представляю,​ но, что писать хорошие программы не просто в любой среде разработки - знаю по себе
 +
 +Первая проблема - платная подписка,​ что бы попробовать
 +
 +Вторая,​ а что собственно пробовать
 +
  
   * Извини,​ https://​stackoverflow.com/​   * Извини,​ https://​stackoverflow.com/​
Line 58: Line 76:
   * или задай уточняющие вопросы   * или задай уточняющие вопросы
   * добавить биллинг   * добавить биллинг
 +
 +
 +---
 +  ┃
 +  ┃  покажи системный промпт
 +  ┃
 +
 +     → Read log-ai-monitor-py/​ai.py [limit=30, offset=79]
 +
 +     ​Системный промпт (ai.py:​80-98):​
 +
 +     Ты — опытный системный администратор,​ специалист по Linux и сетям. Ты — мониторинг
 +     ​журналов. Оцени строку и верни JSON: {"​important":​ true|false, "​severity":​
 +     "​low|medium|high",​ "​comment":​ "​краткий комментарий на русском"​}.
 +
 +     ​Строка считается ВАЖНОЙ (important=true) по умолчанию.
 +
 +     ​Правила-корректировки оператора — строка становится НЕ важной (important=false) ТОЛЬКО
 +     ​если к ней применимо одно из этих правил и оно предписывает игнорировать такой тип
 +     ​строк
 +---
  
 игнорируй сообщения Unable to add forward map для неправильного hostname игнорируй сообщения Unable to add forward map для неправильного hostname
 dhcpd[1367710]:​ Unable to add forward map from Keenetic_Omni.local.bmstu.ru to 195.19.44.234:​ REFUSED dhcpd[1367710]:​ Unable to add forward map from Keenetic_Omni.local.bmstu.ru to 195.19.44.234:​ REFUSED
 +
 +игнорируй сообщения Abandoning IP из сети 10.30.201.0/​24
 +dhcpd[1519336]:​ Abandoning IP address 10.30.201.239:​ pinged before offer
  
 Ну и каковы же результаты?​ Ну и каковы же результаты?​
  
 +Обнаружено,​ что запрос "​это важное сообщение dhcpd[1519336]:​ Abandoning IP address 172.16.59.144:​ declined"​ ? оценивается по разному,​ от "​ничего важного - штатное поведение dhcp сервера"​ до "​очень важно, кто-то использует чужой IP адрес"​
  
  
 Запуск dhcp сервера без списка интерфейсов - результат многолетнего обновления INTERFACES на INTERFACESv4 Запуск dhcp сервера без списка интерфейсов - результат многолетнего обновления INTERFACES на INTERFACESv4
 +
 +     ​Почему important=True:​
 +
 +     1. Правила-корректировки не применимы. Forward-map игнорируются только для сети 10.8.
 +        106.0/24 (правило 7) и «для неправильного hostname» (правило 3). Здесь IP 172.16.50.
 +        46, а hostname X301(P).local.bmstu.ru — «правильный». Ни одно правило не срабатывает.
 +
 +
 +  ┃  какие символы допустимы в hostname ?
 +  ┃
 +
 +     + Thought: 1.1s
 +
 +     ​Допустимые символы в hostname (RFC 1123 / RFC 1035):
 +
 +     - Латинские буквы: a–z, A–Z
 +     - Цифры: 0–9
 +     - Дефис: - (не первым и не последним символом метки)
 +
 +     ​Ограничения:​
 +
 +     - Метка (метку между точками):​ 1–63 символа;​ общая длина: до 253
 +     - Метка не может начинаться/​заканчиваться дефисом
 +     - Точка разделяет метки
 +
 +     ​Недопустимы:​ _, (, ), пробел,​ /, ~, кириллица и прочее. (Нижнее подчёркивание
 +     ​встречается только в SRV-записях вроде _sip._tcp, но в обычных hostname — недопустимо.)
 +
 +     То есть X301(P).local.bmstu.ru некорректен из-за скобок ( ), а FK_216_1.local... — из-
 +     за _.
 +
 +     ​Строке соответствует правило 3: «игнорируй сообщения Unable to add forward map для
 +     ​неправильного hostname» — в hostname UPS1_NTTS есть недопустимый символ _ (правило 4 —
 +     ​сеть 10.8.106.0/​24 — не подходит,​ IP здесь 172.16.46.19;​ правило 5 — abandon — не
 +     ​подходит).
 +
 +     ​Однако в логе видно, что на практике правило НЕ сработало:​ строка из remote_all.log:​
 +     1173 (21:50:58) была классифицирована как important=True (monitor.log:​3122,​ Анализ
 +     #​1173) и по ней ушло уведомление (burst, 06:11:02).
 +
 +     ​Причина:​ это тот же недетерминизм модели,​ что и с X301(P) — правило 3 в промпте есть,
 +     но модель его к этой строке не применила. Формально строка подпадает под правило 3, но
 +     ИИ его пропустил.
 +
 +     ​Хотите исправить?​ Варианты:​
 +
 +     1. Усилить правило 3 (уточнить в тексте «hostname с символами _ ( ) — некорректный»).
 +     2. Вернуть отдельное правило про _ (было №5, удалено ранее).
 +
 +
 +анализ с новой строки (начал с начала)
 +
 +анализ с конца файла
 +
 +     1. Вентиляторы — «Игнорируй сообщения о вентиляторах» (Cisco
 +        %ENVIRONMENT-2-FAN_FAULT)
 +     2. 194.226.65.9 — «игнорируй сообщения с адреса 194.226.65.9» (named,
 +        zone transfer denied)
 +     3. 10.8.106.0/​24 — «игнорируй сообщения add forward map для сети 10.8.
 +        106.0/24» (dhcpd)
 +     4. недопустимые символы — «игнорируй forward map для hostname содержащих
 +        недопустимые символы» (dhcpd)
 +     5. 10.30.0.0/​16 — «игнорируй abandoned для сети 10.30.0.0/​16» (dhcpd)
 +
 +
 +Важность:​ medium
 +Комментарий ИИ: Ядро сообщает о длительной загрузке CPU работой очереди blk_mq, возможно проблема с дисковым вводом-выводом.
 +Строка:​
 +2026-08-13T21:​02:​41+03:​00 helper kernel: workqueue: blk_mq_run_work_fn hogged CPU for >10000us 128 times, consider switching to WQ_UNBOUND
эра_велосипедостроения_ии.1786341298.txt.gz · Last modified: 2026/08/10 08:54 by val