Search
Write a publication
Pull to refresh
4
0
Send message

Улучшение производительности Zabbix + PostgreSQL при помощи партиционирования и индексирования

Reading time24 min
Views30K
Примерно год назад передо мной и моими коллегами была поставлена задача разобраться с использованием популярной системы мониторинга сетевой инфраструктуры — Zabbix. После изучения документации мы сразу же перешли к нагрузочному тестированию: хотели оценить с каким количеством параметров может работать Zabbix без заметных падений производительности. В качестве СУБД использовали только PostgreSQL.

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

О результатах проделанной работы я и хочу поделиться в данной статье. Статья будет полезна как администраторам Zabbix, так и PostgreSQL DBA, а также всем желающим лучше понять и разобраться в популярной СУБД PosgreSQL.

Небольшой спойлер: на слабой машине при нагрузке в 200 тысяч параметров в минуту нам удалось снизить показатель CPU iowait с 20% до 2%, уменьшить время записи порциями в таблицы первичных данных в 250 раз и в таблицы агрегированных данных в 32 раза, уменьшить размер индексов в 5-10 раз и ускорить получение исторических выборок в некоторых случаях до 18 раз.
Читать дальше →

Переводим на DoH домашнюю сеть, или еще один щелчок по носу фильтрации

Reading time8 min
Views143K

После сравнительно недавнего анонса компанией Mozilla запуска поддержки DNS-over-HTTPS (DoH) в продакшн в сети не утихают споры, зло это или благо. По моим ощущениям, позиция "зло" базируется в основном на том, что при этом манипуляция вашими DNS-запросами даже в полезных для вас целях будет затруднена, поэтому я пока что остаюсь на позиции "благо".
image


В Российской Федерации операторы связи, поставленные в очень жесткие условия нашим законодательством, вынуждены строить изощренные многоуровневые системы блокировок доступа к запрещенному Роскомнадзором на территории РФ контенту, на одном из уровней которых более-менее успешно работает перехват DNS-запросов. Использование DoH позволит обойти этот уровень, что в совокупности с использованием VPN может несколько облегчить вам жизнь. Обратите внимание, само по себе решение не может избавить вас от блокировок, потому что вряд ли в России есть провайдер, полагающийся только на фильтрацию через DNS. Вам нужен еще какой-то вариант обойти блокировки, например VPN, один из описанных в моих предыдущих статьях.


Парадоксально, но в текущем паноптикуме оператору связи ничем не грозит ваш обход его блокировок (с использованием специальных средств для этого), поэтому если вы опасаетесь навредить ему таким образом — эти опасения напрасны.


Но переходить на специальный браузер, чтобы обойти перехват DNS — не наш путь. Наш путь — перевести все устройства домашней сети на DoH, быстро, эффективно и без лишних трудозатрат.

Читать дальше →

Rutracker включил eSNI. Конец эпохи DPI и конец блокировок

Reading time4 min
Views206K


Несмотря на желтый заголовок, дальше будет не желтая статья. Всех нас (я надеюсь именно здесь я наконец-таки смогу сказать от всего сообщества) уже достали действия Роскомнадзора. А также его постоянное появление в рекомендованном на хабре. Поэтому эта новость вам понравится. Хоть что-то важное. Новость кстати еще от декабря 2018.
Читать дальше →

Безопасный способ обмена JWT в ASP.NET Core + SPA

Reading time8 min
Views45K

Вступление


Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Читать дальше →

Как быть опубликованным в Google Play в 2019

Reading time5 min
Views22K

Вступление


Опубликовать приложение, не нарушив ни чьих прав, стало непростой задачей. За последние пару лет в Google Play добавилось множество новых правил и ограничений, причем некоторые из них действуют только в определенных регионах, и бремя отслеживания, какие ограничения и правила распространяются на каждого конкретного юзера, ложится на плечи разработчиков. В этой статье я расскажу о том, на что нужно обращать внимание в 2019 году, при публикации своего приложения в сторе, чтобы не быть заблокированным.

Читать дальше →

Обход блокировок РКН с помощью DNSTap и BGP

Reading time10 min
Views60K


Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены.


В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Ревизорро" — сопутствующие потери от блокировок довольно велики. Да и среди "правомерно" заблокированных сайтов много полезных (привет, rutracker)


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


В этой заметке я не буду расписывать базовые сетевые вещи по шагам, а опишу общие принципы как можно реализовать эту схему. Так что знания как работает сеть вообще и в Linux в частности — must have.

Читать дальше →

Покупка и продажа криптовалют в России: способы, легализация, риски

Reading time8 min
Views104K


upd. 10 января 2020 г. в связи с актуальными изменениями по ФЗ N 398-ФЗ от 02.12.2019.

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

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

  • почему без подтверждающих документов придется платить налоги по-полной;
  • в каких странах с 2020 года можно полноценно пользоваться банковскими счетами, не опасаясь диких штрафов;
  • почему аккаунты в AdvCash, Payeer, Transferwise, Bitfinex, Bitstamp, Exmo… и любых других финансовых организациях, включая платежки и биржи, нужно будет декларировать с 2020 года;
  • как у налоговых органов появляется информация о наших доходах в РФ и зарубежом и почему реальный срок давности по правонарушениям составляет не 3, а почти 5 лет.
Читать дальше →

Обзор изменений в 17-м приказе ФСТЭК

Reading time5 min
Views27K


Привет, Хабр! 13 сентября Минюст утвердил документ, вносящий изменения в 17 приказ. Это тот самый, который про защиту информации в государственных информационных системах (далее – ГИС). На самом деле изменений много и некоторые из них существенные. Есть как минимум одно очень приятное для операторов ГИС. Подробности под катом.
Читать дальше →

Подходы к управлению модулями в Angular (и не только)

Reading time8 min
Views19K

Понимание организации сущностей, с которыми работаешь — не то, что сразу получается у разработчика, пишущего свои первые проекты на Angular.


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


Благо, Angular предоставляет разработчикам возможность создавать свои модули, и ещё называет их feature модулями.



Читать дальше →

Полное руководство по Flexbox

Reading time11 min
Views671K
Полное руководство по CSS flexbox. Это полное руководство объясняет все о flexbox, сосредотачиваясь на всех возможных свойствах для родительского элемента (контейнер flex) и дочерних элементов (элементы flex). Оно также включает в себя историю, демонстрации, шаблоны и таблицу поддержки браузеров.
Читать дальше →

Один из методов получения профиля рабочей нагрузки и истории ожиданий в PostgreSQL

Reading time13 min
Views5.4K
Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ".

В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_stat_activity.
Предупреждение.
В связи с новизной темы и незавершением периода тестирования, статья может содержать ошибки. Критика и замечания всячески приветствуются и ожидаются.
Читать дальше →

Универсальный API для получения информации по чекам

Reading time9 min
Views121K
Привет жителям Хабра.

В данной статье хотелось бы рассказать про API для получения чеков, которое нам не предоставила всеми любимая ФНС.

Когда только появились QR-коды на чеках я подумал «Вау, как круто! Ты сканируешь код и видишь если не всю инфу по чеку, то ссылку на него». И какого же было мое разочарование, когда просканировав такой код я увидел что-то вроде

t=20180518T220500&s=975.88&fn=8710000101125654&i=99456&fp=1250448795&n=1

Но расстраиваться я не стал и подумал, что ФНС позаботилась о нас и предоставила API для получения такой информации. Погуглив некоторое время я понял, что ФНС нам предоставила только мобильное приложение для проверки чека и просмотра той информации, что поступила к ним от магазина.
Читать дальше →

Почему для открытия меню Windows читает один файл сто тысяч раз?

Reading time4 min
Views158K

«Проводник тратит 700 мс на то, чтобы открыть контекстное меню панели задач. 75% этого времени он выполняет 114 801 операцию считывания из одного файла, средний объём считываемых данных 68 байт.

Мне стоит написать пост об этом, или достаточно саркастичного твита?»


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

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

Этот пост написан как проверка скоростного блогинга. От момента нахождения проблемы и саркастичного твита о ней до публикации поста прошло примерно 90 минут.
Читать дальше →

Terraform: новый подход к Infrastructure as code

Reading time9 min
Views197K
Привет, коллеги! Пока блистательный Илон Маск вынашивает амбициозные планы терраформирования Марса, мы интересуемся новыми возможностями, связанными с парадигмой "Infrastructure as Code" и хотим предложить вам перевод статьи об одном из представителей «великолепной семерки» — Terraform. Книга Евгения Брикмана по теме неплохая, но ей скоро год, так что просим высказаться — хотите ли увидеть ее на русском языке

Слово Камалу Мархуби (Kamal Marhubi) из компании Heap.
Читать дальше →

На сцене вновь лауреаты международных конкурсов SSH и sudo. Под рукодством заслуженного дирижера Active Directory

Reading time7 min
Views15K
Исторически сложилось, что sudo права регулировались содержимым файлов из /etc/sudoers.d и visudo, а авторизация по ключам велась с использованием ~/.ssh/authorized_keys. Однако с ростом инфраструктуры возникает желание управлять этими правами централизованно. На сегодняшний день вариантов решения может быть несколько:

  • Система управления конфигурацией — Chef, Puppet, Ansible, Salt
  • Active Directory + sssd
  • Разнообразные извращения в виде скриптов и ручного редактирования файлов

На мой субъективный взгляд, оптимальным вариантом централизованного управления является все-таки связка Active Directory + sssd. Преимущества данного подхода вот в чем:

  • Действительно Единый централизованный каталог пользователей.
  • Раздача прав sudo сводится к добавлению пользователя в определенную группу безопасности.
  • В случае различных Linux-систем возникает необходимость вводить дополнительные проверки на определение ОС при использовании систем конфигурации.

Сегодняшняя сюита будет посвящена именно связке Active Directory + sssd для управления правами sudo и хранением ssh ключей в едином репозитории.
Итак, зал застыл в напряженном молчании, дирижер поднял палочку, оркестр приготовился.
Поехали.
Читать дальше →

Мониторинг .NET приложений

Reading time12 min
Views13K

.NET – управляемая среда выполнения. Это означает, что в ней представлены высокоуровневые функции, которые управляют вашей программой за вас (из Introduction to the Common Language Runtime (CLR), 2007 г.):


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

  1. Основные функции, которые влияют на устройство других. К ним относятся:
    1. сборка мусора;
    2. обеспечение безопасности доступа к памяти и безопасности системы типов;
    3. высокоуровневая поддержка языков программирования.
  2. Дополнительные функции– работают на базе основных. Многие полезные программы обходятся без них. К таким функциям относятся:
    1. изолирование приложений с помощью AppDomains;
    2. защита приложений и изолирование в песочнице.
  3. Другие функции – нужны всем средам выполнения, но при этом они не используют основные функции CLR. Такие функции отражают стремление создать полноценную среду программирования. К ним относятся:
    1. управление версиями;
    2. отладка/профилирование;
    3. обеспечение взаимодействия.

Видно, что хотя отладка и профилирование не являются основными или дополнительными функциями, они находятся в списке из-за ‘стремления создать полноценную среду программирования’.


Аудит системных событий в Linux

Reading time11 min
Views146K
Linux Audit

Одним из инструментов, позволяющих повысить уровень безопасности в Linux, является подсистема аудита. C её помощью можно получить подробную информацию обо всех системных событиях.
Она не обеспечивает никакой дополнительной защиты, но предоставляет подробную информацию о нарушениях безопасности, на основании которой можно принять конкретные меры. Особенности работы с подсистемой аудита мы рассмотрим в этой статье.
Читать дальше →

System.IO.Pipelines — малоизвестный инструмент для любителей высокой производительности

Reading time14 min
Views30K
Здравствуй, читатель. Прошло уже достаточно много времени с момента выхода .NET Core 2.1. И такие крутые нововведения, как Span и Memory, уже рассмотрены весьма широко, про них можно достаточно много прочитать, посмотреть и услышать. Однако, к сожалению, библиотека под названием System.IO.Pipelines не удостоилась такого же внимания. Почти все, что есть по этой теме — единственный пост, который многие перевели и разместили у себя. Информации должно быть однозначно больше, чтобы интересующиеся могли взглянуть на технологию с разных углов.


Читать дальше →

Создание инсталлятора с помощью WiX. Часть 3

Reading time15 min
Views31K
В этот раз мы создадим кое-что посложнее, чем установочный пакет из первой статьи. Научимся вносить изенять шаги установки и создавать собственные диалоги установщика.

Читать дальше →

Создание инсталлятора с помощью WiX. Часть 2

Reading time6 min
Views25K
В прошлый раз мы научились создавать простой инсталлятор. Прежде чем двинуться дальше, от простого к сложному, давайте научимся управлять этим самым сложным. А именно — научимся разбивать проект на части с тем, чтобы упростить сопровождение и внесение изменений.

Читать дальше →

Information

Rating
Does not participate
Registered
Activity