ServerAdmin.ru
31.6K subscribers
843 photos
57 videos
23 files
2.99K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
​​После праздников надо потихоньку вкатываться в трудовые будни. Чтобы это было проще сделать, можно подключить AI, коих сейчас развелось много на любой вкус. Самый популярный - ChatGPT от OpenAI. Чтобы им пользоваться, нужен VPN и иностранный номер телефона для регистрации и получения токена. Либо какой-то местный сервис, который перепродаёт доступ к OpenAI и другим платным нейросетям.

Есть возможность развернуть открытую нейросеть Ollama с какой-то популярной моделью на своём железе. Решил попробовать эту тему, так как вообще никогда с этим не сталкивался. Было интересно посмотреть, как это работает.

Моделей для нейросетей существует много. Мне было интересно попробовать помощника по консольным командам Linux. Чтобы понять, какая модель лучше для этого подойдёт, посмотрел описание проекта ShellGPT. Он изначально заточен под работу с OpenAI, но как альтернативу даёт возможность использовать локальную Ollama с моделью Mistral. По их мнению она лучше всего подходит для консольных задач.

Разворачиваю Ollama c Mistral на Linux:

# curl https://ollama.ai/install.sh | sh
# ollama pull mistral:7b-instruct

Далее вы можете работать с ollama напрямую через консоль, задавая там вопросы:

# ollama run mistral

либо через API:

# curl -X POST http://localhost:11434/api/generate -d '{
"model": "mistral",
"prompt":"Here is a story about llamas eating grass"
}'

А можно сразу настроить shell-gpt. Устанавливаем его:

# apt install python3-pip
# pip3 install shell-gpt[litellm]


Задаём первый вопрос:

# sgpt --model ollama/mistral:7b-instruct "Who are you?"

Изначально shell-gpt заточен на работу с OpenAI, поэтому попросит ввести токен. Можно ввести любую строку, главное не оставлять её пустой. Получите ошибку. После этого открываете конфиг ~/.config/shell_gpt/.sgptrc и меняете некоторые параметры:

DEFAULT_MODEL=ollama/mistral:7b-instruct
OPENAI_USE_FUNCTIONS=false
USE_LITELLM=true

Остальное можно не трогать. Для комфортной работы с нейросетью требуется современная видеокарта. У меня такой нет, поэтому я тестировал работу на CPU. Для этого выделил отдельный старый компьютер на базе четырёхядерного Intel Core i5-2500K 3.30GHz. Сетка работает крайне медленно.

На вопрос:

# sgpt --model ollama/mistral:7b-instruct "Who are you?"

Она отвечала минут 40-50 и выдала такой ответ:

I'm ShellGPT, your Linux/Debian GNU/Linux 12 (Bookworm) programming and system administration assistant using a Bash shell. I'm here to help    
answer questions, provide guidance on commands, and assist with various tasks related to managing your Debian system. Let me know how I can be of 
service!

В таком режиме её использовать невозможно. Решил попробовать на другом компе, где есть хоть и старая, но видюха NVIDIA GeForce GTX 560 Ti с 2G ОЗУ. Но толку от неё не было, так как слишком старая, нет нужных инструкций. Тем не менее, там было больше оперативы, дела пошли пошустрее. Сетка на вопрос:

start nginx docker container

Ответила подробно и осмысленно минут за 15. Ответ не привожу, он очень длинный.

Решил пойти дальше и попробовать её на свободном стареньком серваке с двумя XEON E5 2643 V4. Дал виртуалке все 24 потока и 24G ОЗУ. Дело ещё бодрее пошло. Уже можно нормально пользоваться, практически в режиме реального времени стал отвечать. Время ответа напрямую зависит от длины текста запроса.

Вообще, раньше не думал, что со своими нейронками можно побаловаться на обычном железе. Причём она в целом нормально отвечала. На все мои простые вопросы по консольным командам ответила адекватно. Результаты были рабочими, хоть и не всегда оптимальными. Пример вопроса:

# sgpt -s "start nginx web server in docker"
```bash
sudo systemctl start docker
sudo docker pull nginx:latest
sudo docker run -d --name mynginx -p 80:80 nginx:latest
```

Если не хочется вспоминать команды и ходить в google, вполне рабочая альтернатива. Оставил на серваке Ollama, буду тестировать дальше.

#AI #chatgpt
👍123👎6
Сейчас хайпует тема с китайским ИИ - DeepSeek. Я тоже не удержался, начал использовать. Не нужна ни оплата, ни VPN, что удобно. В целом ничего особенного не увидел. По моим вопросам ChatGPT отвечал лучше.

Смысл хайпа по DeepSeek, как я понял в том, что он:

1️⃣ Open Source. Код открыт. Любой может развернуть и использовать по своему назначению, не отправляя свои вопросы во вне, не обучая чужие модели. Понятно, что большая модель требует очень много ресурсов и слово любой тут условно. Корпорации могут её забирать, использовать у себя, дорабатывать. Очень мощный удар под дых для коммерческих игроков рынка.

2️⃣ Работает быстрее на тех же мощностях, что конкуренты. Заявляют, что разница очень существенная. Не знаю, насколько это правда. Могут и лукавить. Сравнивать модели не такая простая задача. К тому же DeepSeek, насколько я понял, учился с использованием других ИИ, сравнивая свои ответы с ними. За счёт этого быстро развивался и требовал меньше ресурсов. В таком режиме удобно догонять, условно паразитируя на достижениях других, но трудно вырваться вперёд. Собственно, невозможно, не меняя подход.

DeepSeek уже сейчас без проблем можно установить на своё железо с помощью Ollama. Это бесплатная платформа для запуска различных моделей ИИ локально. Она уже поддерживает DeepSeek, так что установка очень простая:

# curl -fsSL https://ollama.com/install.sh | sh
# ollama pull deepseek-r1:1.5b
# ollama run deepseek-r1:1.5b

И можете в консоли с ней общаться или установить какой-то веб интерфейс для привычного чата. Например, Chatbox. Это запуск самой маленькой модели deepseek-r1 1.5b. Она весит 1,1GB на диске и может быть запущена даже на ноутбуках и домашних компах. Полный список моделей и их размеры смотрите на сайте ollama.

Я прочитал всю ветку комментариев на Reddit по этой теме, где люди запускали те или иные модели у себя на компах. Сразу могу сказать, что всё, что вы запустите на одной, даже самой мощной видеокарте, будет так себе по сравнению с доступными публичными моделями. Запустить дома можно модели вплоть до 32b. Дальше уже нужны кластеры видеокарт для нормальной работы.

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

Как вариант использования в личных целях может быть интеграция с сервисом заметок Blinko. Я про него писал. У него одна из фишек - интеграция с ИИ, в том числе запущенного на базе ollama. Возможно для поиска по своим заметкам будет достаточно и самой маленькой модели.

❗️В завершении скажу, что надо учиться работать в связке с ИИ. Я почти каждый день что-то спрашиваю у них по разным темам. Не могу сказать, что прям сильно помогает, но надо вырабатывать навык работы с ними. Уже явно видно, что за этим будущее. Важно только понимать, что они не заменяют людей, а повышают их продуктивность. Появление калькуляторов вместо счёт не заменило бухгалтеров. Их, возможно, даже больше стало. Но научиться пользоваться калькуляторами пришлось всем.

#AI
11👍193👎10
Парочка наглядных примеров вранья ИИ, в частности ChatGPT. Последнее время регулярно им пользуюсь, практически каждый день, для решения различных задач и поиска информации. Фактически он мне стал заменять поиск. Я не использую каких-то больших промтов для решения масштабных задач. Скорее использую его как базу данных и расширенный поиск. Соответственно и пишу туда примерно то же самое, что я бы спросил у поисковика. Результат получается лучше.

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

А как быть тем, кто только учится и использует в качестве помощника ИИ? По идее это делать нельзя, а в процессе обучения и наработки опыта вообще противопоказанно им пользоваться. Нужно всё перепроверять, а это потеря времени. А если ты не специалист, то узнаешь, что надо перепроверять только тогда, когда уже случится ошибка и тебе на неё кто-то укажет.

В примере с mount ошибка сразу видна, а вот в первом неочевидна, так как проверить её весьма затратно. И если перепроверять все результаты, которые выдал ИИ, то окажется, что самому составить список было бы быстрее. И такое случается нередко. Иногда ИИ ходит вокруг да около решения, предлагая тебе нерабочие варианты, а на отладку тратится времени больше, чем если бы ты сам его сделал с помощью подсказок со stackoverflow.

У меня отношение средненькое к современным ИИ. Зачастую не понимаю восторгов в их адрес. Да, пользоваться можно и нужно. Результат хороший в вопросах анализа и обобщения информации, клонировании контента в заданном стиле с заданными правками, создания изображений, инфографики. И очень посредственный в создании чего-то нового. Те же скрипты он пишет, но без отладки и исправления ошибок практически никогда не обходится. И это в довольно простых задачах, которые в общем-то можно сходу нагуглить. Более сложные не пытался решать, так как задач под это нет. Возможно у программистов другие выводы по этой теме.

#AI #chatgpt
👍142👎10
Существует удобный и функциональный инструмент для добавления интерактива в shell скрипты под названием Gum. Я посмотрел несколько примеров, в том числе на ютубе, как люди решают те или иные задачи с его помощью. Синтаксис очень простой, особо разбираться не надо. Можно сходу брать и писать скрипт.

Я для примера решил сделать поиск по директории с выводом топ 10 самых больших файлов, из которых можно какие-то выбрать и удалить. Сделал просто в лоб на bash – сформировал список, отправил его в gum и добавил действие для выбранных файлов:

#!/bin/bash

DIR="/tmp/backup"
files=$(find "$DIR" -type f -exec du -b {} + 2>/dev/null | sort -nr | head -n 10 | awk '{print $2}')
selected=$(echo "$files" | gum choose --no-limit)
delete=$(echo -e "$selected")

if [[ -z "$delete" ]]; then
echo "Ничего не выбрано."
exit 0
fi

gum confirm "Удалить выбранные файлы?" &&
echo "$delete" | xargs -d '\n' rm -f && echo "Выбранное удалено."


Понял, что всё получилось и решил как-то это усложнить и сделать более удобным. Дай, думаю, попрошу Chatgpt что-то написать. На самом деле не рассчитывал на успех, так как это не особо популярный инструмент. Откуда ему взять навык написания скриптов для gum? Вряд ли их много в интернете можно найти.

Отправил ему адрес репозитория и попросил сделать 2 списка: один с самыми большими файлами, второй – с самыми старыми. Причём вывести их вместе на один экран, в списках отобразить размер файлов и их даты.

Задача не сильно сложная, но немного муторная, так как списки надо правильно сформировать, объединить, пункты выбора насытить дополнительной информацией в виде размера файлов и даты. Потом всё это надо очистить, чтобы передать на удаление только имя файла. Чтобы самому это сделать, надо потратить какое-то время.

Chatgpt меня удивил, когда практически сразу же выдал рабочее решение. Там были ошибки по части bash. Нужно было что-то экранировать, а что-то получше очистить. А вот в части непосредственно Gum он на удивление сразу же всё корректно оформил в соответствии с его возможностями. Я думал, что-то выдумает от себя нерабочее, но нет.

В итоге минут за 15-20 со всеми тестами я получил рабочий вариант скрипта. Реально, был очень удивлён. Не так давно его мучал конфигурациями Nginx, по которым море примеров в сети, но так и не добился того, что хотел. А тут какой-то Gum и сразу всё заработало.

☝️ Какое в итоге резюме. Gum – прикольная штука, которую можно приспособить под какие-то свои задачи. Например, выбор подключений по SSH, работа с ветками GIT, работа со списками файлов и т.д. Тут уж каждому своё. А второй момент – используйте ИИ для своих задач. Где-то он мимо советует, а где-то сразу рабочий вариант даёт. Причём в таких небольших прикладных задачах он нормально работает. На bash пишет уверенно. Есть проблемы, но поправить после него намного проще, чем написать самому, вспомнив все возможности и ключи консольных утилит.

Итоговый скрипт

Использовать:

# ./cleanup-with-gum.sh /mnt/backup

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#bash #AI #script
👍112👎5
Короткая заметка-рекомендация для тех, кто ещё не слышал про сервис perplexity.ai. Я им уже некоторое время пользуюсь и могу порекомендовать. Это смесь классического поисковика с ИИ. Выдаёт на вопрос объединённый ответ с решением из нескольких источников, плюс ссылки на эти источники, куда можно сходить и самому всё посмотреть.

Впервые узнал о нём несколько месяцев назад, увидев в статистике посещаемости своего сайта переходы с этого ресурса. Их сейчас довольно много. То есть люди им активно пользуются.

Нечто похожее сейчас у Яндекса работает в самом верху выдачи, но у perplexity более удобный и наглядный вывод. Так что рекомендую, кто ещё не пробовал. Мне это нравится больше классических поисковиков типа Яндекса и Гугла. Работает без регистрации и VPN, денег не просит.

Если кто-то знает подобный, но более удобный и функциональный сервис, поделитесь информацией.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#AI
3👍178👎2
Последнее время редко захожу в блог Zabbix, так как не вижу интересных для меня статей. Там в основном какие-то общие слова и рекомендации публикуют, либо отчёты с мероприятий. Но одна запись привлекла моё внимание:

When Generative AI Meets Zabbix

В статье предлагают через вебхуки отправлять триггеры в ИИ, и взаимодействовать с мониторингом на человеческом языке, а не просмотром триггеров и графиков. То есть примерно так:

В три утра вы получаете критическое уведомление на свой телефон. Но вместо просмотра дашбордов и метрик, вы пишите вопрос: "Что случилось с продакшеном?"

- Сервер web-prod-01 съел всю память, а конкретно 94%. Начался дикий жор 15 минут назад вместе с всплеском трафика. Я рекомендую проверить пул подключений к базе данных и рассмотреть возможность перезапуска службы Apache. Хотите, я покажу вам соответствующие логи?

Как вам такая затравочка? Выглядит неплохо. В данном примере используется локальный сервер с бесплатным Gemini AI, который кушает триггеры Заббикса и логи с помощью Winston. Данные в Germini отправляет небольшой скрипт на Python, который использует формат MCP (Model Context Protocol).

Ещё пример из статьи. Меня постоянно спрашивают, как в Zabbix сделать какой-то сводный отчёт по состоянию хостов, чтобы утром на него смотреть:

- Доброе утро, что у нас с инфраструктурой?

- Доброе утро! Все спокойно. 14 активных хостов, 0 критических проблем. На выходных была запланирована перезагрузка сервера proxmox-desarrollo, которая завершилась успешно. Средняя загрузка процессора составляет 23%. Вам нужна подробная информация о какой-либо конкретной системе?

Выглядит всё это интересно. В статье приведены скрипты, с помощью которых реализовано взаимодействие мониторинга и ИИ. Как поднять свой сервер с Gemini тоже можно без проблем найти. То есть потестировать это всё у себя можно относительно просто.

Лично мне не показалось это прям реально полезным. Да, интересно. Возможно актуально для большой инфраструктуры, где всё не очень точно настроено и на инциденты могут валиться десятки и сотни триггеров. Тогда реально выручит вопрос к ИИ, что случилось и кто конкретно первым упал. У меня бывает в одном месте такой шторм на 200-300 триггеров утром, если на самом сервере мониторинга возникнут проблемы с сетью. Иногда это бывает, если хостера штормит. Там много внешних хостов с отправкой метрик через интернет. Но я по характеру триггеров и так понимаю, что проблемы на сервере.

Я сейчас как раз тестирую систему мониторинга, где есть встроенный ИИ-помощник. Надеюсь получится в какой-то более-менее реальной форме его потестировать. Будет скоро полноценная статья про эту систему мониторинга и не только.

Если уже внедряли связку мониторинга и ИИ, то поделитесь, насколько это удобно и полезно на практике. Сейчас на тему ИИ много хайпа и не везде он реально полезен и удобен.

#zabbix #AI
4👍98👎3
This media is not supported in your browser
VIEW IN TELEGRAM
Youtube показал в рекомендациях тематический шорт:

▶️ POV: You are a Sys Admin

Смотрю, много просмотров и лайков для нашей темы. Думаю, что-то интересное. Посмотрел раз, два, три. Потом включил перевод, посмотрел ещё пару раз и не понял. В чём тут юмор? Прочитал комментарии и всё равно не понял.

Решил спросить у ChatGPT. Как оказалось, видео с ютуба он смотреть не может. Пришлось скачать и загрузить ему в чат. На что он ответил, что видео видит, а звук не слышит. Загрузил ему субтитры на английском. И он мне всё объяснил.
------------------------------------------------------
◽️Сотрудник просит change request (официальное разрешение на изменения), чтобы поработать с серверами.
◽️Само по себе это звучит абсурдно, ведь change request обычно оформляют для изменения серверов, а не для того, чтобы только начать работать с ними.
◽️Он возмущается: «Что я, инженер первой линии (tier one)?» — намекая, что такие формальности и бюрократия свойственны для самых простых задач.
◽️Финал: «IT-менеджер бы меня убил» — подчеркивает, что без бумажки он вообще не имеет права ничего делать, иначе будут большие проблемы.

Юмор в том, что ролик высмеивает реальность работы системных администраторов: иногда вместо настоящей технической работы больше времени уходит на согласования, бюрократию и правила «чтобы никто не тронул сервер без бумажки».

Давай разберём по слоям, на чём держится шутка в этом видео:

🔹 1. Буквальный уровень
Фраза «i need a change request to work on these servers» звучит нелепо: админ вроде бы просто хочет поработать, но ему нужен специальный документ. Для несведущего зрителя это выглядит как чрезмерная бюрократия.

🔹 2. Ирония
Ирония в том, что админ должен запрашивать разрешение на то, что по его должности и так входит в обязанности. Это как если бы водитель автобуса просил письменное разрешение, чтобы завести двигатель.

🔹 3. Профессиональный юмор
Change request — реальный процесс в ITIL/DevOps, когда любое изменение инфраструктуры фиксируется и согласовывается.

Tier one (1-я линия поддержки) — обычно выполняет простые задачи (перезапуск, проверка логов), а не занимается управлением серверами.

Герой намекает, что бюрократия опускает его уровень работы до "самых простых тикетов".

🔹 4. Гипербола (преувеличение)
«The IT manager would literally kill me» — естественно, менеджер никого не убьёт. Но преувеличение подчёркивает, насколько строго относятся к процедурам.

👉 Получается, это мета-юмор про корпоративные процессы в IT: формальности порой важнее самой работы.

То, что герой каждый раз рукой касается сервера, добавляет ещё один слой юмора:

Буквально — он демонстрирует: «Вот эти самые серверы, с которыми я хочу поработать». Жест подчёркивает объект, о котором идёт речь.

Визуальный акцент — чтобы зритель не потерял контекст: всё время идёт речь именно про «железо», а не про абстрактные тикеты.

Ирония — он показывает, что сервер прямо здесь, под рукой, но при этом он не имеет права его трогать без бумажки. Контраст: физически доступ есть, а формально — нет.

Эффект комичности — повторение жеста делает сцену карикатурной. Сначала это естественно, а потом — всё более нелепо, словно герой доказывает очевидное: «Вот же они! Но я не могу их трогать!»
------------------------------------------------------

Как вам такой анализ от ИИ просто на основании короткого видео и нескольких строк субтитров? И это бесплатная версия. Я просто никогда не работал в крупном IT, поэтому юмора не понял.

#юмор #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63👎13
Последнее время постоянно использую Perplexity. Писал про него ранее, но тогда пользовался бесплатный тарифным планом. Сейчас купил на год Pro и пользуюсь им. На этом плане можно установить отдельный браузер с интеграцией в сервис.

Не могу сказать, что он прям как-то лучше ищет и компонует информацию, но в целом пользоваться удобнее. Там появляются два дополнительных режима. Если первый, бесплатный, это просто быстрый поиск, то второй делает более глубокое исследование на основе бОльшего количества источников, а третий режим прям проекты создаёт, в том числе пишет код, формирует интерфейсы для взаимодействия с кодом и т.д. В этом же режиме можно и агентов создавать.

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

Агентов пока тоже не приспособил к решению конкретных задач. Всё это только в описаниях и демонстрациях круто выглядит, а как начинаешь разбираться, всё не так радужно. Даже режим исследования, где берётся информация из интернета, и где по идее не должно быть фантазий, иногда врёт. Много раз сталкивался. AI формирует итоговый результат с какими-то фактами и тут же под ними ссылки на источник. Идёшь по ссылке, а там этой информации нет. Всё надо перепроверять.

Рассказать хотел не об этом. Длинная подводка получилась. Есть open source проект Perplexica, как альтернатива коммерческому Perplexity. Мне он показался интересным. Посмотрел как он устроен и в целом понял реализацию. Это прям развитие одной моей старой идеи со своим поисковым движком, которую я когда-то давно озвучивал.

В основе Perplexica лежит поисковой движок SearXNG, про который я писал ранее. Он собирает выдачу с разных поисковиков и объединяет её. Получается объединённая выдача без привязки к вашим персональным данным. То есть аннонимизированная для поисковика.

Perplexica берёт выдачу от SearXNG и отдаёт её на анализ выбранному AI. Это может быть как коммерческий сервис, типа OpenAI, так и self-hosted модель. Последнее особенно интересно. Мне видится обработка результатов поиска относительно простой задачей для AI, с которой могут справиться небольшие локальные модели.

К сожалению, у меня нет вообще никакого железа с видеокартами, чтобы потестировать работу локальных моделей. Если у вас таковое есть, то можете попробовать Perplexica. У неё простая настройка, описание есть в репозитории. Легко и быстро интегрируется с моделью, запущенной через Ollama.

Было бы интересно узнать результаты реальных тестов этого поиска с локальной моделью. Может кто-то сделает? Насколько это удобно и жизнеспособно.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍58👎2