• Агрегация логов log4j2 средствами ELK

    Для своих ETL (Extract, Transform, Loading) процессов, на этапах E и T, то есть извлечение и преобразование данных мы используем Apache Storm, и, так как большинство ошибок, связанных с инвалидацией сырых данных, происходит именно на этом этапе, — появилось желание централизованно логировать всё это, используя ELK стэк (Elasticsearch, Logstash, Kibana).

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

    Исправляя это упущение — под катом туториал по настройке централизованного сбора любых log4j2 логов на основе:

    • ELK внутри Docker
    • Настройка log4j для работы с Logstash
    • Настройка Logstash для правильной индексации логов
    • Немного бонусов, в виде краткой настройки Storm и интеграции Elasticsearch с Grafana

    image
    Читать дальше →
  • Установка Proxmox VE на Debian Stretch используя Ansible

    • Tutorial
    Являясь большим фанатом данной системы виртуализации, решил поделиться несколько иным способом установки.

    Если кратко, то Proxmox это система виртуализации на KVM, которая ещё умеет управляться с контейнерами LXC. Также имеется возможность кластеризации(для некоммерческой версии ограничение около 8 нод). Умеет работать с Ceph, ZFS. Если подробно, то советую почитать вики или посмотреть ютуб.

    Варианты установки


    Дело в том, что ProxmoxVE можно установить при помощи образа, который предоставляется на скачивание, но тогда вам вряд ли будут доступны варинты разбивки с использованием soft-raid для Linux и прочие извращения(если что-то некритичное по производительности — почему нет?). Отдельное спасибо товарищу @merlin_vrn за знакомство с Proxmox, и Alex Filimonov за помощь с Ansible.

    Существует вариант, когда вы сами ставите Debian актуальной версии именно так как вы хотите, а уже дальше устанавливаете ProxmoxVE как некую надстройку, которая вам заменяет ядро, linux-firmware, lvm, устанавливает свой репозиторий и уже отчасти перестаёт быть Debian. В этом случае у вас гораздо больше пространства для свободы(к примеру, недавно я ставил по сети Debian через liveusb Archlinux используя debootstrap).
    Читать дальше →
  • LVM + lilo > GPT + EFI (или почему GRUB такой неуклюжий)

      TL;DR: автор сокрушается о том, что GRUB не может жить полноценно с LVM и с удивлением открывает, что это отлично умеет заброшенный в 2015 году загрузчик lilo.

      MBR?


      Мало кто знает и понимает, что MBR по сути своей есть величайшая ошибка человечества. Ну послушайте, ну серьезно, кому в голову пришло смешивать в одном блоке данные, необходимые для загрузки системы и сведения о разделах?

      Я еще раз повторю, не надо сейчас мне говорить «так сложилось», а включите логику. MBR ужасна.
      Читать дальше →
    • Пишем x86-64 JIT-комплятор с нуля в стоковом Python

      • Перевод
      В этой статье я покажу, как написать рудиментарный, нативный x86-64 just-in-time компилятор (JIT) на CPython, используя только встроенные модули.

      Код предназначен для UNIX-систем, таких как macOS и Linux, но его должно быть легко транслировать на другие системы, типа Windows. Весь код опубликован на github.com/cslarsen/minijit.

      Цель — сгенерировать в рантайме новые версии нижеприведённого ассемблерного кода и выполнить их.

      48 b8 ed ef be ad de  movabs $0xdeadbeefed, %rax
      00 00 00
      48 0f af c7           imul   %rdi,%rax
      c3                    retq

      В основном, мы будем иметь дело с левой частью кода — байтовой последовательностью 48 b8 ed ... и так далее. Эти 15 байтов в машинном коде составляют функцию x86-64, которая умножает свой аргумент на константу 0xdeadbeefed. На этапе JIT будут созданы функции с разными такими константами. Такая надуманная форма специализации должна продемонстрировать базовую механику JIT-компиляции.
      Читать дальше →
      • +11
      • 5,4k
      • 5
    • Обзор плагинов SparrowHub

        image


        Всем привет! В этом посте я хочу сделать краткий обзор некоторых плагинов SparrowHub — репозитария пользовательских скриптов для выполнения различных задач. Данные плагины могут быть полезны тому, кто просто хочет запустить с консоли готовые утилиты и решить свою задачу, фактически, не написав ни строчки кода.


        Добавление новых плагинов происходит постоянно, если вас заинтересовал проект, вы можете легко и просто добавить свои плагины, поделившись полезными скриптами с сообществом.

        Читать дальше →
      • Настройка Jail в FreeBSD 11.1

          Введение


          На написание данной публикации меня подтолкнул тот факт, что в сети интернет крайне мало информации по администрированию Jail в FreBSD. Можно конечно найти отличные публикации на эту тему, но они, в основном, по большей части были написаны много лет назад, и не затрагивают новые возможности Jail и самой операционной системы FreeBSD.
          Публикацию разделю на две части. В первой части пойдёт речь о подготовке и настройке FreeBSD, а во второй части пойдёт речь непосредственно о создании Jail.
          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Сервер VoIP для небольшой компании (FreePBX 14, Asterisk 15, Ubuntu 16.04) часть 3

          • Tutorial
          Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью.

          Продолжение статьи Сервер VoIP для небольшой компании (FreePBX 14, Asterisk 15, Ubuntu 16.04) часть 1.

          Появилась необходимость связать FreePBX и Samba 4, так как у нас стоит Zentyal 5.0 все будет описано для него, думаю не составит трудности адаптировать под свои нужды.

          Приступим:

          Во FreePBX уже встроен механизм интеграции, но для его активации необходимо чтобы в система была поддержка PHP-LDAP, поэтому ставим зависимость:

          sudo apt install php5.6-ldap -y

          Затем перегружаем Apache и приступаем непосредственно к настройке.
          Заходим в web интерфейс FreePBX 14, Admin > User Manager > Вкладка Directories

          image

          Как видим у нас уже есть «FreePBX Internal Directory» — это локальная база пользователей FreePBX.
          Читать дальше →
        • Централизованный бэкап Mikrotik устройств при помощи bash-скрипта

          Всем привет, в моей первой публикации на хабре хочу поделиться готовым решением для бэкапов устройств Mikrotik.

          Для микротика предусмотрены два вида бэкапов конфигурации, это бинарный бэкап и экспорт конфигурации. Бинарный бэкап имеет свои преимущества и недостатки. Преимуществом является то, что после восстановления бинарного бэкапа у вас сохраняется вся конфигурация( с пользователями, паролями, импортированными для пользователей ssh-ключами); недостатком же является то, что такой бэкап нельзя восстановить на другого типа устройство.

          В целом и общем это полноценный бэкап, его восстановление занимает мало времени и восстанавливает всю конфигурацию. Экспорт конфигурации как способ бэкапа в свою очередь отчасти сглаживает эти недостатки, являясь скриптом для ребилда микротика. Суть тут в том, что выводятся все настройки, которые могут быть экспортированы. Преимуществом является то, что можно посмотреть и пощупать, что же там экспортируется, а к недостаткам можно опять же отнести то, что это тоже упирается в модель. но чуть меньше. Иногда дело в количестве интерфейсов, иногда ещё в чём-то. Так же не все настройки могут быть экспортированы в текст(пользователи, файлы на усройстве, ssh-ключи).
          Читать дальше →
        • Базовая установка и настройка Puppet 4 с хранением манифестов в SVN

          • Tutorial
          Доброго времени суток!

          Сегодня будем готовить Puppet 4 на Ubuntu Server 16.04 c хранением манифестов в SVN. Так же статье будет рассмотрен пример создания простого собственного модуля для установки и конфигурирования агента сбора логов в Graylog2 через Graylog Collector Sidecar и использованием Filebeat в качестве бэкэнда. Данный пример не претендует на изящное решение, но описывает ключевые аспекты с примером.

          Исходная машина для Puppet Server — VPS Ubuntu 16.04 — 4Gb Memory, 2 CPU cores.
          Читать дальше →
        • Небольшая история о команде `yes` в Unix

          • Перевод
          Какую вы знаете самую простую команду Unix? Есть echo, которая печатает строку в stdout, и есть true, которая ничего не делает, а только завершается с нулевым кодом.

          Среди множества простых Unix-команд спряталась команда yes. Если запустить её без аргументов, то вы получите бесконечный поток символов "y", каждый с новой строки:

          y
          y
          y
          y
          (...ну вы поняли мысль)

          Хотя на первый взгляд команда кажется бессмысленной, но иногда она бывает полезной:

          yes | sh boring_installation.sh

          Когда-нибудь устанавливали программу, которая требует ввести "y" и нажать Enter для установки? Команда yes приходит на помощь! Она аккуратно выполнит эту задачу, так что можете не отвлекаться от просмотра Pootie Tang.
          Читать дальше →
        Самое читаемое