Pull to refresh
8
0
Лукашин Андрей @lukashin

Администратор

Send message

Введение в Puppet

Reading time26 min
Views74K

Puppet — это система управления конфигурацией. Он используется для приведения хостов к нужному состоянию и поддержания этого состояния.


Я работаю с Puppet уже больше пяти лет. На мой взгляд, его официальная документация хороша для тех, кто уже знаком с Puppet, а для новичка она сложна — сразу даётся много новых терминов; непонятно, в каком порядке читать. Эта статья — по сути переведённая компиляция ключевых моментов из официальной документации, которая позволит новичкам быстро вникнуть в суть Puppet. Я переупорядочил информацию, чтобы постепенно рассказать про все сущности и термины.


Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments26

Лайфхаки от Boomburum-а

Reading time13 min
Views49K

Привет, Хабр! В моей голове долгое время скребётся тараканом идея рассказать вам про пару лайфхаков, которые я использовал когда-то или продолжаю использовать до сих пор. Нашёл свободную минутку и предлагаю вашему вниманию 20 килознаков — надеюсь, что-нибудь пригодится и вам. 

Читать далее
Total votes 141: ↑131 and ↓10+121
Comments98

Запись при чтении в postgresql: скандалы, интриги, расследования

Reading time3 min
Views25K

Я уже рассказывал про мониторинг запросов postgresql, в тот момент мне казалось, что я полностью разобрался, как postgresql работает с различными ресурсами сервера.


При постоянной работе со статистикой по запросам постгреса мы начали замечать некоторые аномалии. Я полез разбираться, заодно очередной раз восхитился понятностью исходного кода постгреса )


Под катом небольшой рассказ о неочевидном поведении postgresql.

Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments4

Мониторинг Postgresql: запросы

Reading time6 min
Views56K

В 2008 году в списке рассылки pgsql-hackers началось обсуждение расширения по сбору статистики по запросам. Начиная с версии 8.4 расширение pg_stat_statements входит в состав постгреса и позволяет получать различную статистику о запросах, которые обрабатывает сервер.


Обычно это расширение используется администраторами баз данных в качестве источника данных для отчетов (эти данные на самом деле являются суммой показателей с момента сброса счетчиков). Но на основе этой статистики можно сделать мониторинг запросов — посмотреть на статистику во времени. Это оказывается крайне полезно для поиска причин различных проблем и в целом для понимания, что происходит на сервере БД.


Я расскажу, какие метрики по запросам собирает наш агент, как мы их группируем, визуализируем, так же расскажу о некоторых граблях, по которым мы прошли.

Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments8

20 игр, чтобы научить ребёнка программированию

Reading time5 min
Views301K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Total votes 59: ↑53 and ↓6+47
Comments91

Bonsai: фамильный вики-движок

Reading time13 min
Views21K

Лирическое вступление


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

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



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

Идеальным решением для хранения семейных данных мне представлялся гибрид вики-движка и фотоальбома. Готовых подходящих решений не оказалось, поэтому пришлось написать собственный. Он называется Bonsai и доступен с открытым кодом по лицензии MIT. Дальше будет история о том, как он устроен и как им пользоваться, а также история его разработки и немного ДРАМЫ.
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments40

Бесшовная (почти) миграция между мажорными релизами PostgreSQL с помощью логической репликации

Reading time9 min
Views18K
У нас в True Engineering на одном проекте назрела необходимость в смене версии PostgreSQL с 9.6 на 11.1.

Зачем? База данных на проекте уже объемом 1,5 Tb и растет. Перформанс – одно из основных требований к системе. А сама структура данных эволюционирует: добавляются новые колонки, меняются существующие. Новая версия Postgres научилась эффективно работать с добавлением новых колонок с дефолтным значением, так что не нужно городить кастомных костылей на уровне приложения. Ещё в новой версии добавили несколько новых способов партиционирования таблиц, что тоже крайне полезно в условиях большого объема данных.

Итак, решено, мигрируем. Конечно, можно поднять параллельно со старой новую версию сервера PostgreSQL, остановить приложение, через dump/restore (или pg_upgrade) переместить базу и снова запустить приложение. Нам это решение не подошло из-за большого размера базы, к тому же, приложение работает в боевом режиме, и на даунтайм есть считанные минуты.

Поэтому мы решили попробовать миграцию с помощью логической репликации в PostgreSQL с использованием стороннего плагина под названием pglogical.

В процессе «проб» мы столкнулись с весьма обрывочной документацией по этому процессу (а на русском языке её вообще нет), а также некоторыми подводными камнями и неочевидными нюансами. В этой статье мы хотим изложить свой опыт в виде Tutorial.



TL;DR

  • Всё получилось (не без костылей, о них и статья).
  • Мигрировать можно в рамках PostgreSQL версии от 9.4 до 11.x, с любой версии на любую, вниз или вверх.
  • Даунтайм равен времени, которое требуется вашему приложению, чтобы переподключиться к новому серверу БД (в нашем случае это был перезапуск всего приложения, но в дикой природе, очевидно, «возможны варианты»).
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments30

Снятие показаний счетчиков в домашних условиях

Reading time4 min
Views46K

В прошлой статье я рассказывал как снимал показания со счетчиков воды. С тех пор прошло уже несколько лет. Устройство так и продолжает работать и за все это время я его не трогал. Но мне этого показалось мало, т.к. в доме были другие устройства, с которых необходимо было снимать показания. Об этом я и хочу поговорить.

Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments102

Приложение на python kivy для разнообразия рациона питания. От кода и до получения .apk файла для Android

Reading time8 min
Views86K

Изучаю python kivy и для себя решил написал маленькое приложение, чтобы разнообразить свое питание. Решил поделиться. Статья рассчитана на новичков в kivy. Приложение занимает около 100 строк кода.

Цель создания велосипеда приложения:

  1. Избежать частых повторений в питании. Чтобы не употреблять одно и то же блюдо слишком часто.
  2. Не забывать блюда, которые ел, потом забыл и годами к ним не возвращался, потому что банально не помнил. У меня такое бывает.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments15

PostgreSQL: как и почему пухнет WAL

Reading time4 min
Views22K

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


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


Сегодня будем смотреть как и почему может распухать Write-Ahead Log (WAL) постгреса. Как обычно — примеры из реальной жизни в картинках.

Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments4

Вотериус: Передача показаний воды на телефон по Wi-Fi (4 года от батареек)

Reading time6 min
Views92K


Однажды мне надоело снимать показания счётчиков воды. Можно было поселить рядом со счетчиком магнит и на этом успокоиться, но этот путь я счёл неспортивным.

Мой путь оказался непростым и витиеватым. Но в результате получилось устройство, передающее показания воды по Wi-Fi на телефон. Простое и понятное в использовании и настройке хоть школьнику, хоть гуманитарию пенсионеру. А знакомым со словом «Ардуино» — ещё и несложное для изготовления. Девайс способен работать от батареек четыре года (дольше, чем длились отношения с вашей бывшей). Это ещё и первый открытый проект с такими характеристиками. Заводские аналоги я выписал, их мало, да и ладно с ними.

Итак, у нас есть немного денег и большое, но честное желание упростить себе жизнь, не нарушая Уголовный Кодекс. И чтобы никаких этих ваших 220В, серверов и кучи кнопок! Показания смотрим на смартфоне в приложении Blynk или аналогичном сервисе.

Теперь устройтесь в кресле поудобнее, съешьте ещё этих мягких французских булочек да выпейте чаю. Смотрите красивые фотографии и слушайте мой рассказ о том, что надо учитывать при создании автономных устройств. Но сначала краткое описание Вотериуса.
Читать дальше →
Total votes 127: ↑126 and ↓1+125
Comments205

ТОП-9 YouTube-каналов для изучения английского языка

Reading time3 min
Views127K
Впереди пора отпусков и каникул, поэтому мы просто поделимся с вами полезными YouTube-каналами на случай, если у вас будет пара свободных минут и желание немного заняться английским.

// "Enjoy the Content" — from author with Love 
Читать дальше →
Total votes 49: ↑35 and ↓14+21
Comments14

Splunk. Подборка полезных материалов

Reading time2 min
Views10K


Под катом вы найдете подборку наших статей про Splunk. Публикации разбиты по категориям для более удобной навигации. Добавляйте в закладки, чтобы не потерять. Все новые статьи мы также будем добавлять сюда.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments0

Жизнь на льдине: дрейфующая станция «Северный Полюс—1»

Reading time6 min
Views21K


25 мая исполнился 81 год с момента доставки первой партии оборудования для первой в мире дрейфующей научно-исследовательской полярной станции «Северный Полюс—1». В 1937-м четверо самоотверженных учёных — Иван Папанин (руководитель экспедиции), Евгений Фёдоров, Эрнст Кренкель и Пётр Ширшов — высадились на льдине в 8 км от Северного Полюса и основали станцию, на которой прожили 274 дня, постепенно продрейфовав к берегам Гренландии. Эта невероятно смелая экспедиция — на всех этапах: доставки, проживания и эвакуации — позволила собрать уникальные гидрографические, метеорологические и гляциологические данные. Причём настоящий подвиг совершили не только «папаницы», но и экипажи пилотов, доставлявшие экспедицию на Северный Полюс.
Total votes 43: ↑42 and ↓1+41
Comments29

Разработка web API

Reading time9 min
Views287K

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Total votes 235: ↑224 and ↓11+213
Comments128

Splunk – Установка агентов для сбора логов Windows и Linux

Reading time7 min
Views30K
Нам часто задают вопросы о том, как загрузить различные данные в Splunk. Одними из самых распространенных источников, представляющих интерес, оказались логи Windows и Linux, которые позволяют отслеживать неполадки операционных систем и управлять ими. Загружая данные в Splunk, Вы можете анализировать работу всех систем в одном месте, даже когда у Вас десятки или сотни различных источников.



В данной статье мы пошагово объясним Вам, как загрузить данные из Windows и Linux в Splunk, для последующей обработки и анализа.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments8

Дюжина советов – как научить ребенка шахматам. И не только

Reading time9 min
Views78K
Вступление для цикла статей – «Как научить своего ребенка шахматам».

Некоторое время назад мною была написана статья «Бойтесь шахмат, Вам навязываемых». Некоторые заинтересовавшиеся хабрахабровцы попросили более подробно рассказать о методике по которой я преподаю шахматы детям. Ну вот собственно – время подошло.

Данный текст служит своеобразным вступлением для последующего цикла статей. В нем я опишу особенности с которыми Вам придется столкнуться при загрузке в мозг ребенка шахматных знаний.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments52

Алгоритм выбора location в Nginx

Reading time3 min
Views73K
image

Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алгоритмы. В статье также будет дан пример уязвимого конфига.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments21

Расширяем функционал Ansible с помощью модулей

Reading time8 min
Views17K

Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов.


В статье о раширении функциональности Ansible мы частично рассмотрели, чем отличаются плагины от модулей. Если вкратце, основное различие в том, что первые выполняются на локальной машине, где установлен Ansible, а вторые — на целевых.


Основная задача плагинов – влиять на ход выполнения плейбука, добавлять новые возможности загрузки и обработки данных. Задача же модулей – расширять перечень систем и сервисов, которыми Ansible может управлять. Например, создать сервер на площадке Vultr – модуль vultr, создать пользователя в самодельной системе авторизации для офисной WiFi сети – модуль mywifiauth_user.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2

Регистратор на Bash для камер с rtsp

Reading time3 min
Views13K
Всем привет!

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

Но денег не особо много, чтобы покупать какие-то специализированные решения, поэтому решено было поскрести по завалам хлама в серверной и с разрешения руководства утащить домой IP-камеру Xblitz iSee P2P IP WiFi.

image

Камера Xblitz iSee P2P IP WiFi
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments38

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity