Русский
Русский
English
Статистика
Реклама

Техподдержка

5 причин не уходить из техподдержки во внедрение

15.04.2021 18:16:38 | Автор: admin

Привет, Хабр! Несмотря на то, что информационная безопасность и все, что связано с этой сферой, сейчас на хайпе, найти инженера технической поддержки по ИБ задача непростая. Еще больше ее усложняет расхожее мнение, что техподдержка только для джунов, а более опытные специалисты должны переходить в проектную деятельность. Чтобы развенчать этот миф, подробнее расскажем о профессии и возможностях, которые она открывает.

В сервисном департаменте STEP LOGIC на двух линиях технической поддержки работает более 50 специалистов. Сейчас они обслуживают порядка 150 сервисных контрактов это более 10 тыс. инцидентов в год. Первая линия поддержки проводит классификацию обращений заказчиков и если проблему можно решить по скрипту, то закрывает заявку своими силами. Если сделать это в течение первого часа не удается или требуются дополнительные компетенции, то инцидент передается на вторую линию поддержки, инженеры которой обладают более глубокими техническими знаниями и навыками.

Как сервисные партнеры нескольких крупных вендоров, мы имеем право оказывать услуги по технической поддержке оборудования от их имени. Например, при обслуживании оборудования Cisco наши специалисты решают до 80-90% проблем самостоятельно, за помощью к вендору мы обращаемся только при гарантийной замене или обнаружении программных ошибок. Для того, чтобы вендор авторизовал партнера на предоставление совместных услуг, в штате обязательно должны быть сертифицированные инженеры, имеющие CCIE или, как минимум, CCNP. Еще два обязательных условия прохождение ежегодных аудитов на соответствие уровня услуг, требования к которым схожи с лучшими практиками ITIL, и принцип оказания технической поддержки, основанный на практиках Cisco CX Specialization.

Конечно, оптимальное решение для компаний, у которых есть локальная задача поддержки оборудования конкретного вендора, это покупка его стандартных пакетов обслуживания. У того же Cisco, например, есть варианты на разный вкус и кошелек: контракты Cisco SMARTnet или расширенная версия Solution Support, Next Calendar Day, если нужна замена оборудования в выходной или праздничный день, профессиональные услуги вендора Advanced Services (AS) и Business Critical Services (BCS), если заказчику необходим дизайн сети. Но бизнесу, в котором требования постоянно меняются, зачастую удобнее работать с компанией, которая будет жить в конкретной инфраструктуре, понимать, как она построена, в чем ее плюсы и минусы, узкие места и иметь опыт работы с технологиями разных производителей. Востребованы наши услуги и в системах высокой критичности, где нужен высокий SLA с фиксированным временем решения и круглосуточный сервис. Совместное оказание услуг часто удобно и самому производителю, так как он может не держать большой штат поддержки и сосредоточиться на основном бизнесе, не переживая при этом об уровне сервиса.

В локдаун значительно увеличилось число запросов на организацию и сопровождение VPN-каналов, Next Generation Firewall, SIEM-систем, расследование инцидентов безопасности, поэтому остро встал вопрос расширения команды инженеров по информационной безопасности на вторую линию поддержки.

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

График работы предлагаем стандартный 8 часов 5 дней в неделю. Иногда по отделу назначаются дежурства. Если ночью появилась критичная проблема, то дежурному придется подключиться и разобраться с ней. Но есть и небольшой плюс ехать никуда не нужно, специалисту выдается доступ в систему, с помощью которого он может работать удалено. Собственно, поэтому мы и не зацикливались на Москве или области, а сразу расширили зону поиска на всю Россию.

Почему возникли проблемы

  • Небольшое число подходящих специалистов. Забив перечисленные выше параметры на hh.ru, мы видим чуть более 70 человек, находящихся сейчас в поиске работы. Если бы мы искали сотрудника в московский офис, то ситуация была бы еще хуже. Для сравнения, при поиске бухгалтера сайт выдает более 1000 подходящих резюме.

  • Специалисты, имеющие релевантный опыт работы, не хотят идти в техническую поддержку. 30% соискателей отказались еще на этапе приглашения. Наиболее частая причина желание работать на стороне производителя или заниматься проектной деятельностью. В определенный момент мы даже решили несколько снизить планку по знаниям, но потом пришли к неутешительному выводу, что приходящие на собеседование кандидаты не могут объяснить, чем файрвол отличается от маршрутизатора.

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

5 причин обратить внимание на вакансию инженера технической поддержки

  1. Быстрый горизонтальный рост компетенций

    Минимальные начальные требования для кандидатов знание сетевых технологий, основ информационной безопасности, шифрования, принципов работы межсетевого экрана и системы предотвращения вторжений. Кроме стандартных файрволов и VPN, инженеры техподдержки работают с такими классами решений как Next Generation Firewall, SIEM, Web Application Firewall, DLP, IPS/IDS, Identity/AccessManagement, IRP/SOAR, Threat Intelligence. Это помогает развиваться не по одному направлению предметной деятельности, а более широко. Наши специалисты детально изучают оборудование ведущих ИБ-вендоров, тестируют в лаборатории его новые версии.

    Идеальный кандидат должен уметь работать в режиме многозадачности, быстро адаптироваться к изменениям и все схватывать буквально на лету. Такой темп работы позволяет быстро продвигаться по карьерной лестнице: в среднем, путь от младшего инженера техподдержки до ведущего эксперта в STEP LOGIC составляет 5 лет.

  2. Возможность стать экспертом, так как нужно "копать" глубоко

    Работа инженера внедрения заканчивается после ввода проекта в эксплуатацию. Как сотрудники техподдержки, мы можем с уверенностью заявить, что все самое интересное на этом только начинается. Техническая поддержка это не только консультации клиентов по вопросам функционирования оборудования, удаленная диагностика и настройка, решение проблем, локализация и мониторинг аварий, но и совместная работа с вендором по устранению багов, разработка планов по развитию и миграции инфраструктуры. Недавно мы приняли участие в проекте по миграции, который стал для нас своеобразным челленджем. Немного предыстории: крупный российский банк для защиты периметра продолжительное время использовал межсетевые экраны Cisco ASA. За последний год объем трафика увеличился в несколько раз, и оборудование перестало с ним справляться. Заказчик закупил межсетевые экраны нового поколения Cisco Firepower и перед ним встала задача провести максимально бесшовную замену, так как инфраструктура критическая и должна работать 24х7. Необходимо было перенести с одной ОС на другую большое количество настроек: сотни интерфейсов, тысячи правил межсетевого экранирования, сотню VPN и сделать это в короткое окно работ. Была проведена комплексная работа, включающая в себя изменение настроек маршрутизации, трансляции NAT, редистрибуции и фильтрации тысяч маршрутов, учитывающая переходные процессы с целью минимизации возможных потерь трафика.

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

  3. Развить командные навыки работы и soft skills

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

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

  4. Научиться работать с технической документацией

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

  5. Усовершенствовать технический английский

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

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

  • эксперта по классу решений или технологии

  • менеджера/сервис-менеджера/product owner по продукту или услуге

  • руководителя нового направления/услуги

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

Таким образом, если работа с оборудованием и устранение неполадок приносит радость, среди soft skills присутствует пресловутая коммуникабельность и клиентоориентированность, имеется стойкое желание развить свои технические знания и стать экспертом в конкретной области ИТ, то у вас есть веский повод обратить внимание на вакансию инженера технической поддержки.

Подробнее..

Наковали кадров как первая линия техподдержки стала одним из главных каналов онбординга

18.05.2021 18:11:11 | Автор: admin

Привет! Я Илья Тананаев. Руковожу отделом первой линии техподдержки в ITSumma. И хочу поделиться опытом, как из поиска решения проблемы пропущенных чатиков с клиентами мы построили кузницу кадров. Успешно успевая при этом обрабатывать 3k+ клиентских обращений в сутки.

Итак, пару лет назад мы столкнулись с обычной проблемой: админы техподдержки оказались не настолько мультизадачными, чтобы успевать тушить все пожары, решать текущие проблемы и при этом следить за миллионом чатиков с клиентами.

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

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

С чего всё началось

ITSumma начиналась с того, что мы помогали сайтам выдерживать нагрузки и не падать при любых обстоятельствах. Сейчас, спустя 13 лет после основания компании, техподдержка уже далеко не единственное направление нашей работы, но по-прежнему существенное. У нас большой отдел эксплуатации, который следит за инфраструктурой клиентов и реагирует на инциденты 24/7 с SLA в 15 минут.

Когда клиентов было не очень много, дежурные админы сами реагировали не только на алерты мониторинга, но и на все обращения клиентов, включая телефонные звонки. В маленькой команде это кажется оптимальным вариантом зачем заводить сломанный телефон, если исполнитель сам может принять задачу и лучше, чем кто бы то ни было, уточнить детали. Но постепенно компания росла, клиентов становилось больше... и в 2018 году система стала давать сбои.

С ростом числа клиентов дежурным админам стало слишком тяжело одновременно решать свои обычные рабочие задачи и отвечать на запросы клиентов; начали появляться потерянные или неотвеченные клиентскиечатики. Мы поняли, что пора разделить контроль за отслеживанием входящих запросов и задач и, собственно, их исполнение.

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

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

Итерации решения

Сначала первая линия не работала 24/7, да и в принципе, не сразу взяла на себя работу с вообще всеми клиентами. Тем не менее, когда мы вышли на две стабильные смены с 7 утра по Москве (с 12 по Иркутску наш стандартный режим для большинства сотрудников) и с 11 по Москве в будние дни, это уже сильно сняло нагрузку с админов и помогло упорядочить работу. Мы поняли, что первая линия действительно полезна, а от админов круглосуточной техподдержки поступил запрос на работу первой линии не только в дневное время.

В 2019-м мы ввели еще смены для подстраховки на время пиковой нагрузки по будням с 10 утра по Москве. А позже, проанализировав ситуацию, решили, что нужно переводить первую линию на 24/7 чтобы помогать техподдержке всё время.

Итоги первого года работы первой линии:

  • Избавили квалифицированных админов от рутины по звонкам и приёму обращений клиентов, сделав их работу более упорядоченной.

  • Ответственным за SLA стал не только отдел эксплуатации, но и первая линия поддержки.

  • Получили более надежный процесс обслуживания клиентов, в котором задачи не теряются, а выполняются вовремя.

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

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

Постепенно на первую линии перешло реагирование на некоторые алерты мониторинга, обновление сертификатов, редактирование конфигурации nginx и ssl certbot. Например, если у клиента в ночное время приходил алерт по продовой площадке и не резолвился, то нужно было оповестить клиента в течении 15 мин согласно SLA.

На картинке число обращений по одному их проектов, которое ежемесячно обрабатывают самостоятельно бойцы первой линии. Понятно, что сложность у них разная, но объёмы всё равно можно представить. Дополнительно мы строим еще кучу графиков в Redash по дням недели, по часам и т.д., чтобы распределять дежурства, соответствующие нагрузке.

Расписание для людей

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

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

Мы попробовали разные варианты: 8- и 12-часовые смены, только дневные и только ночные, вперемешку и т.д. Вот что получилось:

  • Думали было над 12-часовыми сменами вперемежку день/ночь но даже не стали пробовать на практике: поразмыслив, поняли, что это был бы жестокий удар по биоритму и здоровью.

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

  • Отдельно ночные и дневные дежурные вариант, которые устроил больше всего.

Дополнительно по мере развития отдела появились еще 8-ми часовые смены на дневное пиковое время в это время нагрузка самая большая, и 12 часов подряд её выдерживать тяжело. Сейчас у специалиста первой линии есть не только возможность выбрать подходящий ему график, но и расставить приоритеты для возможной ротации, как по времени, так и по отделам. Сотрудник оценивает по 5-балльной шкале удобство возможного времени работы, а также оставляет комментарии о том, какие у него предпочтения, либо внерабочая активность.

Развитие специалистов первой линии поддержки

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

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

Но это нам теперь понятно, что развитие выгодно и сотрудникам, и нам, как компании. А началось все очень прозаично и прагматично.

Таско-дни или командировки в другие отделы

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

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

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

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

Эксперимент с таско-днями был удачным. Он наглядно показал пользу от выбранной тактики помогать развиваться нашим сотрудникам. Поэтому теперь мы всегда закладываем резерв под подобную практику, но сейчас это не несколько дней для нескольких человек, а полноценные две недели или, в последнее время, месяц для одного сотрудника первой линии, которые он работает в другом отделе. Мы называем это командировками.

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

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

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

Направления для командирования сотрудников первой линии поддержки такие:

  • документация;

  • мониторинг;

  • эксплуатация;

  • дежурства второй линии;

  • аккаунтинг;

  • и даже разработка.

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

Это нас возвращает к тому, зачем понадобилось автоматизировать обучение. Компания быстро развивается, есть много возможностей для роста, и в итоге достаточно часто на первую линию нужны новички (не путать с текучкой, её у нас как раз нет). Так настройка системы обучения и knowledge sharing превратились в приоритетные задачи.

Онбординг-курсы

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

Документирование нашей работы прошло довольно стандартный путь:

  • Понятно, что сначала документации как таковой не было были разрозненные наброски.

  • На первой итерации по улучшению я выделил время и постарался её систематизировать стало чуть лучше, но еще не достаточно.

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

  • Третья итерация не конечная точка, а непрерывная работа по улучшению. Мы собираем отзывы новичков, исправляем и расширяем то, где обнаруживаются недостаточно понятные места. Вообще фидбэк новичков очень полезен, а когда они еще и дописывают недостающую информацию, это вообще супер.

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

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

Для автоматизации процесса онбординга поднялиMoodle и сделали свои курсы. Они состоят из некоторой справочной информации, видеоуроков и тестов. У роликов есть временне метки с описаниями, поэтому к такому материалу удобно возвращаться, если позже понадобится что-то уточнить.

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

При проверке скрипта на корректность перед запуском на какие критерии обращаем внимание?

1. block for commit.

2. block for delay.

3. PS/SQL file successfully completed.

4. exit.

5. set auto commit off.

6. current schema.

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

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

Можем ли мы изменять категорию задач вручную в созданной задаче? Если да, то где?

a. Можем, но аккуратно в Состояние.

b. Нет

c. Можем. В созданной задаче в правой колонке. Там, где Категория

d. Неее. Такого быть не может

e. Надо зайти в группы слева и там найти логово дракона. Вскрыть яйцо и после откроется тайна, где можно изменить категорию у задачи.

Как видите, это не похоже на строгую сертификацию. Это просто еще один способ помочь новому сотруднику усвоить много информации в короткие сроки.

После доработки документации онбординг курсы это лучшие инвестиции в развитие отдела.

Потратив один раз время и вложившись в автоматизацию стартового обучения, мы:

  • Сэкономили время опытных специалистов на онбординг новичков.

  • Уберегли главного наставника новичков от выгорания.

  • Сделали онбординг качественнее (и это, пожалуй, главное). Когда один и тот же человек пятый-десятый раз рассказывает одно и то же, он легко может что-то пропустить, потому что путается, что кому уже рассказывал. С автоматическими курсами такое не произойдет.

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

Результаты

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

Для сотрудников это хорошая возможность для старта карьеры: начальные требования очень лояльные и есть, куда расти. ITSumma занимается разными направлениями, так что новичок у нас может попробовать себя в разных областях и выбрать, что ему по душе. При этом мы расширяемся, поэтому способные люди точно не останутся без новых вызовов и повышения.

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

Сейчас в первой линии работает 13 человек, из них 4-5 постоянно находятся в командировках в бэк-отделах, получают новые знания и повышают имеющиеся. За время этого не очень-то длинного эксперимента уже 9 человек пошли на повышение. Например, первая линии поддержки была отправной точкой для тимлида отдела дежурств и тимлида отдела документации, специалистов в отделах документации, мониторинга, бэкапов и аккаунтинга.

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

Takeaways

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

Первая линия поддержки это просто пример. У любой IT-компании есть что-то, что могут делать новички: ручное тестирование, простая верстка, документация, скриптованное бэкапирование или обновление. Всегда можно найти подходящую песочницу.

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

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

Подробнее..

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке

20.06.2021 14:08:21 | Автор: admin

Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.

Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и вбивание адресов с аккаунтами занимает довольно существенное время.
Держать все подключения к VPN в Windows не самая лучшая идея, да и при переустановке оного, создавать VPNы тоже не доставляет удовольствие.
Плюс к тому, в большинстве случаев, требуется установить VPN подключение к клиенту без использования шлюза. дабы не гонять весь интернет-трафик через клиента.
Задача, к тому же, осложняется тем, что у некоторых клиентов pptp, у кого-то l2tp, у некоторых несколько подсетей, туннели и т.п.

В результате, для начала был написан скрипты на Powershell для каждого клиента, но позже, узнав, что в Powershell можно использовать Winforms они переродились в некое приложение, написанное с помощью того же Powershell.

До написания этого скрипта-приложения программированием не занимался вообще, разве что лет 20 назад что-то пописывал на VBS в MS Excel и MS Access, поэтому не гарантирую красивость кода и принимаю критику от опытных программистов, как можно было бы сделать красивее.

В Powershell, начиная с Windows 8 и, конечно в Windows 10, появилась прекрасная возможность создавать VPN подключения командой Add-VpnConnection и указывать какие маршруты использовать с этими соединениями командой Add-VpnConnectionRoute, для использования VPN без шлюза.

На основании этих команд и создано данное приложение. Но, обо всем по порядку.

Для начала, создаем в Google Disk таблицу с именованными столбцами:
Number; Name; VPNname; ServerAddress; RemoteNetwork; VPNLogin; VPNPass; VPNType; l2tpPsk; RDPcomp; RDPuser; RDPpass; DefaultGateway; PortWinbox; WinboxLogin; WinboxPwd; Link; Inform

  • VPNname произвольное имя для VPN соединения

  • ServerAddress адрес VPN сервера

  • RemoteNetwork адреса подсети или подсетей клиента, разделенные ;

  • VPNLogin; VPNPass учетная запись VPN

  • VPNType -тип VPN (пока используется pptp или l2tp)

  • l2tpPsk PSK для l2tp, в случае pptp оставляем пустым

  • RDPcomp адрес сервера RPD

  • RDPuser; RDPpass учетная запись RPD

  • DefaultGateway принимает значение TRUE или FALSE и указывает на то, использовать ли Шлюз по умолчанию для этого соединения. В 90% случаев = FALSE

  • PortWinbox; WinboxLogin; WinboxPwd порт, логин и пароль для Winbox, поскольку у нас большинство клиентов использует Mikrotik)

  • Link ссылка на расширенную информацию о компании, например, на диске Google, или в любом другом месте, будет выводиться в информационном поле для быстрого доступа к нужной информации

Inform примечание

Пример таблицы доступен по ссылке

Number

Name

VPNname

ServerAddress

RemoteNetwork

VPNLogin

VPNPass

VPNType

l2tpPsk

RDPcomp

RDPuser

RDPpass

DefaultGateway

PortWinbox

WinboxLogin

WinboxPwd

Link

Inform

1

Тест1

Test1

a.b.c.d

192.168.10.0/24: 10.10.0.0/24

vpnuser

passWord

pptp

none

192.168.10.1

user

passWord

TRUE

8291

Admin

Admin

http://yandex.ru

тест

2

Тест2

Test2

e.f.j.k

192.168.2.0/24

vpnuser

passWord

l2tp

KdoSDtdP

192.168.2.1

user

passWord

FALSE

8291

Admin

Admin

Скриншот работающего приложения с затертыми данными:

Далее следует листинг приложения с комментариями и пояснениями. Если интересно, но непонятно, задавайте вопросы, постараюсь прокомментировать

function Get-Clients #Функция принимает строку адреса файла в Google Drive и возвращает в виде массива данных о клиентах{param([string]$google_url = "")[string]$xlsFile = $google_url$csvFile = "$env:temp\clients.csv"$Comma = ','Invoke-WebRequest $xlsFile -OutFile $csvFile$clients = Import-Csv -Delimiter $Comma -Path "$env:temp\clients.csv"Remove-Item -Path $csvFilereturn $clients}function Main {<#    Функция, срабатываемая при запуске скрипта#>Param ([String]$Commandline)#Иннициализируем переменные и присваиваем начальные значения. Здесь же, указываем путь к таблице с клиентами$Global:Clients = $null$Global:Current$Global:CurrentRDPcomp$Global:google_file = "https://docs.google.com/spreadsheets/d/1O-W1YCM4x3o5W1w6XahCJZpkTWs8cREXVF69gs1dD0U/export?format=csv" # Таблица скачивается сразу в виде csv-файла$Global:Clients = Get-Clients ($Global:google_file) # Присваиваем значения из таблицы массиву #Скачиваем Winbox64 во временную папку$download_url = "https://download.mikrotik.com/winbox/3.27/winbox64.exe"$Global:local_path = "$env:temp\winbox64.exe"If ((Test-Path $Global:local_path) -ne $true){$WebClient = New-Object System.Net.WebClient$WebClient.DownloadFile($download_url, $Global:local_path)}  #Разрываем все текущие VPN соединения (на всякий случай)foreach ($item in get-vpnconnection | where { $_.ConnectionStatus -eq "Connected" }){Rasdial $item.Name /disconnect}  #Удаляем все, ранее созданные программой временные соединения, если вдруг не удалились при некорректном закрытии приложенияget-vpnconnection | where { $_.Name -match "tmp" } | Remove-VpnConnection -Force#Запускаем приложениеShow-MainForm_psf}#Собственно, само приложениеfunction Show-MainForm_psf{[void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')[void][reflection.assembly]::Load('System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')#Создаем форму и объекты формы[System.Windows.Forms.Application]::EnableVisualStyles()$formКлиентыАльбус = New-Object 'System.Windows.Forms.Form'$statusbar1 = New-Object 'System.Windows.Forms.StatusBar'$groupboxTools = New-Object 'System.Windows.Forms.GroupBox'$buttonPing = New-Object 'System.Windows.Forms.Button'$buttonВыход = New-Object 'System.Windows.Forms.Button'$buttonWindox = New-Object 'System.Windows.Forms.Button'$buttonПеречитатьДанные = New-Object 'System.Windows.Forms.Button'$buttonPingAll = New-Object 'System.Windows.Forms.Button'$groupboxRDP = New-Object 'System.Windows.Forms.GroupBox'$comboboxRDP = New-Object 'System.Windows.Forms.ComboBox'$textboxRDPLogin = New-Object 'System.Windows.Forms.TextBox'$textboxRdpPwd = New-Object 'System.Windows.Forms.TextBox'$buttonПодключитьRDP = New-Object 'System.Windows.Forms.Button'$groupboxVPN = New-Object 'System.Windows.Forms.GroupBox'$buttonПодключитьVPN = New-Object 'System.Windows.Forms.Button'$buttonОтключитьVPN = New-Object 'System.Windows.Forms.Button'$checkboxШлюзПоумолчанию = New-Object 'System.Windows.Forms.CheckBox'$richtextboxinfo = New-Object 'System.Windows.Forms.RichTextBox'$listbox_clients = New-Object 'System.Windows.Forms.ListBox'$InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'  #----------------------------------------------# Обработчики событий#----------------------------------------------$formКлиентыАльбус_Load = {#При загрузке формы очистить поле информации и заполнить поле с клиентами (их названиями) $richtextboxinfo.Clear()$Global:Clients | ForEach-Object {[void]$listbox_clients.Items.Add($_.Name)} # В листбокс добавляем всех наших клиентов по именам и массива при загрузке формы}$listbox_clients_SelectedIndexChanged = {#Прочитать из массива информацию о клиенте при выборе его в поле listbox_clients (массив, как мы помним считан из файла с диска Google)$statusbar1.Text = 'Выбран клиент: ' + $listbox_clients.SelectedItem.ToString() # Пишем клиента в статусбар$Global:Current = $Global:Clients.Where({ $_.Name -eq $listbox_clients.SelectedItem.ToString() })If ($Current.PortWinbox -ne 0) # Если порт Winbox указан, то у клиента Mikrotik, включаем соответствующую кнопку{$buttonWindox.Enabled = $true$buttonWindox.Text = "Winbox"}$VPNname = $Global:Current.VPNname + "-tmp" #Добавляем к имени VPN соединения "-tmp" для указания метки временного соединения, чтобы при выходе удалить только ихswitch ($Global:Current.VPNType) #В зависимости от типа VPN пишем на кнопке "Подключить pptp VPN" или "Подключить l2tp VPN", если у клиента нет VPN, то пишем "Здесь нет VPN"{"pptp" {$buttonПодключитьVPN.Enabled = $true$buttonПодключитьVPN.Text = "Подключить pptp VPN"}"l2tp" {$buttonПодключитьVPN.Enabled = $true$buttonПодключитьVPN.Text = "Подключить l2tp VPN"}DEFAULT{$buttonПодключитьVPN.Enabled = $false$buttonПодключитьVPN.Text = "Здесь нет VPN"}}switch ($Global:Current.DefaultGateway) #Смотрим в массиве, используется ли у клиента "Шлюз по-умолчанию" и заполняем соответствующий чекбокс{"FALSE"{ $checkboxШлюзПоумолчанию.Checked = $false }"Нет"{ $checkboxШлюзПоумолчанию.Checked = $false }"TRUE"{ $checkboxШлюзПоумолчанию.Checked = $true }"Да"{ $checkboxШлюзПоумолчанию.Checked = $true }DEFAULT{ $checkboxШлюзПоумолчанию.Checked = $false }}$VPNStatus = (ipconfig | Select-String $VPNname -Quiet) #Проверяем, не установлено ли уже это VPN соединение?If ($VPNStatus) #Если установлено, то разблокируем кнопку "Подключить RDP"{$buttonПодключитьRDP.Enabled = $true}else{$buttonПодключитьRDP.Enabled = $false}$richtextboxinfo.Clear() #Очищаем информационное поле # И заполняем информацией о клиенте из массива$richtextboxinfo.SelectionColor = 'Black'$richtextboxinfo.Text = "Клиент: " + $Global:Current.Name + [System.Environment]::NewLine + `"Имя VPN: " + $Global:Current.VPNname + [System.Environment]::NewLine + `"Тип VPN: " + $Global:Current.VPNType + [System.Environment]::NewLine + `"Адрес сервера: " + $Global:Current.ServerAddress + [System.Environment]::NewLine + `"Подсеть клиента: " + $Global:Current.RemoteNetwork + [System.Environment]::NewLine + `"Адрес сервера RDP: " + $Global:Current.RDPcomp + [System.Environment]::NewLine + [System.Environment]::NewLine + `"DefaultGateway: " + $Global:Current.DefaultGateway + [System.Environment]::NewLine + [System.Environment]::NewLine + `"Примечание: " + [System.Environment]::NewLine + $Global:Current.Inform + [System.Environment]::NewLine + `"Connection '" + $VPNname + "' status is " + $buttonПодключитьRDP.Enabled + [System.Environment]::NewLine$richtextboxinfo.AppendText($Global:Current.Link)$RDPServers = $Global:Current.RDPcomp.Split(';') -replace '\s', '' #Считываем и разбираем RDP серверы клиента из строки с разделителем в массив#Добавляем из в выпадающее поле выбора сервера$comboboxRDP.Items.Clear()$comboboxRDP.Text = $RDPServers[0]foreach ($RDPServer in $RDPServers){$comboboxRDP.Items.Add($RDPServer)}#Заполняем поля имени и пароля RDP по умолчанию из таблицы о клиенте (при желании, их можно поменять в окне программы)$textboxRdpPwd.Text = $Global:Current.RDPpass$textboxRdpLogin.Text = $Global:Current.RDPuser} # Форма заполнена, при смене выбранного клиента произойдет перезаполнение полей в соответствии с выбранным клиентом$buttonWindox_Click = {#Обработка нажатия кнопки WinboxIf ($Global:Current.PortWinbox -ne 0) #Если порт Winbox заполнен, то открываем скачанный ранее Winbox, подставляем туда имя и пароль к нему и запускаем{$runwinbox = "$env:temp\winbox64.exe"$ServerPort = $Global:Current.ServerAddress + ":" + $Global:Current.PortWinbox$ServerLogin = " """ + $Global:Current.WinboxLogin + """"$ServerPass = " """ + $Global:Current.WinboxPwd + """"$Arg = "$ServerPort $ServerLogin $ServerPass "Start-Process -filePath $runwinbox -ArgumentList $Arg}}$buttonПодключитьVPN_Click = {#Обработка нажатия кнопки ПодключитьVPN$VPNname = $Global:Current.VPNname + "-tmp" #Добавляем к имени VPN соединения "-tmp" для указания метки временного соединения, чтобы при выходе удалить только их$richtextboxinfo.Clear() #Очищаем информационное поля для вывода туда информации о процессе подключения$richtextboxinfo.Text = "Клиент: " + $Global:Current.Name + [System.Environment]::NewLineforeach ($item in get-vpnconnection | where { $_.ConnectionStatus -eq "Connected" }) #Разрываем все установленные соединения{$richtextboxinfo.Text = $richtextboxinfo.Text + "Обнаружено активное соединение " + $item.Name + " разрываем его" + [System.Environment]::NewLineRasdial $item.Name /disconnect}Remove-VpnConnection $VPNname -Force #Удаляем соединение, если ранее оно было создано$RemoteNetworks = $Global:Current.RemoteNetwork.Split(';') -replace '\s', '' #Считываем и разбираем по строкам в массив список подсетей клиента разделенный ;switch ($Global:Current.VPNType) #В зависимости от типа VPNа создаем pptp или l2tp соединение{"pptp" {$richtextboxinfo.Text = $richtextboxinfo.Text + "Создаем pptp подключение " + $VPNname + [System.Environment]::NewLineIf ($checkboxШлюзПоумолчанию.Checked -eq $false) #Если не используется "Шлюз по-умолчанию", то создаем VPN соединение без него и прописываем маршруты{$Errcon = (Add-VpnConnection -Name $VPNname -ServerAddress $Global:Current.ServerAddress -TunnelType $Global:Current.VPNType -SplitTunneling -Force -RememberCredential -PassThru) #Здесь происходит создание VPNforeach ($RemoteNetwork in $RemoteNetworks) #Добавляем все подсети клиента к этому VPN{$richtextboxinfo.AppendText('Добавляем маршрут к ' + $RemoteNetwork + [System.Environment]::NewLine)Add-VpnConnectionRoute -ConnectionName $VPNname -DestinationPrefix $RemoteNetwork -PassThru}}else #Если используется "Шлюз по-умолчанию", то создаем VPN соединение с ним и маршруты к клиенту не нужны{$Errcon = (Add-VpnConnection -Name $VPNname -ServerAddress $Global:Current.ServerAddress -TunnelType $Global:Current.VPNType -Force -RememberCredential -PassThru)}}"l2tp" {$richtextboxinfo.Text = $richtextboxinfo.Text + "Создаем l2tp подключение " + $Global:Current.VPNname + [System.Environment]::NewLineIf ($checkboxШлюзПоумолчанию.Checked -eq $false) #Если не используется "Шлюз по-умолчанию", то создаем VPN соединение без него и прописываем маршруты{$Errcon = (Add-VpnConnection -Name $VPNname -ServerAddress $Global:Current.ServerAddress -TunnelType $Global:Current.VPNType -L2tpPsk $Global:Current.l2tpPsk -SplitTunneling -Force -RememberCredential -PassThru) #Здесь происходит создание VPNforeach ($RemoteNetwork in $RemoteNetworks) #Добавляем все подсети клиента к этому VPN{$richtextboxinfo.AppendText('Добавляем маршрут к ' + $RemoteNetwork + [System.Environment]::NewLine)Add-VpnConnectionRoute -ConnectionName $VPNname -DestinationPrefix $RemoteNetwork -PassThru}}else #Если используется "Шлюз по-умолчанию", то создаем VPN соединение с ним и маршруты к клиенту не нужны{$Errcon = (Add-VpnConnection -Name $VPNname -ServerAddress $Global:Current.ServerAddress -TunnelType $Global:Current.VPNType -L2tpPsk $Global:Current.l2tpPsk -Force -RememberCredential -PassThru)}}}$richtextboxinfo.AppendText("Устанавливаем " + $Global:Current.VPNType + " подключение к " + $VPNname + [System.Environment]::NewLine)$Errcon = Rasdial $VPNname $Global:Current.VPNLogin $Global:Current.VPNPass #Устанавливаем созданное VPN подключение и выводим информацию в поле$richtextboxinfo.Text = $richtextboxinfo.Text + [System.Environment]::NewLine + $Errcon + [System.Environment]::NewLineIf ((ipconfig | Select-String $VPNname -Quiet)) #Проверяем успешность соединения и, если все удачно, разблокируем кнопку RDP  и кнопку "Отключить VPN"{$buttonПодключитьRDP.Enabled = $true$buttonОтключитьVPN.Visible = $true$buttonОтключитьVPN.Enabled = $true$statusbar1.Text = $Global:Current.Name + ' подключен'}}$formКлиентыАльбус_FormClosing = [System.Windows.Forms.FormClosingEventHandler]{#При закрытии формы подчищаем за собой. Разрываем и удаляем все созданные соединения. foreach ($item in get-vpnconnection | where { $_.ConnectionStatus -eq "Connected" }){$richtextboxinfo.Text = $richtextboxinfo.Text + "Обнаружено активное соединение " + $item.Name + " разрываем его" + [System.Environment]::NewLineRasdial $item.Name /disconnect}$richtextboxinfo.Text = $richtextboxinfo.Text + "Удаляем все временные соединения" + [System.Environment]::NewLineget-vpnconnection | where { $_.Name -match "tmp" } | Remove-VpnConnection -Force#Удаляем информацию о RPD-серверах из реестра$Global:Clients | ForEach-Object {$term = "TERMSRV/" + $_.RDPcompcmdkey /delete:$term}}$buttonПодключитьRDP_Click = {#Обработка кнопки ПодключитьRDP$RDPcomp = $comboboxRDP.Text$RDPuser = $textboxRDPLogin.Text$RDPpass = $textboxRdpPwd.Textcmdkey /generic:"TERMSRV/$RDPcomp" /user:"$RDPuser" /pass:"$RDPpass"mstsc /v:$RDPcomp}$buttonОтключитьVPN_Click = {#При отключении VPN подчищаем за собой и оповещаем о процессе в поле информацииforeach ($item in get-vpnconnection | where { $_.ConnectionStatus -eq "Connected" }){$richtextboxinfo.Text = $richtextboxinfo.Text + "Обнаружено активное соединение " + $item.Name + " разрываем его" + [System.Environment]::NewLineRasdial $item.Name /disconnect}$richtextboxinfo.Text = $richtextboxinfo.Text + "Удаляем все временные соединения" + [System.Environment]::NewLineget-vpnconnection | where { $_.Name -match "tmp" } | Remove-VpnConnection -Force$buttonОтключитьVPN.Visible = $false$buttonПодключитьRDP.Enabled = $false$statusbar1.Text = $Global:Current.Name + ' отключен'}$buttonPingAll_Click={#Пингуем всех клиентов и оповещаем о результатах$I=0$richtextboxinfo.Clear()$richtextboxinfo.SelectionColor = 'Black'$clientscount = $Global:Clients.count$Global:Clients | ForEach-Object {if ((test-connection -Count 1 -computer $_.ServerAddress -quiet) -eq $True){$richtextboxinfo.SelectionColor = 'Green'$richtextboxinfo.AppendText($_.Name +' ('+ $_.ServerAddress +') доступен' + [System.Environment]::NewLine)}else{$richtextboxinfo.SelectionColor = 'Red'$richtextboxinfo.AppendText($_.Name + ' (' + $_.ServerAddress + ')  недоступен (или закрыт ICMP)' + [System.Environment]::NewLine)}$richtextboxinfo.ScrollToCaret()$I = $I + 1Write-Progress -Activity "Ping in Progress" -Status "$i clients of $clientscount pinged" -PercentComplete ($i/$clientscount*100)}$richtextboxinfo.SelectionColor = 'Black'Write-Progress -Activity "Ping in Progress" -Status "Ready" -Completed}$buttonПеречитатьДанные_Click={#Перечитываем данные из таблицы Google$Global:Clients = Get-Clients ($Global:google_file)$listbox_clients.Items.Clear()$Global:Clients | ForEach-Object {[void]$listbox_clients.Items.Add($_.Name)}}$buttonВыход_Click = {#Выход$formКлиентыАльбус.Close()}$richtextboxinfo_LinkClicked=[System.Windows.Forms.LinkClickedEventHandler]{#Обработка нажатия на ссылку в окне информацииStart-Process $_.LinkText.ToString()}$buttonPing_Click={#Пингуем ip текущего клиента и выводим результат в поле информацииif ((test-connection -Count 1 -computer $Global:Current.ServerAddress -quiet) -eq $True){$richtextboxinfo.AppendText([System.Environment]::NewLine)$richtextboxinfo.SelectionColor = 'Green'$richtextboxinfo.AppendText($Global:Current.Name + ' (' + $Global:Current.ServerAddress + ') доступен' + [System.Environment]::NewLine)}else{$richtextboxinfo.AppendText([System.Environment]::NewLine)$richtextboxinfo.SelectionColor = 'Red'$richtextboxinfo.AppendText($Global:Current.Name + ' (' + $Global:Current.ServerAddress + ')  недоступен (или закрыт ICMP)' + [System.Environment]::NewLine)}}#----------------------------------------------#Описание объектов формы#----------------------------------------------## formКлиентыАльбус#$formКлиентыАльбус.Controls.Add($statusbar1)$formКлиентыАльбус.Controls.Add($groupboxTools)$formКлиентыАльбус.Controls.Add($groupboxRDP)$formКлиентыАльбус.Controls.Add($groupboxVPN)$formКлиентыАльбус.Controls.Add($richtextboxinfo)$formКлиентыАльбус.Controls.Add($listbox_clients)$formКлиентыАльбус.AutoScaleDimensions = '6, 13'$formКлиентыАльбус.AutoScaleMode = 'Font'$formКлиентыАльбус.AutoSize = $True$formКлиентыАльбус.ClientSize = '763, 446'$formКлиентыАльбус.FormBorderStyle = 'FixedSingle'$formКлиентыАльбус.MaximizeBox = $False$formКлиентыАльбус.Name = 'formКлиентыАльбус'$formКлиентыАльбус.SizeGripStyle = 'Hide'$formКлиентыАльбус.StartPosition = 'CenterScreen'$formКлиентыАльбус.Text = 'Клиенты Альбус'$formКлиентыАльбус.add_FormClosing($formКлиентыАльбус_FormClosing)$formКлиентыАльбус.add_Load($formКлиентыАльбус_Load)## statusbar1#$statusbar1.Location = '0, 424'$statusbar1.Name = 'statusbar1'$statusbar1.Size = '763, 22'$statusbar1.TabIndex = 17## groupboxTools#$groupboxTools.Controls.Add($buttonPing)$groupboxTools.Controls.Add($buttonВыход)$groupboxTools.Controls.Add($buttonWindox)$groupboxTools.Controls.Add($buttonПеречитатьДанные)$groupboxTools.Controls.Add($buttonPingAll)$groupboxTools.Location = '308, 258'$groupboxTools.Name = 'groupboxTools'$groupboxTools.Size = '147, 163'$groupboxTools.TabIndex = 10$groupboxTools.TabStop = $False$groupboxTools.Text = 'Tools'$groupboxTools.UseCompatibleTextRendering = $True## buttonPing#$buttonPing.Location = '7, 44'$buttonPing.Name = 'buttonPing'$buttonPing.Size = '133, 23'$buttonPing.TabIndex = 12$buttonPing.Text = 'Ping'$buttonPing.UseCompatibleTextRendering = $True$buttonPing.UseVisualStyleBackColor = $True$buttonPing.add_Click($buttonPing_Click)## buttonВыход#$buttonВыход.Location = '7, 125'$buttonВыход.Name = 'buttonВыход'$buttonВыход.Size = '133, 23'$buttonВыход.TabIndex = 15$buttonВыход.Text = 'Выход'$buttonВыход.UseCompatibleTextRendering = $True$buttonВыход.UseVisualStyleBackColor = $True$buttonВыход.add_Click($buttonВыход_Click)## buttonWindox#$buttonWindox.Enabled = $False$buttonWindox.Location = '7, 17'$buttonWindox.Name = 'buttonWindox'$buttonWindox.Size = '133, 23'$buttonWindox.TabIndex = 11$buttonWindox.Text = 'Windox'$buttonWindox.UseCompatibleTextRendering = $True$buttonWindox.UseVisualStyleBackColor = $True$buttonWindox.add_Click($buttonWindox_Click)## buttonПеречитатьДанные#$buttonПеречитатьДанные.Location = '7, 98'$buttonПеречитатьДанные.Name = 'buttonПеречитатьДанные'$buttonПеречитатьДанные.Size = '133, 23'$buttonПеречитатьДанные.TabIndex = 14$buttonПеречитатьДанные.Text = 'Перечитать данные'$buttonПеречитатьДанные.UseCompatibleTextRendering = $True$buttonПеречитатьДанные.UseVisualStyleBackColor = $True$buttonПеречитатьДанные.add_Click($buttonПеречитатьДанные_Click)## buttonPingAll#$buttonPingAll.Location = '7, 71'$buttonPingAll.Name = 'buttonPingAll'$buttonPingAll.Size = '133, 23'$buttonPingAll.TabIndex = 13$buttonPingAll.Text = 'Ping All'$buttonPingAll.UseCompatibleTextRendering = $True$buttonPingAll.UseVisualStyleBackColor = $True$buttonPingAll.add_Click($buttonPingAll_Click)## groupboxRDP#$groupboxRDP.Controls.Add($comboboxRDP)$groupboxRDP.Controls.Add($textboxRDPLogin)$groupboxRDP.Controls.Add($textboxRdpPwd)$groupboxRDP.Controls.Add($buttonПодключитьRDP)$groupboxRDP.Location = '308, 128'$groupboxRDP.Name = 'groupboxRDP'$groupboxRDP.Size = '147, 126'$groupboxRDP.TabIndex = 5$groupboxRDP.TabStop = $False$groupboxRDP.Text = 'RDP'$groupboxRDP.UseCompatibleTextRendering = $True## comboboxRDP#$comboboxRDP.FormattingEnabled = $True$comboboxRDP.Location = '7, 17'$comboboxRDP.Name = 'comboboxRDP'$comboboxRDP.Size = '133, 21'$comboboxRDP.TabIndex = 6$comboboxRDP.Text = 'IP RDP сервера'## textboxRDPLogin#$textboxRDPLogin.Location = '7, 44'$textboxRDPLogin.Name = 'textboxRDPLogin'$textboxRDPLogin.Size = '133, 20'$textboxRDPLogin.TabIndex = 7$textboxRDPLogin.Text = 'RDP-login'## textboxRdpPwd#$textboxRdpPwd.Location = '7, 69'$textboxRdpPwd.Name = 'textboxRdpPwd'$textboxRdpPwd.PasswordChar = '*'$textboxRdpPwd.Size = '133, 20'$textboxRdpPwd.TabIndex = 8$textboxRdpPwd.Text = 'RDP-Password'## buttonПодключитьRDP#$buttonПодключитьRDP.Enabled = $False$buttonПодключитьRDP.Location = '7, 94'$buttonПодключитьRDP.Name = 'buttonПодключитьRDP'$buttonПодключитьRDP.Size = '133, 20'$buttonПодключитьRDP.TabIndex = 9$buttonПодключитьRDP.Text = 'Подключить RDP'$buttonПодключитьRDP.UseCompatibleTextRendering = $True$buttonПодключитьRDP.UseVisualStyleBackColor = $True$buttonПодключитьRDP.add_Click($buttonПодключитьRDP_Click)## groupboxVPN#$groupboxVPN.Controls.Add($buttonПодключитьVPN)$groupboxVPN.Controls.Add($buttonОтключитьVPN)$groupboxVPN.Controls.Add($checkboxШлюзПоумолчанию)$groupboxVPN.Location = '308, 27'$groupboxVPN.Name = 'groupboxVPN'$groupboxVPN.Size = '147, 98'$groupboxVPN.TabIndex = 1$groupboxVPN.TabStop = $False$groupboxVPN.Text = 'VPN'$groupboxVPN.UseCompatibleTextRendering = $True## buttonПодключитьVPN#$buttonПодключитьVPN.Enabled = $False$buttonПодключитьVPN.Location = '7, 45'$buttonПодключитьVPN.Name = 'buttonПодключитьVPN'$buttonПодключитьVPN.Size = '133, 20'$buttonПодключитьVPN.TabIndex = 3$buttonПодключитьVPN.Text = 'Подключить VPN'$buttonПодключитьVPN.UseCompatibleTextRendering = $True$buttonПодключитьVPN.UseVisualStyleBackColor = $True$buttonПодключитьVPN.add_Click($buttonПодключитьVPN_Click)## buttonОтключитьVPN#$buttonОтключитьVPN.Enabled = $False$buttonОтключитьVPN.Location = '7, 67'$buttonОтключитьVPN.Name = 'buttonОтключитьVPN'$buttonОтключитьVPN.Size = '133, 20'$buttonОтключитьVPN.TabIndex = 4$buttonОтключитьVPN.Text = 'Отключить VPN'$buttonОтключитьVPN.UseCompatibleTextRendering = $True$buttonОтключитьVPN.UseVisualStyleBackColor = $True$buttonОтключитьVPN.Visible = $False$buttonОтключитьVPN.add_Click($buttonОтключитьVPN_Click)## checkboxШлюзПоумолчанию#$checkboxШлюзПоумолчанию.Location = '7, 19'$checkboxШлюзПоумолчанию.Name = 'checkboxШлюзПоумолчанию'$checkboxШлюзПоумолчанию.Size = '133, 24'$checkboxШлюзПоумолчанию.TabIndex = 2$checkboxШлюзПоумолчанию.Text = 'Шлюз по-умолчанию'$checkboxШлюзПоумолчанию.TextAlign = 'MiddleRight'$checkboxШлюзПоумолчанию.UseCompatibleTextRendering = $True$checkboxШлюзПоумолчанию.UseVisualStyleBackColor = $True## richtextboxinfo#$richtextboxinfo.Cursor = 'Default'$richtextboxinfo.ForeColor = 'WindowText'$richtextboxinfo.HideSelection = $False$richtextboxinfo.Location = '461, 27'$richtextboxinfo.Name = 'richtextboxinfo'$richtextboxinfo.ReadOnly = $True$richtextboxinfo.ScrollBars = 'ForcedVertical'$richtextboxinfo.ShowSelectionMargin = $True$richtextboxinfo.Size = '290, 394'$richtextboxinfo.TabIndex = 16$richtextboxinfo.Text = ''$richtextboxinfo.add_LinkClicked($richtextboxinfo_LinkClicked)## listbox_clients#$listbox_clients.FormattingEnabled = $True$listbox_clients.Location = '12, 27'$listbox_clients.Name = 'listbox_clients'$listbox_clients.Size = '290, 394'$listbox_clients.TabIndex = 0$listbox_clients.add_SelectedIndexChanged($listbox_clients_SelectedIndexChanged)#Save the initial state of the form$InitialFormWindowState = $formКлиентыАльбус.WindowState#Init the OnLoad event to correct the initial state of the form$formКлиентыАльбус.add_Load($Form_StateCorrection_Load)#Clean up the control events$formКлиентыАльбус.add_FormClosed($Form_Cleanup_FormClosed)#Store the control values when form is closing$formКлиентыАльбус.add_Closing($Form_StoreValues_Closing)#Show the Formreturn $formКлиентыАльбус.ShowDialog()}#Запуск приложения!Main ($CommandLine) 

Скрипт можно запускать как скрипт ps1 или скомпилировать в exe через ps2exe и использовать как полноценное приложение

Подробнее..

Как метрики бережливого производства можно применить в задачах технической поддержки

02.11.2020 22:09:30 | Автор: admin

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

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

Просто представьте, что у Вас сотня админов, которых Вы ежедневно обеспечиваете работой (это не выдумка, а реальность).

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

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

Можно ли с этим что-то сделать? Конечно! Работающие и очень эффективные меры давно известны это Бережливое производство (Lean Manufacturing) и Теория ограничений (Theory of Constraints, TOC).

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


Небольшой экскурс в Lean и TOC

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

Если говорить кратко, то Бережливое производство это философия (набор методик) для сокращения потерь, ускорения производства и его непрерывного совершенствования с целью увеличения прибыли предприятия.

Теория ограничений это как бы надстройка над Бережливым производством, которая гласит, что в любом производстве есть всего лишь одно единственное узкое место, которое тормозит всё. И скорость всего предприятия в целом равно скорости этого узкого места (бутылочного горлышка).

Бесполезно расширять что-либо еще, кроме бутылочного горлышка это всё равно ни к чему не приведёт. Именно поэтому локальные оптимизации не работают. И именно поэтому нет смысла утилизировать мощности отделов на 100% - это только вызовет перепроизводство.

А вот увеличение производительности горлышка на X% приведет к увеличению прибыли всего предприятия на X%. А это миллионы, а может и миллиарды!

Это если кратко.

Единственная, но очень важная метрика теории ограничений

В Теории ограничений есть, по сути, единственная метрика, на основе которой принимаются все решения это Проход (или Проток, Throughput).

Tu=P TVC,

где Tu величина прохода на единицу продукции;
P цена единицы продукции;
TVC полностью переменные затраты

(https://tocpeople.com/2012/08/upravlenie-predpriyatiem-po-finansovym-pokazatelyam-tos/)

Если грубо, то это операционная прибыль, заложенная в конкретную единицу продукта.

Как это можно использовать?

Давайте рассмотрим известный пример с двумя продуктами. Пусть человек-бутылочное горлышко принимает участие в производстве продуктов А и Б.

Продукт А стоит 300 руб, а продукт Б 400 руб.

При этом Проход (грубо - Прибыль) продукта А = 100 руб, а у продукта Б = 200 руб

Какие продукты и в каком количестве должен производить человек-бутылочное горлышко, чтобы максимизировать прибыль предприятия (а мы знаем, что именно он определяет всю прибыль предприятия)?

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

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

Время производства продукта А 5 мин, продукта Б 30 мин.

Продукт А: 100 руб / 5 мин = 20 руб / мин

Продукт Б: 200 руб / 30 мин = 6,6 руб / мин

Получается, что при изготовлении продукта А компания получает прибыль в 20 руб/мин, а при изготовлении продукта Б всего 6,6 руб/мин.

Выбор очевиден, не правда ли? Нужно производить как можно больше продукта А, а в оставшееся время продукт Б.

Переложение метрики Прохода для технической поддержки

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

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

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

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

Из Jira, например, можно извлечь следующие данные:

Приоритетзадачи

Категория задачи

Общее время исполнения(от регистрации до перевода в статус Resolved) с учетом всех дней и выходных. Время исполнения с точки зрения клиента от самого начала до самого конца.

Дополнительно можно вычислить Touch time - время ручной работы админа по каждой задаче. Другими словами время, затраченное администратором на задачу за вычетом выходных, нерабочего времени и нахождения задачи в статусе Need Info (запрос доп информации от клиента).

Если на человеке висело несколько параллельных задач, то Touch time вычисляется по каждой завершенной задаче отдельно, а затем берется 85% персентиль от всего полученного множества.

Персентиль не так чувствителен к выбросам как среднее, поэтому его часто используют в качестве гарантированного значения для какого-либо параметра, в нашем случае Touch time.

В Jira значение Touch time можно вычислить как время между сменами статусов.

Время работы человека-горлышка (или время, затраченное на производства продукта) = Touch time

Проход = количество выполненных задач конкретной категории и приоритета

К прохода = Прибыль / Время работы горлышка

или

К прохода = количество выполненных горлышком задач / Touch time

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

Вот реальный пример из службы тех поддержки:

Колонка template Категория задач. Строки упорядочены по убыванию коэффициента прохода.

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

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

Почитайте интересную статью про технологию Swarming в которой есть много подобных нестандартных выводов.

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

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

Поиск бутылочного горлышка техподдержки

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

Если просуммировать время создания ценности и соотнести его с общим временем цикла, то можно посчитать эффективность потока:

Эффективность потока = Суммарное время создания ценности / Общее время цикла * 100%

Часто эффективность потока в компаниях не превышает 5-10%.

Каким образом посчитать эффективность потока для задач тех поддержки?

Если Вы используете Jira, то можно считать время между сменой статусов и в качестве времени создания ценности брать время непосредственной работы админа, но это сложно.

Можно использовать метод проще и считать по количеству выполненных задач за период:

Эффективность потока = Кол-во выполненных задач / (Всего задач в работе) * 100%

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

Вот примеры с реальными данными:

Можно отфильтровать данные по наименее эффективным группам и получить эффективность входящих в них админов.

Что обозначает эффективность потока в тех поддержке?

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

Вот пример реальной ситуации по настоящему, не выдуманному админу:

Как видите, ситуация жесткая он делает всего 4-5 задач в день, а вешают на него аж по 10 штук.

Естественно, о какой эффективности тут может идти речь.

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

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

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

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

Что делать со всеми этими метриками?

Улучшать, конечно. С помощью Kaizen непрерывного совершенствования. В низкой эффективность виноваты не люди виновата система. И её надо перестраивать.

Т.е. нужно находить корневую причину проблемы (истинную причину, а не лежащую на поверхности) и устранять её. И так поступать с каждой проблемой.

Вот хороший пример как в Службе Service Desk использовали Lean (бережливый подход) и что из этого получилось.

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

Зуб даю, что первое, что Вы увидите в тех поддержке - это то, что админы (/сотрудники тех поддержки) делают по десятку задач одновременно (см. график выше). Вы наверняка на себе испытали как это работает:

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

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

А почему у админа много задач? Корневой причиной является распространенная ложная установка. Руководство считает, что ресурсы надо утилизировать на 100%, чтобы они не простаивали. Поэтому и загружает админа задачами. Но на самом деле это заблуждение, вызывающее огромные проблемы.

При однозадачности задачи выполняются в разы быстрее, чем при многозадачности:

Решить проблему можно. Теория ограничений для этого случая говорит:

Расширьте бутылочное горлышко

Подчините ему всё производство

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

Простая перестройка процесса позволит админу выполнять только одну задачу за раз. Это может увеличить его производительность в разы:

Вариантов решений множество.

Помните, что этот админ-бутылочное горлышко, по сути, является первопричиной того, с какой скоростью и качеством Ваша служба технической поддержки обрабатывает запросы. Думайте в числах прохода. Если найм или выделение помощника этому админу увеличит проход в 5 или 10 раз, разве это не стоит того?

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

А на этом всё.

NB. Все выводы в этой статье сделаны на основе наблюдений за реальным отделом технической поддержки большой компании.

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

Ваши комментарии он с удовольствием прочитает и ответит на них.

Подробнее..

Следствие вели пропажа FC-линков HBA Emulex на сервере Atos BullSequana S1600

18.06.2021 20:15:41 | Автор: admin

Привет, Хабр! Мы постоянно проводим тесты различных софтверных решений на нашем оборудовании, и иногда простая, казалось бы, задача разворачивается на недели. Как раз о таком случае сегодня и пойдет речь. Главный герой нашего рассказа - Павел, технический консультант компании Atos в России.

Рыцари Постгрес тестируют

Итак, на сервере Atos BullSequana S1600 (16 процессоров Intel Platinum 8260), разделенном логически на 2 половинки по 8 сокетов, установлено 4 HBA Emulex LPe31002-M6 (2х-портовые, 16 Гбит), по 2 на каждой половине. FC-линки подключены через 2 MDS-свитча производства Cisco, и с помощью multipath предоставляют системе один диск объемом 6 Тб. В самом начале тестов каждая карта была подключена всего одним линком, но потом, в ходе диагностики, для большей надежности и вообще повышения крутизны подключили все порты. Итого, на каждой половинке сервера оказалось по 4 FC-линка. Во время тестов работы с диском не было.

ОС на обеих половинках на момент старта нашего повествования CentOS Linux release 7.7.1908 с ядром: 3.10.0-1062.12.1.el7

Версия FW карт - 12.6.240.40 (рекомендованная Atos, обновлялась в процессе работ).

Версия драйвера lpfc (судя по всему, родная, из коробки ОС) 12.0.0.13.

Объём доступной памяти всего-навсего 4096 Гб на каждой половинке, с учетом резервирования части памяти под нужды железа под ОС остается 3968 Гб.

Все началось с того, что специалисты по СУБД Postgres решили протестировать железо с помощью stress-ng пакета, в попытке доказать, что наше оборудование не выдерживает нагрузки (у них были инциденты, в рамках расследования которых всё и завертелось).

Параметры стресс-теста взяты "замечательные", вот команда запуска

stress-ng --vm-rw 1000 --vm-rw-bytes 2500G --verify --metrics-brief -t 60m

По документации, такие параметры означают, что стартовали 1000 процессов (start N workers that transfer memory to/from a parent/child), дали по 2500Гб оперативной памяти каждому (mmap N bytes per vm-rw worker) и сказали обмениваться с помощью функций Линукса process_vm_writev и process_vm_readv, а результат обмена проверять на ошибки, и так час. Ошибок при передаче данных не возникало, но вот проблемы с ОС и FC-линками были.

Позже, надо сказать, тестировали с еще более забавными параметрами stress-ng --vm-rw 2000 --vm-rw-bytes 3500G --verify --metrics-brief -t 10m.

Линукс крут. Такие параметры означают, что почти все время Линукс тратил на переключение процессов, обращения к памяти и передачу данных между NUMA-нодами, и сам по себе не падал, но люто тормозил. После небольшой настройки наше оборудование тоже стало справляться с такой нагрузкой без падений (Тормоза? Кто сказал тормоза?), но вот FC-линкам действительно становилось плохо они отваливались, один за другим, и победить это настройками не удавалось.

Со стороны свитчей это выглядело примерно так:

MDS1

2021 Feb 15 23:43:57 dn-MDS-C9148S-1 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2221%$ Interface fc1/15 is down (Link failure loss of signal)

2021 Feb 15 23:45:24 dn-MDS-C9148S-1 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2221%$ Interface fc1/27 is down (Link failure loss of signal)

MDS2

2021 Feb 15 23:21:54 dn-MDS-C9148S-2 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2222%$ Interface fc1/27 is down (Link failure loss of signal)

2021 Feb 16 00:00:02 dn-MDS-C9148S-2 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2222%$ Interface fc1/15 is down (Link failure loss of signal)

Техподдержка врёт (ну или добросовестно заблуждается).

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

Сначала, по просьбе Паши, заказчик поставил Emulex OneCommand Manager Command Line Interface и попробовал некоторые команды, например, получить список HBA, проверить статус портов, принудительно включить порт, перезагрузить HBA-карту.

Ничего из этого не помогло, но стало известно, что точный статус порта User Offline, позже, проанализировав выводы команд, техподдержка Emulex дала вот такой ответ по поводу статуса порта User Offline:

The Port state goes to User-offline, when the port bring-up fails even after reset. This is done by FC Driver. The reason for port bring-up failure could be due to various reasons (May be link issue (or) switch F-Port issue (or) HBA N-Port issue (or) authentication issue etc.)..

Перезагрузить сервер пока не удавалось (тесты), заказчик попробовал разные решения, но отключенные порты так и не поднимались, зато свежеподключенные порты работали. Все проверки показали, что проблема с одним из портов каждой HBA-карточки, всё остальное (свитчи, SFP, кабели) полностью исправно.

Первым делом в техподдержку отправили здоровенный кусок информации в виде логов, собранных специальным инструментом OneCapture. Поскольку карты были более-менее здоровы (за минусом портов), набор логов собрался (хотя и поразил объемами два пакета логов, в 9 и 36 ГИГАБАЙТ), и меньший из них послали доблестным специалистам техподдержки.

Логов не хватило.

Позволим себе процитировать:

The issue here is that the link state went to LPFC_HBA_ERROR state because of which board_mode is showing port status output as error.

Driver will not be able to post mailbox if link state is in error state and it will start throwing errors.

To debug further, our Development team needs more driver logs with log-verbosity set to 0x1ffff on the errored port.

*Steps to follow to collect logs:

==============

1. set the verbosity log level using HBACMD # hbacmd setDriverParam 10:00:00:10:**:**:**:** L P log-verbose 0x1ffff

2.Reset the port so that the port initialization events start # hbacmd reset 10:00:00:10:**:**:**:** (In case the boot mode is enabled, disable it using below command and then retry 2) (((#hbacmd EnableBootCode 10:00:00:10:**:**:**:** D) ))

3. After few seconds if collect the onecapture again using below options to skip Linux crash dump collection. This will give compelete faster and less file size, as crash dump is skipped.

#./OneCapture_Linux.sh --FullCapture --Adapters=all --NoCrashDump

4. After this Please collect HBA dump as well. Reason, onecapture failed to collect dump in previous attempt.

# hbacmd dump 10:00:00:10:**:**:**:**

Затем произошла перезагрузка, и линки восстали из мертвых (и даже не пахли). FW карт обновили до версии в описании, а техподдержка Emulex обрадовалась.

Но потом тестирование продолжили и линки начали вновь падать. Стало ясно, что трабл не решен, и логи пришлось собирать заново.

Заказчик, которому переслали инструкции выше, ухмыляясь и хмыкая (а вы бы не ухмылялись?), собрал новые логи... Но и тут не обошлось без проблем выставить флаг более подробных логов не получилось, потому что:

Это, кстати, удалось победить командой echo 0x1ffff > /sys/class/scsi_host/host16/lpfc_log_verbose.

"Не хочешь таблетку вот тебе свечка. Организм тот же пути разные..."

Логи были собраны, и техподдержка Emulex удалилась. Надо сказать, что на анализ логов они потратили всего лишь день.

Ответ был прекрасен:

Our Development team has analyzed the logs and gav below analysis:

====

Below sequence of events have forced the port to offline state:

1. IOCB time out error occurred and the IO abort was issued.

2. SCSI layer issued Device Reset of the LUN.

3. Bus reset performed by driver.

4. After the reset, driver failed to port sgl with -EIO error and brought the port offline.

There were also some kernel traces as well regarding tainted kernel (oracle linux)

wn2pynn00db0022 kernel: Tainted: G OE 4.14.35-1818.3.3.el7uek.x86_64 #2

=====

Our development team believes that, these logs indicate a possible scsi midlayer issue and not LPFC-driver or HBA-Firmware issue. Proper kernel upgrade may be required to resolve this issue.

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

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

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

Заказчик, ядро и уже наша техподдержка

Заказчик отзывчив ядро обновили, до версии 3.10.0-1160.15.2.el7. И запустили тест. Линки упали. Доблестные рыцари Постгреса радостно потирали лапки (это было видно по письмам, хотя, это могли быть галлюцинации от неумеренного общения с техподдержкой разных уровней).

Итак, линки все еще падают непонятно от чего, поддержки ОС нет (CentOS же), разобраться в настройках драйвера самостоятельно это угробить кучу времени без шансов на успех (вы видели тот талмуд?! - Вот он).

Наша глобальная поддержка (да, мы обратились еще и к нашим глобалам), тоже не сказала ничего нового железо в порядке, карты в порядке, идите в техподдержку ОС, но можете попробовать обновить все до последних версий. Или установить корпоративную ОС с поддержкой, и тогда пойти в техподдержку ОС...

Что забыли потрогать

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

За всё время этой проблемы пошатали и потрогали всё саму ОС, FW, прошивку HW сервера, настройки HW сервера, параметры GRUB, настройки фабрики, свитчей и линков...

Всё, кроме драйвера lpfc.

Терять было уже нечего, и помимо рекомендации перейдите на другую ОС мы попросили еще и обновить драйвер, до последней версии на сайте Emulex до 12.8.340.9.

И это помогло! После обновления драйвера FC-линки больше не падали. От выдоха облегчения чуть не свалился монитор, а сам Паша (реактивный эффект, ага) чуть не упал со стула.

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

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

Итоги

  1. Удалось победить проблему падения FC-линков обновлением FW, драйвера и ядра до последних (или рекомендованных) версий.

  2. Техподдержка врёт (ну или добросовестно заблуждается), поэтому приходится старательно все проверять самому.

  3. Трогать и шатать при траблшутинге надо всё!

Подробнее..

Эффективные менеджеры, или как я ходил до тех. поддержки

01.04.2021 08:15:50 | Автор: admin

Так получилось, что я оказался в некой группе лиц с некими общими идеями и желаниями. Так получилось, что живем мы в 21-ом веке и учитывая наше географическое положение мы обзавелись какими-то серверами, на них какие-то сайтики, ну скажем так, все для личного пользования. Время не стоит на месте и современные браузеры (там всякие хромы, эджи и с логотипом в виде жопы в стрингах) как-то очень критично относятся к сертификатам SSL выпущенными центром сертификации AD. И тут, как назло, при продлении DNS мне впарили SSL сертификат от известного бренда, и в какой-то день я решил его прикрутить

Как я докатился до тех.поддержки.

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

Ну дальше по инструкции:

Консоль IIS -> Сертификаты-> Импорт-> Тыкаем в файлик-> Сертификат в списке-> Привязки сайтика-> Выбор сертификата

Твою мышь а где сертификат??? Ну был же возвращаемся в раздел сертификатов web-сервера А нету Хорошо Повторяем процесс:

Консоль IIS -> Сертификаты-> Импорт-> Тыкаем в файлик-> Сертификат в списке-> Привязки сайтика-> Выбор сертификата

...

<% Длинная, нецензурная, не переводимая на другие языки, брань, включая угрозы сексуального насилия в извращенной форме в сторону прабабушки Била %>

Да где ОН??? Хорошо, пойдем другим путем :

mmc-> Добавляем оснастку Сертификаты -> Локальный компьютер -> Раздел Личные

Ох ты-ж!!!! вот и наш сертификатик Опять консоль IIS ну нету в списке этого сертификата НЕТУ!!!!

Ладно пропустим период принятия что я все-таки дебил, и руки не совсем ровные и не из того места

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

Шо делать???? О!!! я же за это деньгу платил, там целый сайт, там вумные, там же поддержка есть, прям кнопочка с вопросиком на каждой странице

Экшен

В общем тыкаем кнопочку с вопросиком, да матерь божья!!! там целое меню о чатик!!! тыкаем и тут же заходим в атаку:

Тук тук, это мы... тупые парни... есть кто живой?

Видно, бота тренировали, и он сразу ретировался, вроде как девочка появилась (ну имя женское плюс аватарка с огромной и дикой кошкой, пума кажется, ну в общем то пофигу, я уже старый), ну объясняю ситуацию, мол импортируем, а сертификат пропадает из IIS, хотя в личных он есть даже скриншотики закинул

Ну в общем, через пару минут, девица заряжает

это не в моей компетенции, обратитесь к старшим товарищам, через заявку помощи

Ну ОК, ага, значит вопрос не тупой, значит я не совсем дебил радует

Кнопочка с вопросиком -> кнопочка Написать заявку -> Излагаем проблему, прилепляем скриншотики -> ждем 

Через пару литров кофе приходит ответ:

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

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

Ну в общем как-то ниже эмоции, но читать их можно только лицам 18+

Какого хрена??? Это вы называете ответом??? Вы пытаетесь мне впарить говно белок за звонкую монету!!! @@@@, ;;;;;;@@@@, вы не можете ответить на достаточно простой вопрос и вы имеете право утверждать что сможете тянуть хостинг? Где гарантии вонючие у@ки??? Т.е. я вам должен заплатить денюжку за хостинг, а потом вы так же разведете руки а не получилось, а давайте вы еще заплатите мы вам с нуля все зафигачим!!!, потом опять разведете ручки со словами а не получилось, я буду ругаться но деньги то заплачены и вам станет пофигу, как там говорят в таких случаях не нравится наш сервис валите в перуанскую деревню, там таких много Вы реально решили, что я решил прикрутить SSL к гавно сайтику визитке, нонеймовской конторки с посещаемостью полтора бота в год??? Вы реально издеваетесь у@ки???

Подтягиваем тяжелую артиллерию

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

Тук тук это мы тупые парни, есть минутка?

Получаем отклик установки соединения че надо?, дальше копипастю описание ситуации, добрасываю скриншотики Спустя 30 секунд надписи *** печатает получаю сообщение:

Ты @лан!!! Ты прикручиваешь *.crt в котором нет приватного ключа, как ты надеешься работать??? Учи мат.часть, ключевое слово OpenSSL.exe тебе в помощь.

В общем послал так послал, но путь указан. Открываем яндекс (ну на гугл я еще обижен), вбиваем вопрос OpenSSL.exe как пользоваться, и понимаем что расхожая фраза чем больше в армии дубов тем крепче наша оборона возникла не на пустом месте(судя по яндексу нас тайга) в общем дополняем инструкцию полученную в начале этого пути инфой об OpenSSL радостно получаем файлик *.PFX который прикручиваем до IIS, и О ЧУДО!!!!!!!!!! все заработало.

Заключение

Картинка в начале смешная, а ситуация страшная Да и аффтор картинок молодец, я хрен знает кто это, но жгет от души

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

Подробнее..

Авито, ну ты чего?

28.10.2020 16:07:32 | Автор: admin
Недавно со мной приключилась неприятная история. Мой профиль на Авито был заблокирован. В этом посте я опишу свои попытки восстановить его. Пост имеет форму переписки со службой поддержки Авито вместе с моими небольшими комментариями и будет, таким образом, напоминать эпистолярный роман.
Сразу оговорюсь, что письма с моей стороны бывали довольно грубыми. В процессе борьбы с этой упрямой махиной техподдержкой Авито меня частенько переполняли негативные эмоции, которые до сих пор не совсем угасли.
В пост приглашается avito, только я не знаю, зачем тут все равно ничего не исправить.


Опишу хронологию событий.
С начала года у меня на Авито висело 3 бесплатных объявления: о продаже ноутбука, ЭЛТ-телевизора и покрывала. Иногда кто-то что-то о них спрашивал или добавлял в избранное (особенным успехом пользовалось покрывало), но покупатели никак не находились. Срок размещения объявлений каждый месяц истекал, и я их переоткрывала, но в общем они висели себе и есть не просили.
27 февраля я активировала объявления в последний раз. 27 марта они были закрыты, о чем мне сообщили по почте.
28 марта мне приходит письмо с темой Ваше объявление Индийское покрывало в избранном у 16 человек с предложением заново активировать его.
Начинался карантин, мне было не до продажи барахла, и я решила пока не публиковать объявления.
6 июля, примерно через 3 месяца, мне на почту внезапно приходит сообщение о том, что мой профиль заблокирован.
Примечание: все имена и адреса в цитируемых письмах замаскированы; адрес *l@gmail.com это моя почта, с которой я зарегистрирована на Авито.

Агент поддержки, 06.07.2020
Профиль заблокирован
Вы использовали несколько аккаунтов для размещения в одной категории
На Авито запрещено публиковать объявления в одной категории с нескольких аккаунтов. Даже если вы продаёте разные товары, но в одном разделе, используйте для этого один профиль. Так пользователям будет легче ориентироваться в ваших объявлениях и принимать решение о покупке.
Например, если вы хотите выставить на продажу несколько автомобилей или объектов недвижимости, не размещайте объявления в аккаунтах членов семьи или сотрудников. А если у вас есть личный профиль и аккаунт компании, не публикуйте в них похожие предложения.
Ваш профиль и объявления больше никому не видны восстановить доступ к ним не получится.


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

Я, 23.07.2020
Мне пришло письмо на*l@gmail.comо том, что мой профиль заблокирован, якобы потому что я публиковала одинаковые объявления с нескольких аккаунтов. Прошу сообщить мне, о каких объявлениях и аккаунтах идет речь. У меня только один аккаунт, и я таким не занимаюсь.


Получаю ответ:

Агент поддержки, 27.07.2020
Здравствуйте.
Мы заметили, что вы публиковали объявления с нескольких аккаунтов в одной категории. Это нарушает правила нашего сервиса, поэтому мы оставили вам профиль ****kodak@yandex.ru, а профили*l@gmail.comи ****486133@zaripov.proзаблокировали.
На Авито можно размещать объявления только с одного профиля в каждой категории. Когда покупатель выбирает товар и планирует покупку, он изучает профиль продавца и отзывы о нем смотрит, сколько и какие товары уже проданы, как проходят сделки, довольны ли были другие покупатели. Если продавец создает новый профиль, это мешает покупателям составить о нем полное представление и сделать обоснованный выбор. К тому же, когда покупатель связывается с продавцами и обнаруживает, что владелец разных профилей один и тот же человек, это подрывает его доверие к и продавцу, и к площадке.
Мы хотим, чтобы вы и дальше оставались с Авито. Поэтому, пожалуйста, не создавайте новые профили используйте тот, который активен сейчас.
Иначе они автоматически будут заблокированы, и вы больше не сможете продавать на Авито.


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

Я, 27.07.2020
Воу-воу! У меня только один профиль *l@gmail.com, а остальные, которые вы перечислили, мне не принадлежат. Лучше бы вы сделали наоборот, оставили только профиль *l@gmail.com, а другие удалили. Наверно это какие-нибудь мошенники! Вы можете так сделать?


Агент поддержки, 29.07.2020
Здравствуйте.
Мы доверяем результатам нашей проверки. Они показывают, что вы связаны с этими профилями.
У вас есть активный профиль ****kodak@yandex.ru, используйте его что бы заключать сделки и публиковать объявления.


Я все еще верю, что техподдержку можно убедить в том, что я не нарушала правил, нужно только дать им больше информации, подтверждающей мою честность. Поэтому я спрашиваю, что именно привело к блокировке. Например, если бы они сказали, что вещь, продаваемая в объявлении, принадлежит не мне, я бы могла сфотографировать ее и отправить им снимок. Также я беспокоюсь, что хозяин левого профиля теперь имеет доступ к моей личной информации, то есть произошло объединение его профиля с моим. Задаю вопрос об этом; ответа, впрочем, не получаю.

Почему вы решили что ****kodak@yandex.ruэто мой профиль? С него какие-то мои объявления публиковались? Какие именно? И что это значит, теперь хозяин этого профиля повелевает моими объявлениями, сообщениями и личной информацией? Еще раз повторюсь, у меня один профиль: *l@gmail.com. Какие вам нужны доказательства?


Агент поддержки, 30.07.2020
Здравствуйте.
Мы понимаем, что вам важно убедиться, что при проверке не возникло ошибки. Мы используем разные методы проверки. Например, изучаем, что публикует пользователь, проверяем его профиль.
К сожалению, подробнее рассказывать о наших способах проверки мы не можем, чтобы эта информация не попала к тем пользователям, которые намеренно стремятся обходить правила.
Мы не можем восстановить аккаунт*l@gmail.com.


Облом. И все же я пытаюсь вытянуть хоть какие-то крупицы информации. А еще хочу проверить, действительно ли чужой человек теперь имеет доступ к моим объявлениям и переписке. Поэтому предпринимаю такой маневр:

Я, 30.07.2020
Ваши методы проверки, очевидно, работают неправильно. Давайте так. Раз вы утверждаете, что kodak@yandex.ru- это мой профиль, дайте мне доступ к нему. Я хотя бы посмотрю, что это за профиль такой, который вы мне приписали.


Агент поддержки, 31.07.2020
Мы проверяем профили комплексно, в том числе методом Тайный покупатель. Разные методы показали, что профиль ваш.
У Авито нет доступа к паролям пользователей.
Если вы забыли пароль, восстановите его для этого перейдите по ссылке:http://www.avito.ru/restore, и введите свою почту.
Вам придет письмо со ссылкой на смену пароля. Если его не будет, введите в строку поиска по письмам avito.ru найдутся все письма от нас, в том числе те, которые случайно попали в папку Спам.
Если вы восстанавливаете пароль через почту и видите надпись Ссылка на изменение пароля, по которой вы перешли, устарела или содержит ошибку, пожалуйста, сбросьте пароль ещё раз:https://www.avito.ru/restore


Как видим, техподдержка гнет свою линию: профиль ****kodak@yandex.ru ваш, ничего не знаем. Ну а я гну свою. Естественно, я не могу восстановить пароль и не могу спросить пароль у техподдержки, у них ведь только хэш (я надеюсь). Поэтому прошу задать новый пароль, который указываю в письме. Правда, я не учла, что логина-то я тоже не знаю: он замаскирован звездочками.

Я, 31.07.2020
Почта ***kodak@yandex.ruне моя. Я не могу в нее зайти. Я хочу войти в профиль на авито, раз вы утверждаете, что он мой. Раз он мой, я имею на это право, так? Поэтому пришлите мне пожалуйста ссылку на восстановление пароля на почту*l@gmail.com, либо установите сами пароль: MyNewPassword.


Ответ шедевральный:

Агент поддержки, 31.07.2020
Здравствуйте.
Если вы забыли пароль от почты, пожалуйста, обратитесь в службу поддержки вашего почтового сервиса.
После этого вы сможете восстановить доступ в профиль Авито через почту.
У Авито нет доступа к паролям пользователей.


Может быть, они просто упустили один момент и нужно о нем напомнить?

Я, 31.07.2020
Я не забыла пароль от почты. Эта почта принадлежит не мне. Как я могу войти в профиль авито, привязанный к ней?


Агент поддержки, 01.08.2020
Здравствуйте.
Мы проверяем профили комплексно, в том числе методом Тайный покупатель. Разные методы показали, что профиль ****l@gmail.comваш.
Вы можете войти в профиль по почте ****l@gmail.comили номеру, который привязан к профилю.


Первый абзац слово в слово копирует одно из предыдущих писем. У меня начинает появляться ощущение, что я бьюсь головой о глухую стену. (На совет войти по номеру телефона, каюсь, я даже не обратила внимания.) Но я продолжаю биться ведь я знаю, что правда на моей стороне. Возможно, мне пишет бот, который выхватывает из текста ключевые слова и реагирует на них? Или сотрудник техподдержки не читает предыдущую переписку и не следит за, так сказать, нитью разговора? Еще раз как можно конкретнее и короче формулирую свои доводы. И задаю конкретный вопрос: как мне в профиль-то зайти? Теперь им точно не отвертеться!

Я, 02.08.2020
Так. Давайте еще раз. Профиль***l@gmail.comвы мне заблокировали, якобы потому что я пользовалась другим профилем, ****kodak@yandex.ru. В профиль ***kodak@yandex.ruя войти не могу, т.к. 1) этот профиль мне не принадлежит, я не знаю логин и пароль, 2) почта ***kodak@yandex.ruтоже мне не принадлежит, я не могу войти в нее чтобы получить ссылку на восстановление пароля от авито. Вопрос. Как мне войти в профиль на авито?


Агент поддержки, 03.08.2020
Здравствуйте.
Мы доверяем результатам нашей проверки. Они показывают, что вы связаны с этим профилем ****kodak@yandex.ru.


Хорошо, напишу еще короче и конкретнее! Так понятно?

Я, 03.08.2020
Вы на мой вопрос не ответили. Как мне войти в профиль на авито? К почте ***kodak@yandex.ruя доступа не имею, это не моя почта.


Агент поддержки, 03.08.2020
Мы уже ответили на ваш вопрос о блокировке профиля. Мы сообщили, что Проверка показала, что у вас есть активный профиль ****kodak@yandex.ru. Вы можете использовать его, чтобы публиковать объявления и заключать сделки..


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

Я, 03.08.2020
Как я могу его использовать, если не знаю ни логина, ни пароля?


От ответа они опять уходят.

Агент поддержки, 03.08.2020
По вопросу о блокировке профиля мы рассказали всё, что знаем. Будем рады помочь, если у вас есть другие вопросы по Авито.


Через день мне присылают письмо с предложением оценить работу службы поддержки, из чего я делаю вывод, что мое обращение закрыли.
Я не знаю, как достучаться до этих стальных людей. Объяснять им что-то бесполезно. Проблема не в том, что техподержка не понимает моих объяснений: она в них не нуждается. Мы с ней находимся по разные стороны баррикад. Я заинтересована в том, чтобы продолжать пользоваться сервисом, а сотрудники Авито, судя по происходящему в том, чтобы освободить побольше места на серверах или избавиться от как можно большего количества халявщиков, которые не пользуются платными услугами.
Я могла бы забить, завести новый аккаунт. Только вот, если я заполню его той же информацией, что и удаленный профиль, и повешу там восстановленные по памяти объявления, не заблокируют ли меня снова? Я почти уверена, что заблокируют. Что-то в старом профиле ведь привело к блокировке, а я не знаю, что именно. Кроме того, когда я представляю, что мне придется заново проделывать ту же работу составлять текст объявлений, отыскивать фотографии у меня опускаются руки. Как, оказывается, обидно, когда твой труд вот так, по чьей-то прихоти, сводят на нет!
Так что следующее мое письмо вышло довольно эмоциональным.

Я, 04.08.2020
Вы меня поставили в безвыходное положение. Удалили мой профиль и велели заходить по абсолютно левой почте, к которой я доступа не имею. Я что, должна взломать почту ***kodak@yandex.ru, чтобы войти с нее на авито? Как это должно работать? Я могу вломиться в любой дом и сказать, что он мой, потому что это показали методы проверки авито?


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

Агент поддержки, 05.08.2020
Здравствуйте.
Вы можете восстановить пароль по номеру телефона из вашего профиля. Для этого:
1) Нажмите Забыли пароль? на странице входа в аккаунт.
2) Введите свой телефон и нажмите Сбросить текущий пароль.
3) Введите код, который придет в смс, и нажмите Подтвердить.
4) Введите новый пароль и нажмите Обновить пароль.
После этого вы сможете войти в профиль по номеру телефона и заменить электронную почту на актуальную.
Пишите, пожалуйста, именно с той почты, которая указана у вас в профиле Авито, тогда мы сможем ответить на вопросы по вашему аккаунту.
Тут вы найдете подробную инструкцию со скриншотами:https://support.avito.ru/articles/200027278. Если она не поможет напишите нам, мы подскажем, что делать.


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

Я, 05.08.2020
Большое спасибо за совет, однако он не помог мне, к сожалению. Когда я ввожу свой номер телефона выходит сообщение, что мой профиль заблокирован такое же, как когда пытаюсь войти по почте*l@gmail.com. Есть еще варианты? Может быть вы всё-таки восстановите мой профиль*l@gmail.comа профиль ***kodak@yandex.ruзаблокируете? Вам же наверно без разницы кого блокировать.


Но нет.

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


Добрый сотрудник поддержки снова превратился в робота-вахтера. Ладно, попробуем по-другому.

Я, 06.08.2020
Вы пишете будем рады помочь. Вы можете сообщить мне полный адрес почты ***kodak@yandex.ru? Что там скрывается за звездочками? Попробую связаться с владельцем почты.


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

Агент поддержки, 07.08.2020
Здравствуйте.
Профили, которые мы заблокировали при проверке, могли принадлежать нескольким владельцам.
Чтобы случайно не раскрыть конфиденциальную информацию, мы не сможем сообщить вам полный адрес электронной почты из активного профиля.


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

Я, 07.08.2020
То есть вы признаете, что ***kodak@yandex.ru- не моя почта?


Не на таких напала, как бы отвечает мне техподдержка. Ишь ты.

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


Я, 07.08.2020
***kodak@yandex.ru- моя почта? Да или нет?


На что я не получаю ответа, и через неделю мое обращение закрывают.

Я, 26.08.2020
Вы мою проблему не решили и на вопрос не ответили, просто закрыли мое обращение и всё.


Они практически дословно повторяют первое письмо:

Агент поддержки, 26.08.2020
Здравствуйте.
Мы заметили, что вы публиковали объявления с нескольких аккаунтов в одной категории. Это нарушает правила нашего сервиса, поэтому мы оставили вам профиль ****kodak@yandex.ru, а остальные заблокировали.
На Авито можно размещать объявления только с одного профиля в каждой категории. Когда покупатель выбирает товар и планирует покупку, он изучает профиль продавца и отзывы о нем смотрит, сколько и какие товары уже проданы, как проходят сделки, довольны ли были другие покупатели. Если продавец создает новый профиль, это мешает покупателям составить о нем полное представление и сделать обоснованный выбор. К тому же, когда покупатель связывается с продавцами и обнаруживает, что владелец разных профилей один и тот же человек, это подрывает его доверие к и продавцу, и к площадке.
Мы хотим, чтобы вы и дальше оставались с Авито. Поэтому, пожалуйста, не создавайте новые профили используйте тот, который активен сейчас.
Иначе они автоматически будут заблокированы, и вы больше не сможете продавать на Авито.


Я, 26.08.2020
Так, кажется, мы с вами сейчас но второй круг пойдем. Вы мне это уже писали, а я уже писала вам, что, во-первых, я не публиковала объявления с разных профилей, а во-вторых, я не могу пользоваться профилем ***kodak@yandex.ruпо той простой причине, что он мне не принадлежит! Прошу восстановить мой профиль*l@gmail.com, а остальные удаляйте сколько угодно.


Теперь они пересылают мне письмо от 30 июля:

Агент поддержки, 27.08.2020
Здравствуйте, И
В прошлом письме мы рассказали о вашем профиле.
Мы понимаем, что вам важно убедиться, что при проверке не возникло ошибки. Мы используем разные методы проверки. Например, изучаем, что публикует пользователь, проверяем его профиль.
К сожалению, подробнее рассказывать о наших способах проверки мы не можем, чтобы эта информация не попала к тем пользователям, которые намеренно стремятся обходить правила.
Профиль*l@gmail.comостанется заблокированным, так как есть активный профиль ****kodak@yandex.ru.


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

Я, 27.08.2020
Вы игнорируете мои слова о том, что ***kodak@yandex.ru- это не мой профиль. Я не могу им пользоваться, так как не знаю ни логина, ни пароля. Ваши методы проверки сработали неправильно. Судите сами, я в последний раз публиковала объявления и переписывалась личными сообщениями на авито в марте-апреле. Точно назвать дату не могу, сами понимаете. 6 июля мой профиль внезапно заблокировали. К этому времени я пару месяцев ник[ак]ой активностью на авито не занималась. С никакими вашими тайными покупателями не общалась. Почему ваши методы проверки внезапно встали в стойку? Очевидно, активность в это время проявляли другие профили, которые вы мне приписываете. Вот их и блокируйте. Почему именно мой профиль заблокировали? Я обычный пользователь авито, живой человек, не мошенник, у меня только один профиль. Что самое подлое, вы не даете мне возможности доказать это. Вы мне не верите, а верите вашим неведомым методам проверки. Лучше бы вы верили своим пользователям, а не считали их мошенниками априори.


Неужели в ответ на мои призывы что-то шевельнулось в их холодных сердцах? Они решили еще раз все перепроверить!

Агент поддержки, 27.08.2020
По вашей просьбе модераторы ещё раз проверили профили из переписки. Проверка показала, что все они принадлежат вам.
Публиковать объявления в одной категории можно только с одного профиля. Это отражено в наших требованиях к размещению объявлений, в пункте 3:https://support.avito.ru/articles/200026968
Мы хотим, чтобы вы оставались с Авито, но, к сожалению, не можем восстановить профили. Они останутся заблокированными, но вы по-прежнему можете размещать объявления с профиля ****kodak@yandex.ru.


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

Я, 27.08.2020
Я настаиваю на том, что ваши модераторы ошибаются. Это во-первых. Во-вторых, я вам это пишу в каждом письме но вы почему-то игнорируете этот факт: ***kodak@yandex.ru- не мой профиль, прекратите предлагать мне в него зайти, я не знаю ни логина, ни пароля!


Агент поддержки, 27.08.2020
В переписке мы уже ответили на ваш вопрос о заблокированном профиле.
Мы хотим, чтобы вы оставались с Авито, но, к сожалению, не можем восстановить профили. Они останутся заблокированными, но вы по-прежнему можете размещать объявления с профиля ****kodak@yandex.ru.
Если у вас остались другие вопросы по работе Авито, будем рады помочь.


Как же я устала доказывать, что я не верблюд! Остатки хладнокровия потеряны.

Я, 27.08.2020
А я в переписке уже ответила вам, что не могу пользоваться профилем ***kodak@yandex.ru. Каким словами вам сказать, чтобы вы поняли? Сколько раз написать? Давайтееще раз напишу, большими буквами: ***kodak@yandex.ru- НЕ МОЙ ПРОФИЛЬ.


На следующий день обращение закрывают. Ну уж нет!

Я, 28.08.2020
Вы опять закрываете обращение, не решив проблему. Так как мне войти на сайт?


Ответа не получаю. Пишу еще раз.

Я, 04.09.2020
Вы не решили мою проблему, почему вы закрываете обращение?
И опять они отвечают невозмутимо и категорично. Это какая же должна быть непоколебимая уверенность в собственной правоте! Чем она, интересно, подкрепляется? Как вообще работает этот их секретный метод проверки, который выбирает жертв для блокировки? В такой большой системе это наверняка какой-то автоматический алгоритм. А любой разработчик знает, что идеальных алгоритмов не бывает. Вот только техподдержка Авито истово верит, что их алгоритм никогда не ошибается.


Агент поддержки, 05.09.2020
Здравствуйте.
Мы хотим, чтобы вы оставались с Авито, но восстановить профиль не можем.
Размещать объявления в одной категории с нескольких профилей у нас запрещено. Мы предупреждаем об этом в наших правилах, в пункте 3:https://support.avito.ru/articles/200026968
У вас есть активный профиль ****kodak@yandex.ru. Вы можете использовать его, чтобы публиковать объявления и заключать сделки.


6 сентября обращение закрывают.
В конце концов, если я нарушила пользовательское соглашение, вы должны предъявить мне доказательство? Пусть у вас действует презумпция виновности, но право на защиту у меня должно быть? Это во-первых. А во-вторых, если вам сообщают о баге в системе, вы должны воспринимать этого человека как своего союзника и постараться получить от него как можно больше информации. В этом смысле баг это возможность улучшить свою систему. Казалось бы, это азы, которые должны быть понятны любой IT-компании! Так я рассуждаю, но писать в конструктивном ключе уже не осталось душевных сил, и я просто вяло отбрехиваюсь.

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


Мне отвечают, что мифические модераторы опять что-то перепроверили. Письмо под копирку: видимо, этот шаблон у них заготовлен для пользователей, добивающихся разблокировки.

Агент поддержки, 07.09.2020
Здравствуйте.
По вашей просьбе модераторы ещё раз проверили профили из переписки. Проверка показала, что все они принадлежат вам.
Публиковать объявления в одной категории можно только с одного профиля. Это отражено в наших требованиях к размещению объявлений, в пункте 3:https://support.avito.ru/articles/200026968
Мы хотим, чтобы вы оставались с Авито, но, к сожалению, не можем восстановить профили. Они останутся заблокированными, но вы по-прежнему можете размещать объявления с профиля ****kodak@yandex.ru.


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

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


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

Агент поддержки, 07.09.2020
В переписке мы уже ответили на ваш вопрос о блокировке профиля. Мы сообщили, что профиль*l@gmail.comвосстановить не можем.
Вы по-прежнему можете размещать объявления с профиля ****kodak@yandex.ru.
Если у вас остались другие вопросы по работе Авито, будем рады помочь.


Е-мое, да как у них там вообще баги репортят?

Я, 07.09.2020
Я по-прежнему не могу использовать профиль ****kodak@yandex.ru, потому что он по-прежнему не принадлежит мне и я по-прежнему не знаю ни логина, ни пароля. Я понимаю, что вы не можете решить мою проблему. Вы всего лишь безымянный сотрудник техподдержки, и у вас нет полномочий разблокировать мой профиль, даже если бы вы хотели. Однако наверняка у вас есть полномочия сообщить разработчикам о неполадках в работе сервиса. Это я и прошу вас сделать: уведомить разработчиков алгоритма проверки, что их алгоритм дал сбой.


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

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


Так я и поверила, что вы там сидите и досконально всех проверяете. Даже если проверка происходит вручную, у нее должен быть протокол, ведь не по наитию же вылавливаются пользователи для блокировки? Раз есть протокол, то и его кто-то разрабатывал и где-то в нем накосячил.

Я, 07.09
Вы передали информацию разработчикам алгоритма проверки?


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

Я, 15.09.2020
Сообщите пожалуйста, передали ли вы разработчикам информацию о неправильной работе алгоритма проверки профилей.


Мне пересылают письмо 3. (Да, можно уже просто их нумеровать, как в анекдоте)

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


Если это люди, почему такие упертые? Если это боты, то почему такие тупые? Отвечают совсем не на тот вопрос, который я написала, а на тот, который хотят.

Я, 15.09.2020
Я не спрашивала, как работают ваши методы проверки. Я просила вас уведомить разработчиков, что методы работают неправильно. Прошу вас сделать это.


Агент поддержки, 16.09.2020
Здравствуйте.
Мы доверяем результатам нашей проверки.


Я, 16.09.2020
Кто конкретно доверяет результатам проверки? Вы, безымянный сотрудник техподдержки, доверяете? А вы хотя бы знаете, как проверка работает? Ваш начальник доверяет? Он что, сам разрабатывал методы проверки? Точно определить может только сам разработчик. А любой разработчик знает, что не бывает безупречных алгоритмов. В любом методе может быть ошибка. Поэтому я прошу вас не пытаться решить вопрос не в вашей компетенции, а связаться с разработчиками и передать им информацию.


Письмо 4:

Агент поддержки, 16.09.2020
Мы проверяем профили комплексно, в том числе методом Тайный покупатель. Разные методы показали, что профиль ваш.
По вашей просьбе модераторы ещё раз проверили профили из переписки. Проверка показала, что все они принадлежат вам.
Публиковать объявления в одной категории можно только с одного профиля. Это отражено в наших требованиях к размещению объявлений, в пункте 3:https://support.avito.ru/articles/200026968
Мы хотим, чтобы вы оставались с Авито, но, к сожалению, не можем восстановить профили. Они останутся заблокированными, но вы по-прежнему можете размещать объявления с профиля ****kodak@yandex.ru.


Я, 16.09.2020
Я не об этом просила. Какой смысл еще раз выполнять проверку, которая работает неправильно. Я просила передать информацию разработчикам алгоритма проверки. Сделали ли вы это?


И вот на следующий день я получаю долгожданное:

Агент поддержки, 17.09.2020
Здравствуйте, И
Мы передали ваше замечание разработчикам.


Маленькая победа! Разработчики, родненькие, во всем разберутся! Ура!
Через неделю мне присылают письмо с предложением оценить работу службы поддержки. Я опасаюсь, что следы моего обращения затеряются, и я не смогу отслеживать судьбу бага, поэтому пишу:

Я, 24.09.2020
Признали ли разработчики наличие проблемы?


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

Агент поддержки, 24.09.2020
Здравствуйте.
Методы проверки работают корректно. Проблем не выявлено.


Теперь ясно, что ничего они не передавали разработчикам. Очевидно, проблему больше нельзя решить по-мирному. Но что я могу сделать против такого гиганта, как Авито? Я не юрист, не блогер-тысячник У меня есть аккаунт на Хабре, я могу написать статью, да вот только вряд ли она понравится аудитории: Хабр не жалобная книга, как говорится. Гуглю, можно ли подать жалобу в Роспотребнадзор о ненадлежащем оказании услуг. На каком-то сайте наталкиваюсь на фразу, что можно. Сильно сомневаюсь, ведь денег Авито за услуги я не платила.

Я, 24.09.2020
Я больше не вижу вариантов решения проблемы. Пользоваться вашим сервисом я не смогу. Приписываемый мне вами аккаунт я использовать не могу, т.к. он мне не принадлежит. Заводить новый не вижу смысла вы и его заблокируете. Мне остается только вынести проблему на публичное обсуждение, например написать статью на Хабр. Также я рассматриваю возможность подать жалобу в Роспотребнадзор.


Не знаю, чего они испугались Хабра или Роспотребнадзора, но через 3 (!) минуты мне ответили:

Агент поддержки, 24.09.2020
Уточним информацию у специалистов по индивидуальным вопросам и вернёмся к вам с ответом в течение 4-х часов.


Вот это кажется мне самым подлым во всей истории: как быстро они переобулись.

Агент поддержки, 24.09.2020
Здравствуйте, И
Меня зовут А., я специалист по индивидуальным вопросам.
Взял паузу, чтобы разобраться в вопросе детально. Как только все выясню, сразу напишу вам на почту.


Ахххх! Живой человек, с именем! Как это приятно!

Агент поддержки, 25.09.2020
Здравствуйте, И
Спасибо, что подождали.
Извините, мы заблокировали профиль*l@gmail.comпо ошибке.
Я уже вернул вам доступ к нему и восстановил все объявления. Теперь вы вновь можете продолжить работу с Авито.


Я в легком ступоре; лезу проверять профиль. Действительно, теперь могу войти в него. Только объявлений моих там нет. Сообщения есть, а вместо привязанных к ним объявлений отображается объявление удалено.

Я, 25.09.2020
Здравствуйте. Доступ появился. Объявления не появились.


Забыла даже поблагодарить А., хотя бы за человеческое отношение. Но мне и вправду нужны мои объявления. Я не хочу заново доставать покрывало с антресолей и обмерять его рулеткой, не хочу опять гуглить модель своего старенького телевизора. С тем же результатом я могла бы просто зарегистрироваться заново.

Агент поддержки, 25.09.2020
И., все заблокированные объявления удаляются автоматически через 30 дней.
Ваш профиль был заблокирован 06.07.2020, а 05.08.2020 объявления были удалены, восстановить их технически невозможно.
Пожалуйста, разместите новые объявления.


Ну, раз другого выхода нет Но мое объявление о покрывале было в избранном у многих пользователей, я хочу, чтобы они не потеряли его. Я хочу, чтобы связь с объявлениями восстановилась и в личных сообщениях. Рассуждаю так: раз сообщения остались и в них отображается надпись объявление удалено, то каскадного удаления связанных данных не произошло, и есть шанс, что ссылки в избранном у других пользователей восстановятся.
Возможно, все починится, если новые объявления создать с теми же ID, что удаленные? Я как пользователь этого сделать не могу, мне нужна помощь. Пытаюсь объяснить свою идею техподдержке; получилось не очень.

Я, 03.10.2020
Я была бы вам благодарна, если бы вы восстановили объявления по тем же адресам в виде заглушек, текст и картинки я потом добавлю сама. Я уверена, что технически это возможно, потому что остались сообщения, привязанные к удаленным объявлениям.


В надежде отыскать текст моих удаленных объявлений просматриваю письма от Авито. Нахожу письмо о том, что мое покрывалко в избранном у 16 человек. В письме есть ссылка на объявление, и она преспокойно открывается! Правда, на странице указано, что объявление удалено, но название, текст, картинки, цена всё на месте! Пишу об этом техподдержке:

Я, 03.10.2020
Также я вижу, что объявления все еще открываются например вот так
avito.ru/***/indiyskoe_pokryvalo_1415202219, так что наверняка их можно восстановить.


Мне отвечают, но на предыдущее письмо, а не на последнее:

Агент поддержки, 04.10.2020
Здравствуйте.
Объявлений заглушек у нас нет.
Объявления удалены навсегда, восстановлению они не полежат.


Ладно, забудьте уже про заглушки! Вот же они, объявления! Они хранятся у вас!

Я, 04.10.2020
Объявления все еще открываются например вот так
avito.ru/***/indiyskoe_pokryvalo_1415202219, так что технически их можно восстановить, с тем же текстом и фотографиями.


Агент поддержки, 05.10.2020
Здравствуйте.
Из-за технических особенностей нашего сайта мы не можем восстановить объявление, так как оно удалено навсегда.


Я, 05.10.2020
Тогда почему они до сих пор открываются по прямой ссылке?


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


Да блин! Ну где логика? Вы его видите, потому что оно есть, но его видите только вы, потому что его нет!

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


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


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

Я, 06.10.2020
Но раз я его вижу, значит оно существует и ваши программисты могут сделать так, чтобы оно было видно всем. Спросите их)


Но мне опять отвечают не на мой вопрос, а на какой-то существующий у них в головах. Они потеряли контекст и думают, что я прошу восстановить объявления, которые удалила сама.

Агент поддержки, 06.10.2020
Здравствуйте, И
Спасибо за обратную связь.
Сначала объявление попадает в папку Архив, оттуда его можно восстановить. Если в течение 30 дней этого не сделать, объявление исчезнет.
Через 30 дней объявление удаляется навсегда. Восстановить его нельзя. Это техническая особенность сервиса.
Мы передадим ваше замечание разработчикам. Возможно, это действительно упростит работу с Авито.


Не я удалила объявления! Вы можете мне помочь, но отказываетесь!

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


Агент поддержки, 07.10.2020
Объявление было удалено навсегда, восстановить его не получится. Вы можете создать новое.


Да, я создам новое. Тексты и картинки я нашла на вашем же сайте. Но мое мнение о вашем сервисе будет безнадежно испорчено.

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


Агент поддержки, 08.10.2020
Здравствуйте, И
В переписке мы уже ответили на ваш вопрос о том, что восстановить объявление нельзя. Если у вас есть другие вопросы по работе Авито, будем рады помочь.


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


На следующий день обращение закрывают.
Вот такая получилась история.
А самое грустное в ней то, что я, когда немного отойду, воссоздам свои объявления, и добавлю кучу новых, потому что Авито фактически монополист, а барахло у меня все копится.
Где здесь мораль?
Я могла бы задать здесь кучу риторических вопросов, типа такого: как такая развитая компания может содержать такой неэффективный орган, который не способен не то что решать проблему клиента поддерживать с ним связный разговор? С точки зрения Авито он, может быть, является очень даже эффективным и отлично справляется со своей задачей. У сервиса огромное число пользователей, и вникать в каждое обращение, внимательно относится к каждому клиенту, тем более не платящему денег никаких ресурсов не хватит.
Или типа такого: в чем смысл соблюдать пользовательское соглашение, если тебя все равно могут бездоказательно обвинить в том, что ты его не соблюдаешь? Но камон, пора привыкнуть к тому, что твой аккаунт это не твоя собственность, важные данные нужно бэкапить у себя и не воспринимать непостоянство интернет-сервисов как конец света и личное оскорбление.
Или такой вопрос: не является ли бездушное отношение к пользователям проявлением отношения сотрудников друг к другу, культуры компании и эмоционального фона внутри ее коллектива? А неспособность решать проблемы пользователя не отражает ли неэффективность рабочих процессов? Но нет, я даже почитала отзывы разработчиков об Авито: все вроде как довольны работой в компании.
Так что, как мне ни жаль, ей-богу, я не знаю, где здесь мораль. Видимо, на вопрос стоит ли счастье и благополучие огромной IT-компании одного безвинно оскорбленного наивного пользователя ответ положительный.
image
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru