Расскажу историю по мотивам утренней, как моя невнимательность и ошибки бесплатных Сhat... — 6 апреля 2026 г. в 18:30:02.053
Расскажу историю по мотивам утренней, как моя невнимательность и ошибки бесплатных СhatGPT и Qwen привели к тому, что я несколько часов ходил по кругу и не мог решить простейшую задачу. Думаю, это будет наглядным примером того, как не стоит сильно доверять ИИ даже в простых задачах. Как я уже писал, у меня была задача - собирать логи Mikrotik в Loki. Первое, что я сделал - задал вопрос на эту тему ChtaGPT, чтобы в целом понять структуру задачи. Он ответил вполне логично, что можно взять устаревший Promtail, или современный Alloy. И сразу предложил к нему конфигурацию. Я, уже наученный опытом использования конфигураций от ИИ, сразу же пошёл в документацию, чтобы самому собрать нужные параметры. Меня интересовали параметры для раздела loki.source.syslog. Я этот поисковой запрос вбил в Яндексе, в надежде сразу попасть в документацию, как это обычно бывает. И я действительно попал в документацию Grafana, только для продукта Agent, который был предшественником Alloy. У них одинаковая структура конфигурации, просто у Alloy намного больше параметров. Но визуально они не отличаются. Я собрал конфиг для syslog на основе этой документации. Запустил, всё работает. Оправляю логи с Mikrotik и получаю ошибку парсинга. Я опять пошел в ИИ и спросил его, в чём ошибка и как решить. Он логично отвечает, что Alloy ожидает RFC5424, а получает RFC3164-подобный формат от Микротика. И дальше он предлагает параметр, который решает эту проблему: syslog_format = "rfc3164" ❗️Но вставляет его не в тот раздел конфигурации. Я добавляю, запускаю, получаю ошибку конфигурации на параметр syslog_format, якобы его не существует. Пишу это в ИИ и он мне на голубом глазу отвечает: В Grafana Alloy нет параметра syslog_format (я привёл аналогию с другими инструментами — здесь это не работает). Возвращаюсь на вкладку документации для Agent, всё там проверяю и действительно не вижу этого параметра. Ну а дальше поехали всевозможные костыли, на которые я потратил кучу времени, но задачу таки решил через одно место. И уже позже, когда я разбирался с метками на основе syslog полей, я попадаю в документацию Alloy и с удивлением вижу там: The messages must be compliant with the RFC5424 syslog protocol or the RFC3164 BSD syslog protocol. Это было как гром среди ясного неба. Я не понимаю, чем я вообще занимался и какую задачу решал. Сравнил две вкладки с документацией Agent и Alloy. Они очень похожи, так как последний является продолжением первого, просто для него добавились дополнительные параметры. Сделать нужно было вот так: loki.source.syslog "syslog_in" { listener { address = "0.0.0.0:1514" protocol = "udp" syslog_format = "rfc3164" } forward_to = [loki.process.syslog_process.receiver] } А ИИ предложил так: loki.source.syslog "syslog_in" { listener { address = "0.0.0.0:1514" protocol = "udp" } syslog_format = "rfc3164" forward_to = [loki.process.syslog_process.receiver] } Поставил параметр не в ту секцию. Когда получил ошибку на syslog_format, с какого-то перепугу заявил, что его не существует. А я из-за невнимательности поверил и решил, что его действительно нет. Параллельно я этот же вопрос решал с Qwen и он тоже не дал рабочей конфигурации для Alloy. Такая вот для меня поучительная история получилась. Не знаю, как работают платные версии, но бесплатные явно путаются и в некоторых сферах работают плохо. Я так понял, что тут наложилось то, что был Promtail, Agent и теперь появился Alloy. Все 3 программы решают одинаковые задачи, существовали одновременно, конфигурации похожи, поэтому получается путаница. Проще было с самого начала сделать всё самому. Это бы заняло 10-15 минут. А в итоге несколько часов потратил. Правда, многому научился. И получил в итоге самый удобный вариант, о котором напишу в следующей заметке. ☝️ По сути тут ошибся я сам, с себя ответственности не снимаю. С ИИ какой спрос? Он постоянно ошибается. В итоге наложилось одно на другое. ИИ мог бы помочь мне, но сделал ещё хуже - пустил по ложному следу. #ai

