Однажды, в далекой-далекой галактике, была фирма, давно выросшая из стартапа, но которая по прежнему оставалась довольно компактной и эффективной. Фирма хостила (на своем железе) сотни Windows-серверов, и это надо было как то мониторить. Еще до того, как я в нее пришел, в качестве решения была выбрана система NetIQ.

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

image

В одной строчке логика «птички» положительная (Raise event). В другой отрицательная (Do not raise event). Как работает «Only raise events when» с разным набором галочек я вообще понял только экспериментально (и уже забыл).

Впрочем, значительно более плохой чертой NetIQ была ее ломкость. Ее агент, который устанавливался на каждый сервер, был значительно более уязвим, чем сама Windows. Мало памяти? Агент вылетел. CPU 100%? Агент не отвечает. На диске осталось 0 байт — что бы вы думали? Чтобы отправить сообщение, агент вначале должен его сформировать на диске, в виде файла… Ну, вы поняли.

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


Тем временем я отапгрейдил NetIQ с версии 7 на 8 и далее на 9, когда и начались наши проблемы. NetIQ мониторила всего несколько вещей: доступность самого сервера, память, CPU, диск и главное — сервисы. Если наши самописные сервисы были в «Automatic», то они должны были работать. Вот такого быть не должно:


Вот эти события в большинстве случаев и перестала мониторить NetIQ. После недели экспериментов и недели работы с саппортом, мы выяснили, что «это не бага, это фича» и что алерт создается только при определенном exit code. А наши сервисы иногда падали с любыми кодами.

Прошло много времени и откатываться назад было поздно. Как вы понимаете, обнаружив, что наша критическая инфраструктура не мониторится, мы немедленно… ээээ… ничего не сделали. Потому что к этому времени «растворение» нашей фирмы в бОльшей вошло в активную фазу, и выглядело это примерно так:


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

Поняв, что помощи ждать некуда, я решил быстренько написать сканнер сервисов, который бы обходил все сервера и посылал бы письмо, если что не так, как это делала NetIQ. Вы наверное думаете, что я использовал Powershell? Нет. Если у вас в руках молоток, то все вокруг — гвозди, а если вы DBA и работали с SQL с версии 6.0 — то… Небольшая выдержка из кода, чтобы вы поняли, о чем идет речь:


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

Функциональность была не просто скопирована — я реализовал все свои фантазии, все, чего я хотел бы от такой системы. LOWDISK — вы получаете еще и график, как вело себя свободное место на диске последнее время — нормальный ли это рост или чтото пошло не так. Мало памяти — вот и график, и список процессов и сколько они занимают, а для w3wp.exe мы еще дорисуем имя application pool, умные reminders и многое другое. Кстати, список серверов система умела самостоятельно брать из VMware. Одного беглого взгляда на subjects алертов в телефоне хватало, чтобы понять, что происходит:


Современные программисты настолько приучены мыслить абстрактно, что не могут написать мониторинговую систему иначе как 'для сервера мы запускаем набор абстрактных мониторинговых скриптов, и нас не волнует, что внутри', тогда как мониторинг каждого состояния — диск, память, CPU, сервисы — по своему уникальны. Реализуя это «абстрактно», вы делаете одинаково убого для каждого случая, и происходит вот это: (Это скриншот из email от SCOM. Наверняка выполнено строго по ТЗ)


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

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

NetIQ все еще работала, но новый вид алертов всем нравился больше, и постепенно я всех перевел на алерты от новой системы, не выключая, однако, старую. Тем временем, процесс «расплавления» вступил в заключительную стадию:


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

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

Иногда менеджеры разного уровня задавились вопросом — а откуда идут вот эти автоматизированные emails? Недавно я подробно им описал историю, которую изложил в этой статье, и они весело посмеялись. Хотя мне до сих пор иногда и самому забавно, как в большой бюрократизированной компании можно «тихой сапой» протащить многие вещи. Да и приятно просто пописать код, как в старые добрые времена.

Комментарии (70)


  1. DJBlend
    21.11.2018 18:40
    +2

    И что планируете делать дальше с этим добром? В опен сорс? На рынок?


    1. Tzimie Автор
      21.11.2018 18:43
      +2

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


      1. DJBlend
        21.11.2018 18:49

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


      1. paranoya_prod
        22.11.2018 10:22

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

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


        1. vesper-bot
          22.11.2018 12:02

          Читал про этот remote event collector, ругают, то у них конкретные события перестают отправляться, то вообще все, мол, ненадежно.


        1. mihmig
          22.11.2018 12:03
          +1

          с 2008 сервера Винда умеет пересылать свои журналы на один компьютер-сборщик

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

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

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

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

          На мой взгляд надёжнее посылать журнал сразу в текстовом виде на linux-машину с rsyslog, может знаете какие решения?


          1. paranoya_prod
            22.11.2018 12:29

            Подробней почитать можно отсюда (извините, что посылаю Вас в Гугл, но так более информативно): Windows Event Forwarding
            Для самостоятельного чтения журналов Windows существуют сторонние программы которые находится очень быстро.
            Резервирование журналов можно настроить нативно из встроенного средства просмотра событий. Там же можно настроить обработку возникших событий.
            Если взять Ваш пример с VMware Tools, то можно написать обработчик, который установит недостающее при появлении события с кодом 1000 и источником «VMWare Tools». Скажу сразу, сам такую автоматизацию не делал, но вполне можно написать скрипт, посылающий уведомление админу и/или устанавливающий нужный софт. Придётся, правда, повозиться с отладкой скрипта, так как не всё однозначно и Майкрософт по-особому смотрит на внедряемые возможности.


          1. Tzimie Автор
            22.11.2018 13:00
            -1

            Да, типичный подход Microsoft


        1. kozar
          22.11.2018 15:29

          Если это «большая бюрократизированная компания», то было бы странно, если такого пункта в договоре не было. У «одного моего знакомого», который в очень большой софтверной компании работает, такой раздл, как и NDA, обязательно прилагается.


          1. paranoya_prod
            23.11.2018 10:22

            Хм, даже у сисадминов в большой компании в договоре есть пункт «всё написанное тобой — наше»?


        1. Busla
          23.11.2018 10:45

          Не нужно быть юристом, нужно просто уметь читать. ч. 4 ГК РФ статья 1295 п. 2 «чёрным по-русскому» говорит совершенно иное:

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


          1. paranoya_prod
            23.11.2018 11:54

            Не стоит объединять понятия «авторского права» с «исключительным правом». Это два отдельных термина. Авторское право право включает в себя исключительное право.


            1. Busla
              23.11.2018 19:55

              Это вы сами с собой спорите? ;-)


  1. HerrDirektor
    21.11.2018 18:42
    +1

    Весьма занимательное решение, особенно в плане инструмента.


  1. impwx
    21.11.2018 19:09

    Расскажите поподробнее для непосвященных, как именно оно работает. SQL-скрипт рассылает запросы по сети с центрального компа, или выполняется локально на каждом проверяемом сервере?


    1. gecube
      21.11.2018 19:13

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


      1. Tzimie Автор
        21.11.2018 20:08

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


  1. xe_xe
    21.11.2018 19:11
    +1

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


    1. Tzimie Автор
      21.11.2018 20:03

      Разумеется нет. У команды WMIC есть параметр /node:servername, так что SQL вам понадобится только один и то очень маленький


  1. khim
    21.11.2018 19:17

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


    1. Tzimie Автор
      21.11.2018 20:36

      Согласен — часто большие компании еще существуют потому, что ктото идет вопреки правилам и все таки делает работу


  1. blind_oracle
    21.11.2018 19:59

    А что, Zabbix давным давно в этой далекой галактике не изобрели еще?


    1. Tzimie Автор
      21.11.2018 20:03

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


      1. blind_oracle
        21.11.2018 20:23

        Я к тому что пока не было SCOMа поднять Zabbix заняло бы с часик.


        1. Tzimie Автор
          21.11.2018 20:35

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


          1. blind_oracle
            21.11.2018 20:35

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


      1. Insane11
        22.11.2018 10:14

        Радуйтесь, что не Tivoli. )


        1. Tzimie Автор
          22.11.2018 10:44

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


          1. Insane11
            22.11.2018 10:56

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


    1. alex_fort
      21.11.2018 23:12
      -1

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


      1. gecube
        21.11.2018 23:35

        Nagios мертв. Icinga2 — его наследница.


      1. blind_oracle
        22.11.2018 00:03

        Это как это он не давал? Руки заламывал? :)

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

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


  1. Ranger21
    21.11.2018 20:03
    +2

    «Почитав про команду WMIC я уже не смог остановиться. „
    SQL SERVER работает под доменной учётной записью, у которой есть доступ по WMI к другим серверам?

    Б — Безопасность. В данном случае непонятно как эти вопросы решались, либо всё “дыряво». Надеюсь эта учётная запись не является админской на всех серверах.


    1. Tzimie Автор
      21.11.2018 20:05

      Это был как раз один из старых серверов NetIQ, который имел доступ ко всем другим серверам, что является исключением. И что для netIq, что для Microsoft SCOM таки да — создается service domain account с неустаревающим паролем и почти админскими правами и агент везде работает из под него.


      1. PSVITAmins
        22.11.2018 15:25

        Не совсем так, по умолчанию (и по рекомендациям МС) агент SCOM работает из-под системы и с компами по сети и доменом ничего сделать не может. Это важно.


    1. Tzimie Автор
      21.11.2018 20:07

      И опять таки, только один SQL server работал из под этой учетной записи. Б — безопасность это не чтото не делать никогда, а чтото делать контролируемо.


      1. TimsTims
        22.11.2018 15:21

        Просто SQL то работает под этой учёткой, а если вы вдруг дадите доступ к своему SQL, чтобы на ваши логи кто-то автоматически привязался, потом еще кому-то. Потом пользователей становится столько, что однажды вы ошибаетесь, и даёте слишком высокие привилегии, и вот он уже владеет service domain account, и может делать любую дичь.
        Претензии к MSSQL только в том, что если в нём выключен impersonate (а он отключается например, если у вас не windows-аутентификация, а sql-аутентификация), то это может плохо кончиться.


        1. Tzimie Автор
          22.11.2018 15:34

          А как это связано? SQL server работает под СуперПупер account. Я хочу другим людям дать доступ к информации на нем. Как это связано с account, под которым он сам работает? Я создал логины другим группам AD и раздам права… Никакого доступа к СуперПупер account им ненужно


  1. onix74
    21.11.2018 20:09

    Я правильно понимаю, что Ваше решение подходит только для Windows-серверов?


    1. Tzimie Автор
      21.11.2018 20:33

      да…


    1. sshmakov
      22.11.2018 23:48

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


  1. WondeRu
    21.11.2018 20:59
    +1

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


  1. Turilion
    21.11.2018 23:44

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


    1. Tzimie Автор
      22.11.2018 00:08

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


      1. bondbig
        22.11.2018 11:16

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


    1. Tzimie Автор
      22.11.2018 00:10

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


      1. Turilion
        22.11.2018 10:47
        -1

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


        1. Tzimie Автор
          22.11.2018 11:01

          «аккаунт с правами удаленного исполнения кода с неустаревающим паролем. Не есть хорошо» — и тем нен менее стандартное решение одобренное свыше (security group фирмы).


        1. Tzimie Автор
          22.11.2018 11:02

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


          1. Turilion
            22.11.2018 11:17

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


            1. Tzimie Автор
              22.11.2018 11:23
              +3

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


          1. Turilion
            22.11.2018 11:20

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


  1. mikhailian
    22.11.2018 00:39

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


    1. Tzimie Автор
      22.11.2018 10:44

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


      1. mikhailian
        22.11.2018 15:00

        Я вот думаю, как назвать таких людей. Пока что звал "подпольные программисты", но наверно лучше тайные. "Тайные программисты".


        1. sshmakov
          22.11.2018 23:42

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


      1. HerrDirektor
        22.11.2018 16:10

        Я могу рассказать не один десяток таких, из стародавних времен, когда я работал в госконторе (самое начало века). Адская бюрократия между филиалами, когда годами можно ждать вердикта «можно/низя» по проблеме, абсолютная несогласованность ПО и инструментов (локальные БД, свертки-выгрузки, сотни разных версий одного и того же ПО по стране)… Бррр.


  1. Kutak
    22.11.2018 04:37

    Главное, чтобы про это не прознал «эффективный менеджер» или, к примеру, «эффективный ИТ-безопасник». А то ещё покарают. Нарушил, мол, процедуры, не задокументировал, или ещё чего придумают.
    Но вот это:

    Да и приятно просто пописать код, как в старые добрые времена.

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


    1. mihmig
      22.11.2018 12:07

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


  1. click0
    22.11.2018 06:19

    Аналог monit и m/monit для Windows?


  1. gwathedhel
    22.11.2018 08:30

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


    1. vesper-bot
      22.11.2018 10:01

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


      1. Tzimie Автор
        22.11.2018 10:46

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


        1. mihmig
          22.11.2018 12:09

          «Вашим же» виндузятным тру- способом через msi-пакет, в чём проблема?


          1. Tzimie Автор
            22.11.2018 12:12
            +3

            В ***аппрувах***. Вы не можете поставить чтото на PROD сервере, даже если у вас есть права. То есть можете, но потом вас уволят. Так понятно?


  1. alexanster
    22.11.2018 10:48
    +1

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


  1. snvtr
    22.11.2018 10:58
    +1

    Очень похоже на мою историю. 20 лет назад я понял, что мне нужно какое-то средство мониторинга серверов и сервисов. Опыт у меня был только с sun netmanager и не очень хороший (хотя я под него и под нетварь написал на корявом C, от которого мне до сих пор стыдно, модули для мониторинга кучи нетваревских серверов). Перепрбовал несколько крупных продуктов от монстров типа HP и других и понял, что проще написать что-то самому. Взял snmp + perl + wsh + mssql с мордой на IIS, тогда еще 4.0, и в итоге система разрослась до таких размеров, что в пике в инвентори было более 500 windows серверов, красивые графики работы всего в онлайне, всякая кастомная статистика работа системы, по запросу разных подразделений я допиливал и допиливал новые вещи, данные хранились в легко читаемом виде в mssql. Потом нас поглотила большая корпорация. Я уже 6 лет не работаю там, но, как говорят, моя система до сих пор работает и обслуживает тот самый сегмент системы :-О И как смотрел я на всякие заббиксы и OpenView немного сверху, так и продолжаю.


  1. BobKexit
    22.11.2018 18:22
    +1

    Кхм. Однажды собирал данные с многих mongo-северов в одно хранилище на MS SQL. Почему-то сделал в виде табличных UDF-функций. Например,

    SELECT * FROM dbo.GetChequesSql(...)

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


    1. Tzimie Автор
      22.11.2018 18:23

      proxy идея правильная! (у нас правда эти сервера чисто айтишные и доступа к ним почти ни у кого нет, но в принципе да, так правильнее)


  1. alex-khv
    23.11.2018 13:07
    +1

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