Pull to refresh
VK
Building the Internet

Алярм, ахтунг, внимание, свистать всех в серверную

Reading time 4 min
Views 39K


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

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

Нам захотелось внести какое-то приятное разнообразие в процесс получения информации о новых задачах. Для этого мы выбрали несколько видов событий и написали маленькое приложение, отправляющее на виртуальный COM-порт Arduino Nano сообщения (триггеры) об этих событиях. Теперь в зависимости от полученного триггера Arduino сигнализирует нам с помощью одного из приспособлений:

  • Когда появляется задача, требующая срочного решения, начинает стучать бубен. Для этого мы приладили к нему соленоид от привода двери автомобиля.



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






Код для программирования всего этого дела достаточно простой, справится даже школьник:

int metro = 13;
int buben = 12;
int pig = 11;
int alarm = 10;
int usbnumber = 0;

void setup() {
  pinMode(metro, OUTPUT);
  pinMode(buben, OUTPUT);
  pinMode(pig, OUTPUT);
  pinMode(alarm, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    usbnumber = Serial.read();

    if (usbnumber == 'm') {
      digitalWrite(metro, LOW);
    }

    if (usbnumber == 'b') {
      digitalWrite(buben, LOW);
    }

    if (usbnumber == 'a') {
      digitalWrite(alarm, LOW);
    }

    if (usbnumber == 'p') {
      digitalWrite(pig, LOW);
    }

    if (usbnumber == 'q') {
      digitalWrite(buben, HIGH);
    }

    Serial.print(usbnumber);
  }
}


Кроме того, специально для сотрудников, которые лично приходят к нам в отдел за профессиональной помощью, мы сделали устройство для релаксации — пульт управления отделом технической поддержки (можете видеть его на первой картинке).

Индикаторы:
  • Уровень энтропии в отделе.
  • Среднее количество нейронов в голове сотрудников отдела (ед/мм3).

Кнопки и переключатели:
  • Режим «Турбо». Когда появляется особенно срочное задание, руководитель отдела нажимает кнопку, и у сисадминов включается разгон по частоте и питанию.
  • «Стоп хардкор». Используется, когда в процесс вмешивается беспричинное веселье и нужно прекратить его, чтобы возобновить рабочее настроение.
  • Режим «Пятница». Идейный антипод «Турбо» с защитой от случайного включения, чтобы невзначай в среду не устроить пятницу.
  • «Великий рандом». Выбирает случайным образом сотрудника, который будет решать поставленную задачу. Привязана к функции randadmin в нашей внутренней информационной системе.
  • «Вы пробовали перезагрузить?». Просто приятно нажать.
  • «Вы пробовали включить/выключить». Используется в паре с «Вы пробовали перезагрузить?».
  • «Внимание, в кабинете девушка!». При нажатии кнопки также включается световое табло под потолком «Внимание, в кабинете дама!». Не спрашивайте, откуда взялось несовпадение. Коллектив у нас сугубо мужской, и мы привыкли ярко выражать свои эмоции при появлении той или иной интересной задачи. И в голове у прекрасных девушек, приходящих к нам настроить свои розовенькие ноутбуки и ставших случайными свидетелями выражения этих самых эмоций, перестают прыгать розовые пони и меркнет радуга над поляной жизни. Дабы этого избежать, мы придумали табличку, предупреждающую наших коллег о появлении нежного существа, чей хрупкий внутренний мир может быть нарушен. 
  • «Задача мимо». Нажимается в тех случаях, когда задача не может быть нами решена или вообще не относится к отделу технической поддержки.

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

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

В общем виде схема нашей новой системы офлайн-оповещения выглядит так:



Первые посетители уже положительно оценили наше творение. А мы теперь привыкаем к новым непривычным звукам, сопровождающим появление очередных тасков.

P.S. В процессе создания системы ни одной свиньи не пострадало. С днем системного администратора!
Tags:
Hubs:
+50
Comments 13
Comments Comments 13

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен