Pull to refresh
13
0
Андрей Маркелов @Andrey_V_Markelov

Java Developer

Send message

Мониторинг Atlassian продуктов с Prometheus

Reading time3 min
Views8.7K

Введение


Всем привет! Сегодня мы поговорим о real-time мониторинге Atlassian продуктов.

Для начала давайте определим, что такое мониторинг, и зачем он необходим для Atlassian продуктов.

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

Когда это может быть полезно для Atlassian продуктов?

Рассмотрим примеры:

  • Вы хотите знать, как обновление продукта или плагина влияет на производительность системы;
  • Вы хотите знать о состоянии железа и памяти при различных условиях и в определенные моменты времени. Например, как увеличение числа пользователей или смена времени суток влияет на систему;
  • Вы хотите наблюдать, насколько активно используется система в целом. Например, общее количество задач в Jira или за 1 час;
  • Вы хотите поставить напоминание на дату истечения срока лицензии;
  • Вам бы хотелось знать объем дискового пространства, используемого для хранения документов.

Также хотелось бы не только получать информацию в подготовленном виде, но и иметь возможность отправлять уведомления, если что-то происходит по ошибочному сценарию. Здесь нам и помогут Prometheus и его экспортеры для Atlassian продуктов.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments1

Задача о шахматном коне и вероятности

Reading time2 min
Views27K
Всем привет.

Не так давно мне попалась интересная задачка, условием и решением которой я хочу поделиться. Надеюсь, это не будет жутким “баяном”. Итак, представим себе стандартную шахматную доску 8x8, на которой нет ни одной фигуры. Далее, мы случайным образом помещаем коня в любую клетку. Задача — определить вероятность, что после N ходов случайным образом он останется на шахматной доске. Предполагается, что если конь покидает доску, то не может войти заново. А каждый из возможных ходов является равновероятным. Другими словами, необходимо реализовать функцию:

double probability(int N, int x, int y), 0 <= x <= 7, 0 <= y <= 7,

где N — количество ходов, а x и y — координаты начальной позиции.
Читать дальше →
Total votes 12: ↑3 and ↓9-6
Comments12

Jenkins Pipeline Shared Libraries

Reading time3 min
Views43K
Всем привет. В данной статье хочу поделиться знаниями, полученными в процессе автоматизации развертывания наших сервисов на различные серверы в разных дата-центрах.

Задача была следующей: есть определенный набор скриптов для развертывания сервисов, которые нужно запускать на каждом сервере каждого дата-центра. Скрипты выполняют серию операций: проверка статуса, вывод из-под load balancer’а, выпуск версии, развертывание, проверка статуса, отправка уведомлений через email и Slack и т.д. Это просто и удобно, но с ростом числа дата-центров и сервисов процесс выкатки новой версии может занять целый день. Кроме того, за некоторые действия отвечают отдельные команды, например, настройка load balancer’а. Также хотелось, чтобы управляющий процессом код хранился в общедоступном репозитории, дабы каждый член команды мог его поддерживать.

Решить задачу удалось с помощью Jenkins Pipeline Shared Libraries: этапы процесса разделились визуально на логические части, код хранится в репозитории, а осуществить доставку на 20 серверов стало возможно в один клик. Ниже приведен пример подобного тестового проекта:

image

Сейчас я расскажу и покажу примеры как этого достичь. Надеюсь эта статья поможет сохранить время другим разработчикам, а также буду рад дельным комментариям.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments17

Кастомизация JIRA и Confluence с помощью плагинов

Reading time7 min
Views33K
Практически все организации, где необходимо вести документацию и управлять бизнес-процессами, сталкиваются с необходимостью выбора и настройки софта, который облегчает эти процессы. JIRA и Confluence от компании Atlassian Software достаточно популярны на российском рынке. Однако в своей дефолтной конфигурации они не могут решить все задачи, стоящие перед организацией – ведь у каждого своё видение процессов работы. Кроме того требования кастомизировать JIRA растут по мере использования продукта.

Я работаю разработчиком JIRA/Confluence в Mail.Ru Group, и хочу поделиться опытом написания плагинов JIRA и Confluence: что можно сделать, как сделать и о чём нужно не забыть.

О чем я расскажу

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

Описание плагинов будет включать:
  • пользовательские поля (custom fields), обработчики событий (listeners);
  • сервлеты (servlets) и REST, программирование workflow.

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments7

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity