Pull to refresh

Comments 86

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

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

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

За оригинальное решение, если-бы мог, то поставил Вам плюс. Хотя, с 2008 сервера Винда умеет пересылать свои журналы на один компьютер-сборщик. Так-что пробегать по всем серверам может и не надо.
Кроме этого, на события в журналах можно ставить обработчики и с их помощью так-же можно построить систему мониторинга (либо доработать Вашу, если у Вас сделано не так) и автоматизировать выполнение операций по обслуживанию.
Читал про этот remote event collector, ругают, то у них конкретные события перестают отправляться, то вообще все, мол, ненадежно.
с 2008 сервера Винда умеет пересылать свои журналы на один компьютер-сборщик

А где можно подробнее почитать, как это сделать? Насколько мне известно, система журналирования Windows сделана так, что прочитать (даже сохранённый, скопированный) журнал на другой машине — та ещё задача:

Если на другом компьютере не установлен аналогичный софт, то имеем ошибку:

Не удается найти описание для идентификатора события 1000 из источника VMware Tools. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.

Что сводит на нет всю идею резервирования журналов.

На мой взгляд надёжнее посылать журнал сразу в текстовом виде на linux-машину с rsyslog, может знаете какие решения?
Подробней почитать можно отсюда (извините, что посылаю Вас в Гугл, но так более информативно): Windows Event Forwarding
Для самостоятельного чтения журналов Windows существуют сторонние программы которые находится очень быстро.
Резервирование журналов можно настроить нативно из встроенного средства просмотра событий. Там же можно настроить обработку возникших событий.
Если взять Ваш пример с VMware Tools, то можно написать обработчик, который установит недостающее при появлении события с кодом 1000 и источником «VMWare Tools». Скажу сразу, сам такую автоматизацию не делал, но вполне можно написать скрипт, посылающий уведомление админу и/или устанавливающий нужный софт. Придётся, правда, повозиться с отладкой скрипта, так как не всё однозначно и Майкрософт по-особому смотрит на внедряемые возможности.
Да, типичный подход Microsoft
Если это «большая бюрократизированная компания», то было бы странно, если такого пункта в договоре не было. У «одного моего знакомого», который в очень большой софтверной компании работает, такой раздл, как и NDA, обязательно прилагается.
Хм, даже у сисадминов в большой компании в договоре есть пункт «всё написанное тобой — наше»?
Не нужно быть юристом, нужно просто уметь читать. ч. 4 ГК РФ статья 1295 п. 2 «чёрным по-русскому» говорит совершенно иное:
Исключительное право на служебное произведение принадлежит работодателю, если трудовым или гражданско-правовым договором между работодателем и автором не предусмотрено иное.
Не стоит объединять понятия «авторского права» с «исключительным правом». Это два отдельных термина. Авторское право право включает в себя исключительное право.
Это вы сами с собой спорите? ;-)
Весьма занимательное решение, особенно в плане инструмента.
Расскажите поподробнее для непосвященных, как именно оно работает. SQL-скрипт рассылает запросы по сети с центрального компа, или выполняется локально на каждом проверяемом сервере?

Я так понял — удаленный вызов команд через WMI©

Именно, WMIC /node:servername, читает вывод xp_cmdshell во временную таблицу, где парзим строки на SQL (ах, эти извращения)

Не совсем понял. То есть на каждом сервере стоит MSSQL, в котором запускаются эти вот процедуры?

Разумеется нет. У команды WMIC есть параметр /node:servername, так что SQL вам понадобится только один и то очень маленький
Я работал в нескольких «больших бюрократизированных компаниях» и почти везде наблюдал этот феномен: куча всякого добра «по феншую» с тоннами документации, аудитом и прочим — и всё это накрывается, когда, условно говоря, уборщица случайно выключает рабочую станцию какого-нибудь чувака. Который устал пробивать эти бумажные тома, словно придуманные для того, чтобы никто ничего не мог сделать и сделал что-то «сбоку на коленке» — и оно работало, пока кто-то не уронил.
Согласен — часто большие компании еще существуют потому, что ктото идет вопреки правилам и все таки делает работу
А что, Zabbix давным давно в этой далекой галактике не изобрели еще?
Он тоже где то используется, но нам спустили SCOM как копроративный стандарт.
Я к тому что пока не было SCOMа поднять Zabbix заняло бы с часик.
Я предлагал это шефу. Но он просто не отвечал, так как был увлечен бюрократическими битвами, в которых в итоге проиграл. На несколько месяцев я вообще был предоставлен сам себе. А в Zabbix есть агент?
А, ну тогда это проблемы шерифа :) Да, конечно есть агент в т.ч. под винду.

Расскажите! Чтобы кто нибудь не ступил туда, как эта фирма в netIQ в свое время

Да особо и нечего рассказывать, был у нас один маленький, но гордый Zabbix, который всё всё мониторил, смски отправлял, графики/трэнды рисовал, завки в хэлпдеске создавал, и есть не просил. Но один эффективный менеджер сказал, что это не Энтерпрайз и теперь у нас вместо одного заббикса, комплекс из полусотни серверов, и по пять агентов на каждом сервере, и убогий джава клиент, которому нужен 3-d party агрегатор, чтобы рисовать адекватные графики. И само собой всё это стоит много денег. #IBM #кровавыйэнтерпрайз =(

Для очень большой инфраструктуры — Tivoli не идеальный, но мощный и стабильный инструмент. Попробуйте не плеваться, а разобраться как это всё вместе работает.

А вот сложно не плеваться, на таком контрасте. Хотя ребята которые им занимаются (да-да, под это дело набрали спец. отдел) говорят, что скоро ITM обновится до 8-й версии (до этого был слух, что восьмёрку будут продавать как новый продукт) и станет выглядеть по человечески. Будем подождать. А вот Spectrum Control годная вещь, кстати.

А можно конкретику — от чего там плюются? Чтобы знать.
Ок, попробую систематизировать, это также ответ для thekovach и его соседа. У меня претензии одновременно как у пользователя и как у инфраструктурщика. С начала инфраструктурные моменты:
1) Как я уже говорил сложность системы мониторинга и количество потребляемых ею ресурсов возросло в десять раз. Старая система — основной сервер + прокси для мониторинга фронтов снаружи = 2 виртуальные машины (суммарно 12 vCPU, 40GB RAM, 900GB диски). Новая система 24VM + 4 физических выноса в ЦОДах + тот же самый внешний проксик (суммарно 139vCPU 496GB RAM 3,08TB диски). Про пол-сотни это я конечно сгоряча, каюсь. По дискам конечно «всего» в три раза больше заббикса, но заббикс хранит год метрик по каждому айпишнику до которого смог дотянуться, включая сетевое оборудование, а у Тиволи вполне конкретные лицензионные ограничения по объектам мониторинга, поэтому он смотрит только на особо критичные системы.
2) Агенты: заббиксу вообще не нужны, если очень хочется, то один. Ест 6МБ памяти. Тиволи — агент нужен обязательно, в базовой комплектации три службы, 2 процесса жрут 80МБ памяти. На каждый чих (IIS, SQL, Exchange, AD и т.д. нужен дополнительный агент). Бонусом kq7client.exe рандомно начинает выжирать на 100% одно ядро, пока его не рестартанёшь. IBM говорит — это норма!
3) Гремучую кучу времени\денег которые были на него потрачены, можно было потратить с большей пользой. Например, завести отдел тестирования, и купить им инструменты для работы.
С точки зрения пользователя:
1) для тех, кто не видел посконный тиволёвый интерфейс вот. Дизайнерам интерфейсов с тонкой душевной организацией лучше не смотреть.
2) В заббиксе посмотреть график по любой метрике можно в пару кликов, в тиволи для этого приходится продираться через тормоза и условности устаревшего интерфейса, или платите миллион в год за 3th party рисовалку (сорян, не помню как называется, что-то отечественное), или пилите сами.
3) Также накидать графиков на дэшборд в заббиксе можно легко и непринуждённо, в тиволи это сложнейший квест, т.к. нужно выбирать из нескольких одинаково называющихся метрик, а потом хитро указывать диапазоны времени (на лету менять нельзя). Ну и в общем если нет админских прав, то это работа бессмысленная т.к. сохранять нельзя.

Я не говорю, что Тиволи не работает, я говорю, что он монструозен в лучших традициях энтерпрайз решений от IBM.
Интересно что у NetIQ был примерно такой же интерфейс
Кстати, что там по поводу thresholds? Мне кажетcя статические thresholds это чтото из 90х.
Статические в смысле, не умеют подстраиваться под изменяющиеся характеристики объекта? Вроде не было такой проблемы. Но зато я вспомнил, другую. Угадайте, что будет если машина с установленным агентом была скопирована, и у неё изменился хостнэйм\fqdn\ip? Правильный ответ — будут проблемы. = ) Данные от агента на скопированной машине будут падать в объект оригинальной машины. = )
WSUS хотя бы лечится в одну команду, а как дела у тиволи?
Нужно переписать 1 строчку в конфигурации агента после клонирования. Либо изначально правильно сконфигурировать агент.
Всё очень просто.
1) Тиволи платный продукт, да. Поэтому лицензионные ограничения это не минус, а скорее реальность.
Что в интерпрайзе даже скорее плюс, так как вместе с лицензией вы получаете поддержку и делигирование части ответственности. С позиции менеджмента так лучше, даже если инженерам и кажется нецелесообразным.
Ресурсы — всё зависит от масштабов проекта и количества компонентов.
В «базовом варианте» для работы одного сервера хватит и одной VM с парой ядер и парой гигабайт памяти. Но кто же так делает в энтерпрайзе? :)
2) Тиволи тоже умеет в «безагентный» мониторинг, просто вы об этом не слышали. Вариантов опроса систем несколько, на любой вкус.
По поводу процесса — не буду гадать что там у вас, но стандартный watchdog ITM контролирует поведение агентов, в том числе их статус и утилизацию ресурсов. Попробуйте это настроить. И если не сложно дайте ссылку где IBM говорит, что это норма. Как-то верится с трудом.
3) То что у вас претензии как ваш роботодатель тратит его деньги вряд ли можно отнести к минусам продукта.

По «пользователю»:
1) Это интерфейс TEPS. Туда пользователи не ходят.
2) Пользуйтесь правильными инструментами для своих целей. Если вы пользуетесь TEPS для просмотра графиков, то конечно это будет не так красиво и удобно как в том же DASH.
3) См. п. 2)

Если вы занимаетесь Тиволи как инфраструктурщик, то очевидно вашему руководству стоило бы обучить сотрудников продукту вместе с внедрением.

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

Мне как-то клиент Zabbix не давал обновить Exchange. И ещё несколько неприятных моментов было. Nagios, в любом случае, лучше.

Nagios мертв. Icinga2 — его наследница.
Это как это он не давал? Руки заламывал? :)

Из опенсурсного, довольно объективно, ничего лучше Zabbix нет — его даже Яндекс взял в свое время, правда очень сильно оптимизировав под Oracle.

Nagios трогал в последний раз лет 10+ назад и больше не хочу. Возможно, конечно, он с тех пор стал лучше, но сомневаюсь.
Очень просто. Установщик Exchange сказал что-то типа «Прцесс такой-то не дает продолжить установку». А процесс оказался сервисом агента Zabbix. После чего был снесен.
Ну, это было тоже в районе 10 лет назад, с тех пор я подобным не занимался. Nagios просто надежный как кирпич, удобные текстовые конфиги. Свое дело делал неубиваемо.
«Прцесс такой-то не дает продолжить установку»

Думается что это не проблема Заббикса, а Эксченджа :)
Это проблема Заббикса, так как система мониторинга не должна уподобляться кривому антивирусу.
Агент Заббикса это служба которая слушает один порт и снимает всякие данные локально в т.ч. со счетчиков производительности винды, больше она ничего не делает.

Если она по какой-то причине не понравилась Эксченджу — это исключительно проблема последнего. У меня не было ни одной софтины, которая выказывала недовольство наличием службы Заббикса.
Ну, так, если у вас не было проблем, это значит, что именно у вас не было проблем. Хотя, допускаю, что он мог быть неправильно приготовлен. Его зачем-то поставил другой сисадмин.
«Почитав про команду WMIC я уже не смог остановиться. „
SQL SERVER работает под доменной учётной записью, у которой есть доступ по WMI к другим серверам?

Б — Безопасность. В данном случае непонятно как эти вопросы решались, либо всё “дыряво». Надеюсь эта учётная запись не является админской на всех серверах.
Это был как раз один из старых серверов NetIQ, который имел доступ ко всем другим серверам, что является исключением. И что для netIq, что для Microsoft SCOM таки да — создается service domain account с неустаревающим паролем и почти админскими правами и агент везде работает из под него.
Не совсем так, по умолчанию (и по рекомендациям МС) агент SCOM работает из-под системы и с компами по сети и доменом ничего сделать не может. Это важно.
И опять таки, только один SQL server работал из под этой учетной записи. Б — безопасность это не чтото не делать никогда, а чтото делать контролируемо.
Просто SQL то работает под этой учёткой, а если вы вдруг дадите доступ к своему SQL, чтобы на ваши логи кто-то автоматически привязался, потом еще кому-то. Потом пользователей становится столько, что однажды вы ошибаетесь, и даёте слишком высокие привилегии, и вот он уже владеет service domain account, и может делать любую дичь.
Претензии к MSSQL только в том, что если в нём выключен impersonate (а он отключается например, если у вас не windows-аутентификация, а sql-аутентификация), то это может плохо кончиться.
А как это связано? SQL server работает под СуперПупер account. Я хочу другим людям дать доступ к информации на нем. Как это связано с account, под которым он сам работает? Я создал логины другим группам AD и раздам права… Никакого доступа к СуперПупер account им ненужно
Я правильно понимаю, что Ваше решение подходит только для Windows-серверов?

Поскольку решение в основном в том, чтобы запускать через xp_cmdshell внешнюю утилиту опроса, то для Linux-серверов просто нужна соответствующая утилита или написать скрипт.

Блин, как же я радуюсь new relic + pager duty! Zabbix’у тоже радуюсь, но меньше! Автор, вы — молодец)

На что только не пойдут, лишь бы не использовать zabbix. И да. Б-безопасность. Учетка с неустареваюшим паролем и правами WMI и RPC. А-я-яй так делать. Не хватает коврика "добро пожаловать" перед КД. И ведь прочтает какой ни будь новичеки не один. И повторят, чего доброго.

А от кого вы защищаетесь? Все эти серверы внутри безопасного периметра и закрыты от интернета. А от внутренней обезьяны с гранатой это все равно не поможет. И таки да, агенты устанавливаются под специальными эккаунтами… по рекомендации Microsoft… И сертифицируются аудиторами для SSAE18 — типа все зашибись

Хмм, в конце 2018 года кто-то ещё мыслит в терминах периметра...

С другой стороны, кого интересует, насколько вы РЕАЛЬНО защищены? Если у вас 10 эккаунтов с паролями разной длины, сложности и временем устаревания то все отлично — требования аудиторов выполнены! Ну а то что 95% людей будут эти пароли держать на листочках никого не интересует.

У аккаунтов пользователей нет прав на удаленное управление системой. Так что хоть 10, хоть 210, с этого вектора ничего сделать не смогут. А в вашем случае аккаунт с правами удаленного исполнения кода с неустаревающим паролем. Не есть хорошо. Заббикс поднимается за 2 часа + еще 30 минут на настройку обнаружения хостов. 15 мин на настройку ГПО. Через час у вас все ваши машинки в мониторинге. Все. И без ущерба корпоративной бещопасности. Я понимаю ваше негодование, вы изобрели велосипед, поделились плодами своего труда с сообществом, а тут в вас экскрементами кидаются. Приятного мало. Но и вы поймите, есть решение, фактически отраслевой стандарт — значит нужно пользоваться. Не умеете — значит нужно изучить и научиться, вы как профессионал, должны уметь пользоваться рабочими инструментами. Изобрели свой велосипед ради развлечения или попрактиковаться, тоже понимаю, сам так делаю, что бы не терять навыков. Но не надо публиковать в профильном сообществе и ждать восторга. Не оценят.

«аккаунт с правами удаленного исполнения кода с неустаревающим паролем. Не есть хорошо» — и тем нен менее стандартное решение одобренное свыше (security group фирмы).
«Заббикс поднимается за 2 часа + еще 30 минут на настройку обнаружения хостов» — плюс от двух недель все это проаппрувить (особенно установку агентов на PROD) — а реально месяц. А в той ситуации, когда шеф почти не реагировал ни на что — вообще

30 минут на настройку обнаружения и ГПО. Далее агент средствами ГПО сам разьедется по хостам а обнаружение найдет эти хосты и раскидает по группам в забиксе и навесит нужные шаблоны.

Вы не прочитали что я ответил. Это большая корпорация. Чтото сделать технически может 5 минут, а проаппрувить/пропихнуть — месяц.

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

UFO just landed and posted this here

Забавные истории у вас

UFO just landed and posted this here

"Анонимные программисты". Все ассоциации случайны и непреднамеренны.

Я могу рассказать не один десяток таких, из стародавних времен, когда я работал в госконторе (самое начало века). Адская бюрократия между филиалами, когда годами можно ждать вердикта «можно/низя» по проблеме, абсолютная несогласованность ПО и инструментов (локальные БД, свертки-выгрузки, сотни разных версий одного и того же ПО по стране)… Бррр.
UFO just landed and posted this here
Да и обычный (компетентный) безопасник может возбудиться: как это, на прод серверах есть возможность запускать произвольные команды? Да ещё с правами администратора?

Зачем нужно изобретение велосипеда, когда есть zabbix?
Как опыт конечно интересно, но… Кажется у вас было много свободного времени на работе))

Я так понимаю, из-за проблем агентов NetIQ хотелось полностью agentless систему. Заббикс не подошел, ибо не является agentless, а так как винду можно пониторить по remote WMI, если есть права, понеслась.

Вспоминая, да — поставить агента на сотни PROD серверов тайно — все таки черезчур, так что мне подходило только agentless

«Вашим же» виндузятным тру- способом через msi-пакет, в чём проблема?
В ***аппрувах***. Вы не можете поставить чтото на PROD сервере, даже если у вас есть права. То есть можете, но потом вас уволят. Так понятно?
Хотя мне до сих пор иногда и самому забавно, как в большой бюрократизированной компании можно «тихой сапой» протащить многие вещи.
Так это исключительно потому, что не потребовалось ни копейки бюджетных денег. А ещё потому, что у вас была масса свободного времени и голова варит правильно.
Очень похоже на мою историю. 20 лет назад я понял, что мне нужно какое-то средство мониторинга серверов и сервисов. Опыт у меня был только с sun netmanager и не очень хороший (хотя я под него и под нетварь написал на корявом C, от которого мне до сих пор стыдно, модули для мониторинга кучи нетваревских серверов). Перепрбовал несколько крупных продуктов от монстров типа HP и других и понял, что проще написать что-то самому. Взял snmp + perl + wsh + mssql с мордой на IIS, тогда еще 4.0, и в итоге система разрослась до таких размеров, что в пике в инвентори было более 500 windows серверов, красивые графики работы всего в онлайне, всякая кастомная статистика работа системы, по запросу разных подразделений я допиливал и допиливал новые вещи, данные хранились в легко читаемом виде в mssql. Потом нас поглотила большая корпорация. Я уже 6 лет не работаю там, но, как говорят, моя система до сих пор работает и обслуживает тот самый сегмент системы :-О И как смотрел я на всякие заббиксы и OpenView немного сверху, так и продолжаю.
Кхм. Однажды собирал данные с многих mongo-северов в одно хранилище на MS SQL. Почему-то сделал в виде табличных UDF-функций. Например,
SELECT * FROM dbo.GetChequesSql(...)

где GetChequesSql была реализованна на C# (да, можно на шарпе под TSQL кодить, но есть грабли). Можно Ваш функционал расширить вызовами к любым портам.
А для xp_cmdshell обязательно настройте sp_xp_cmdshell_proxy_account. Тем более у Вас здесь отличное место для sql-инъекции
proxy идея правильная! (у нас правда эти сервера чисто айтишные и доступа к ним почти ни у кого нет, но в принципе да, так правильнее)

Каждый сисадмин пишет свою систему мониторинга.
SQL like опросы можно юзать вот так
https://osquery.io

Sign up to leave a comment.

Articles