ServerAdmin.ru
28.7K subscribers
276 photos
34 videos
12 files
2.6K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
Я вчера вечером шапочно познакомился с очень любопытным сервисом по автоматизации рутинных задач с помощью API различных сервисов. Тема вроде бы не айтишная, но набор возможностей позволяет его использовать и в наших делах. Постараюсь на пальцах объяснить, как эта штука работает.

Речь идёт про n8n.io - https://n8n.io. Это сервис, который может работать по saas подписке, либо быть развернут на вашем собственно сервере, в том числе через докер. Я развернул у себя:

docker run -it --rm --name n8n p 5678:5678 \
 -v ~/.n8n:/home/node/.n8n n8nio/n8n

N8n имеет встроенную интеграцию по api с огромным количеством сервисов. Список можно тут посмотреть - https://n8n.io/integrations. Он может откуда-то забирать информацию, как-то обрабатывать и дальше куда-то складывать. Например, вы можете создать несколько простых форм для заполнения. Затем эти данные могут автоматически заноситься в таблицу google docs, вам может отправляться емейл сообщение с заполненными данными, а в мессенджер отправляться информация о событии.

Другой пример. Вы можете ходить по api в zabbix и забирать какие-то нужные вам данные. Например, некоторые бизнес метрики и автоматически записывать их в какую-то xlsx таблицу, чтобы потом раз в месяц в удобочитаемом виде кому-то передать.

Сервис умеет складывать данные в S3, ходить куда-то по sftp или ftp. Есть интеграции со всякими треллами и ноушенами, мессенджерами и т.д. Возможности обширные, настраивается всё через веб интерфейс и человекочитаемый конструктор.

Мне показалось, это особенно удобно будет каким-нибудь сеошникам или маркетологам, которые не умеют сами скрипты делать, но при этом им надо со всяких метрик собирать данные. N8n им может очень сильно упростить жизнь. Либо банально можно какой-то сайт проверять и слать себе оповещение в телегу, когда появится новая статья.

Пару примеров можно на видео посмотреть:
◽️ Обработка данных, полученных через веб формы - https://www.youtube.com/watch?v=rn3-d4IiW44
◽️ Проверка погоды и отправка сообщения в мессенджер в зависимости от результата - https://www.youtube.com/watch?v=QhTsOMvqLuo

Еще примеры можно посмотреть на самом канале проекта - https://www.youtube.com/c/n8n-io/videos

Мне очень понравился сервис. Захотелось кучу всего автоматизировать, но по факту лично у меня нет большой нужды, хотя кое-где пригодилось бы прямо сейчас. Ко всему прочему еще и времени свободного нет, чтобы спокойно сесть, разобраться и что-то автоматизировать.

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

Речь пойдёт про систему Kestra.io. Сразу скажу, для тех, кто знаком с n8n.io, что она на него немного похожа, но более функциональна. Это такой комбайн по автоматизации всего и вся с управлением через веб интерфейс с участием встроенных процедур и модулей. Эдакий заменитель самописных костылей. Приведу сразу пример задач, которые можно решать с его помощью:

💡Вы получаете pdf файл с таблицей. Вам надо её распознать и занести значения таблицы в базу данных SQL или в CVS файл для дальнейшей выгрузки в Excel. Похожая задача с получением pdf файла, его распознаванием и сохранением текстовой версии.

💡Вам надо собрать Docker контейнер, запустить его, дождаться выполнения каких-то действий, записать результат в лог файл.

💡Вам необходимо скачать json файл, отфильтровать некоторые данные, обработать их и вывести в веб интерфейсе Kestra.

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

💡Можно запустить shell скрипт и забрать его вывод в веб интерфейсе. За скриптом Kestra умеет ходить по хостам сама. В одном месте можно собрать все cron с хостов и управлять ими из одного места.

💡Можно по HTTP API забрать данные, обработать и положить в формате json в S3, или пульнуть в Zabbix API.

💡Kestra умеет запускать Ansible плейбуки и Terraform файлы, работать с GIT. Можно склонировать репу по какому-то событию и что-то запустить из неё.

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

Всю платформу можно полностью развернуть на своём железе без каких-то ограничений. Всё упаковано в Docker контейнер. Запускать так:

# docker run --pull=always --rm -it -p 8080:8080 --user=root \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /tmp:/tmp kestra/kestra:latest-full server local

И можно идти в веб интерфейс на порт 8080. Сразу всё увидите там.

В платной версии дополнительные энтерпрайзные штуки, типа SSO, RBAC, хранение секретов и т.д.

Kestra по сути такой вспомогательный инструмент, который может работать вместе с системами CI/CD, мониторинга, сбора логов, интегрировать их с какими-то бизнес метриками и получать обработанные данные в человекочитаемом виде, куда-то отправлять их, уведомлять.

В то же время он же может помочь и одному человеку в выполнении какой-то ежедневной рутины. Например, по аналитике каких-то данных из множества источников. Но чтобы разобраться во всём этом, нужно будет потрудиться. Если писали пайплайны, то это будет просто, так как по своей сути задачи (flows) это те же пайплайны в формате yaml. Писать можно прямо в веб интерфейсе. Редактор удобный.

▶️ Несколько видео с примерами задач, которые я посмотрел:
⇨ обработка и работа с pdf
⇨ подробный обзор системы и несколько простых примеров
⇨ обзор от неизвестного итальянца (Я.Браузер отлично перевёл)

Не смог придумать осмысленного тэга для этой системы и других подобного рода. Пусть это будет #автоматизация.

Сайт / Исходники

#автоматизация