Iskatel_S Posted April 29, 2025 Posted April 29, 2025 (edited) Есть облачный сервер на Windows Server 2019 и есть 2 офиса, в офисах стоят микротики и проброшены openvpn-тоннели между сервером и микротиками. В принципе эти 3 устройства - это всё, что нужно мониторить в сети, поэтому при выборе системы мониторинга решение было принято в пользу The Dude, хотя на форумах некоторые предлагали тяжеловесный Zabbix. Штатную службу Windows Server под названием SNMP Service активировал, теперь с сервера поступают данные в The Dude об объёме занятой памяти и проценте загруженности cpu. Но этого мало, нужно не только знать, что объём занятой памяти за сутки колеблется от 9 до 12 Гбайт, но и понимать откуда эта цифра берётся, нужно снимать метрики с отдельных сервисов. The Dude умеет получать данные из Windows только по snmp, вопрос как по snmp получить данные о dns.exe либо postgres.exe (последний сервис ещё и многопроцессный, то есть сумму нужно вычислять). Данные о процессах по snmp получать возможно, но OIDы при каждом новом запуске сервера нужно вычислять заново, так как они зависят от PID процесса. В связи с этим вопрос, существует ли альтернатива штатной службе SNMP Service, которая бы решала задачу проще? Дальше. Мониторинг это не основная задача, основная это - планирование миграции из облака на физический сервер. Основной критерий при выборе сервера - цена, она должна быть не выше 100-130 тыс. руб, тогда сервер окупится за год. Планирую брать б/у-сервер в rack-корпусе высотой 1U для размещения в датацентре. Принимаю советы по конфигурации сервера, сколько ядер, сколько памяти? Сейчас в облаке мы имеем 8 ядер и 32 Гигабайт и этого хватает, наполнение по программному обеспечению сейчас такое: 1. ОС Windows Server 2019 Standard 2. контроллер домена Active Directory + DNS 3. samba-сервисы (реально не более 10 одновременно) 4. "Стахановец" (программа для защиты коммерческих данных, собирает статистику и снимки с камер с компьютеров в домене, 20 пользователей) 5. Apache (необходим для работы фронтенда "Стахановца" 6. PostgreSQL (для хранения данных "Стахановца") 7. MySQL (для хранения данных самописной программы) 8. OpenVPN Что планируется добавить из программного обеспечения после миграции: 1. Сервер терминалов (не более 7 пользователей одновременно, для работы с документами и почтой) 2. Гипервизор в котором собственно и планируется запустить ещё один Windows Server с сервером терминалов Дальше принимаю советы как это всё раскидать по виртуалкам, изначально хотел только одну виртуалку под сервер терминалов, но спрашивал на других форумах, кто-то советует кроме виртуалки под сервер терминалов создать отдельно виртуалку под контроллер домена + DNS, а кто-то советовал виртуализировать вообще всё, на хосте оставив только OpenVPN, последний совет мне не нравится, это потребует больше памяти и больше стоимости сервера. Вопрос выбора гипервизора тоже открыт, для варианта с одной виртуалкой я думал использовать Hyper-V. Вопрос выбора гипервизора тянет за собой вопрос конфигурации дисковой подсистемы, какие диски, какой рейд: программный или аппаратный? Ну и вопрос выбора марки, слышал мнение, что б/у-сервера можно брать только 2-х марок: HP и Supermicro. А что на счёт Huawei и H3C? Edited April 29, 2025 by Iskatel_S Вставить ник Quote
murano Posted April 29, 2025 Posted April 29, 2025 28 минут назад, Iskatel_S сказал: Есть облачный сервер на Windows Server 2019 и есть 2 офиса, в офисах стоят микротики и проброшены openvpn-тоннели между сервером и микротиками. В принципе эти 3 устройства - это всё, что нужно мониторить в сети, поэтому при выборе системы мониторинга решение было принято в пользу The Dude, хотя на форумах некоторые предлагали тяжеловесный Zabbix. Штатную службу Windows Server под названием SNMP Service активировал, теперь с сервера поступают данные в The Dude об объёме занятой памяти и проценте загруженности cpu. Но этого мало, нужно не только знать, что объём занятой памяти за сутки колеблется от 9 до 12 Гбайт, но и понимать откуда эта цифра берётся, нужно снимать метрики с отдельных сервисов. The Dude умеет получать данные из Windows только по snmp, вопрос как по snmp получить данные о dns.exe либо postgres.exe (последний сервис ещё и многопроцессный, то есть сумму нужно вычислять). Данные о процессах по snmp получать возможно, но OIDы при каждом новом запуске сервера нужно вычислять заново, так как они зависят от PID процесса. В связи с этим вопрос, существует ли альтернатива штатной службе SNMP Service, которая бы решала задачу проще? Дальше. Мониторинг это не основная задача, основная это - планирование миграции из облака на физический сервер. Основной критерий при выборе сервера - цена, она должна быть не выше 100-130 тыс. руб, тогда сервер окупится за год. Планирую брать б/у-сервер в rack-корпусе высотой 1U для размещения в датацентре. Принимаю советы по конфигурации сервера, сколько ядер, сколько памяти? Сейчас в облаке мы имеем 8 ядер и 32 Гигабайт и этого хватает, наполнение по программному обеспечению сейчас такое: 1. ОС Windows Server 2019 Standard 2. контроллер домена Active Directory + DNS 3. samba-сервисы (реально не более 10 одновременно) 4. "Стахановец" (программа для защиты коммерческих данных, собирает статистику и снимки с камер с компьютеров в домене, 20 пользователей) 5. Apache (необходим для работы фронтенда "Стахановца" 6. PostgreSQL (для хранения данных "Стахановца") 7. MySQL (для хранения данных самописной программы) 8. OpenVPN Что планируется добавить из программного обеспечения после миграции: 1. Сервер терминалов (не более 7 пользователей одновременно, для работы с документами и почтой) 2. Гипервизор в котором собственно и планируется запустить ещё один Windows Server с сервером терминалов Дальше принимаю советы как это всё раскидать по виртуалкам, изначально хотел только одну виртуалку под сервер терминалов, но спрашивал на других форумах, кто-то советует кроме виртуалки под сервер терминалов создать отдельно виртуалку под контроллер домена + DNS, а кто-то советовал виртуализировать вообще всё, на хосте оставив только OpenVPN, последний совет мне не нравится, это потребует больше памяти и больше стоимости сервера. Вопрос выбора гипервизора тоже открыт, для варианта с одной виртуалкой я думал использовать Hyper-V. Вопрос выбора гипервизора тянет за собой вопрос конфигурации дисковой подсистемы, какие диски, какой рейд: программный или аппаратный? Ну и вопрос выбора марки, слышал мнение, что б/у-сервера можно брать только 2-х марок: HP и Supermicro. А что на счёт Huawei и H3C? Очень просто: ставите «тяжеловесный» zabbix, на винду ставите zabbix-agent и собираете любые метрики. Вставить ник Quote
jffulcrum Posted April 29, 2025 Posted April 29, 2025 Для мониторинга выбран максимально странный метод, тут из разряда "комментировать - только портить". 2 часа назад, Iskatel_S сказал: Планирую брать б/у-сервер в rack-корпусе высотой 1U для размещения в датацентре. Размещение сейчас практически во всех ЦОД выросло по цене в несколько раз. Возможно, выгоднее арендовать VDS. Если делать виртуализацию, то до конца: на железе сам гипервизор, все остальное в виртуалках: - контроллер AD - сервер RDS - машина с вашим стахановским добром - виртуальный роутер, можно даже CHR от MT - возможно, виртуалка с бекапами. Veeam "коммунистической" редакции позволяет защищать 10 ВМ, вам хватит. Дорасход только в памяти, это не бог весть какая проблема 64 Гб получить, если речь не о каких-то дровах 15-летней выдержки. С дисками вопрос в SLA, а с одним сервером SLA всё равно плох. Загрузочный диск - мелкий SATA SSD на двухсторонний скотч прилепить в гнездо для привода оптического или просто в щель какую. Если сервер брендовый, то иногда можно найти DOM-модуль в спецразъем на плате. Диски для машин с Hyper-V можно собрать с помощью Storage Spaces в Mirror. C VmWare нужен будет уже только HW RAID, причем не набортный сотф-рейд чипсета. Хотя можно VSAN собрать из одного хоста, но это будет непросто, особенно без vCenter. 3 часа назад, Iskatel_S сказал: слышал мнение, что б/у-сервера можно брать только 2-х марок: HP и Supermicro. А что на счёт Huawei и H3C? Есть еще DELL и Lenovo. За подключение выделенного порта IPMI/KVM датацентры возьмут доп.деньги, и IP дополнительный внешний для этого - снова к вопросу экономики. А так для вашей задачи функционал у всех примерно одинаковый будет. Ну разве что больше датчиков и быстрый выбор профиля энергопотребления у HPE, Huawei и Dell, Lenovo и Supermicro поскромнее и больше работы руками в BIOS. Вставить ник Quote
Ivan_83 Posted April 29, 2025 Posted April 29, 2025 22 minutes ago, jffulcrum said: Если делать виртуализацию, то до конца: на железе сам гипервизор, все остальное в виртуалках +1 23 minutes ago, jffulcrum said: виртуальный роутер, можно даже CHR от MT Можно и OpenWRT, PfSence и прочее. 23 minutes ago, jffulcrum said: возможно, виртуалка с бекапами. Как то немножко странно бэкапы иметь там же. 3 hours ago, Iskatel_S said: вопрос как по snmp получить данные о dns.exe либо postgres.exe (последний сервис ещё и многопроцессный, то есть сумму нужно вычислять). Данные о процессах по snmp получать возможно, но OIDы при каждом новом запуске сервера нужно вычислять заново, так как они зависят от PID процесса. В связи с этим вопрос, существует ли альтернатива штатной службе SNMP Service, которая бы решала задачу проще? А вы админ или пограмист?) Наверное можно как минимум портировать что то с линуха и допилить нужный функционал - по сути вы сделаете SNMP агента 🙂 Вставить ник Quote
naves Posted April 29, 2025 Posted April 29, 2025 (edited) Такое ощущение, что топикстартер за 5 лет так и не научился пользоваться ни гуглом, ни любой нейросетью. https://www.zabbix.com/documentation/7.2/en/manual/config/items/itemtypes/zabbix_agent/win_keys?hl=proc_info#proc.info https://www.zabbix.com/documentation/current/en/manual/discovery/low_level_discovery/examples/wmi ну или стильно-модно-молодежно https://github.com/influxdata/telegraf/blob/master/plugins/inputs/procstat/README.md ммм. a Dude умеет дергать определенную url? написать скрыптик на php, который будет через shell_exec получать нужную инфу и выплевывать. Apache на сервере уже есть. Кстати, если в качестве гипервизора использовать proxmox, то и отдельная виртуалка для роутера, вроде, как и не нужна. Iptables прекрасно со всем справится. С другой стороны, если сервер не будет иметь IP KVM, то судя по всему, для автора темы настанут темные времена. Edited April 29, 2025 by naves Вставить ник Quote
Iskatel_S Posted April 29, 2025 Author Posted April 29, 2025 Цитата Размещение сейчас практически во всех ЦОД выросло по цене в несколько раз. Возможно, выгоднее арендовать VDS. Делать виртуализацию на виртуализации? Вроде так можно, но с ограничениями. Есть 3 причины миграции из облака: 1. Виртуальную машину нормально из облака не запустить 2. Последняя версия "Стахановца" не работает в облаке Selectel, потому что в нём нет корректной поддержки инструкций CPU AVX-2 3. Абонентсткая плата в Selectel у нас 24 тыщи, а колокейшен стоит 8, за год сервер окупится, а мне это позволит заработать денег Ну да, 24 - это с бэкапами, с железным сервером бэкапы придётся организовывать самостоятельно, думаю делать бэкапы на отдельный hdd, а оттуда сбрасывть их по openvpn на Synology. Вставить ник Quote
naves Posted April 29, 2025 Posted April 29, 2025 (edited) Спросил, у chat gpt Spoiler 🧠 Шаг 1: Создай новую функцию в The Dude Перейди в Functions Нажми Add (+) Назови, например: proc_mem В поле Parameters укажи: name (Это имя параметра — name будет использоваться внутри функции) В поле Function вставь: oid("1.3.6.1.2.1.25.5.1.1.2." . findindex("hrSWRunName", name)) / 1024 📋 Объяснение: findindex("hrSWRunName", name) — находит индекс по имени процесса (name) oid(...) — запрашивает использование памяти по этому индексу Делим на 1024 → переводим из KB в MB 🔎 Шаг 2: Создай пробу на основе этой функции Перейди в Probes Нажми Add (+) Назови: Process RAM (generic) В поле Type выбери: Function В поле Function вставь: proc_mem("chrome.exe") (Замени на нужное имя процесса) Label: RAM: [value] MB Unit: MB Теперь ты можешь копировать этот probe и просто менять имя процесса в параметре! Хочешь — могу также показать, как сделать график по этой пробе или добавить предупреждение при превышении определённого порога памяти. ... ❌ Ограничение The Dude: Функция findindex() возвращает только первый индекс. Нет встроенного способа в The Dude: пройтись по всем индексам, сравнить их значения, и просуммировать hrSWRunPerfMem. Такую логику — цикл, фильтрацию и агрегацию — The Dude не поддерживает в Functions. ... 💡 Альтернатива "на грани": Можно создать несколько функций в The Dude: findindex("hrSWRunName", "chrome.exe") → 1234 findnextindex("hrSWRunName", "chrome.exe", 1234) → 1256 И так далее — вручную. А затем создать: (oid("...2.1234") + oid("...2.1256")) / 1024 Но это хрупко и не масштабируется, потому что PID меняются при перезапуске. 35 minutes ago, Iskatel_S said: Делать виртуализацию на виртуализации? арендовать вторую виртуалку нельзя? Edited April 29, 2025 by naves Вставить ник Quote
jffulcrum Posted April 29, 2025 Posted April 29, 2025 1 час назад, Ivan_83 сказал: Как то немножко странно бэкапы иметь там же. Лучше, чем никаких не иметь. 1 час назад, Iskatel_S сказал: Абонентсткая плата в Selectel у нас 24 тыщи, а колокейшен стоит 8, за год сервер окупится, а мне это позволит заработать денег Советую проверить личный кабинет в Селектел, ценник уже 14К, + сетевой порт + вторая розетка + доп.IP Скрытый текст Ну и "узнаю брата Колю", потом экономный админ уходит, а контора остается с древней железякой, у которой как раз подошла к концу жизнь чего-нибудь важного. Ценник облаков включает ведь и другие вещи. 1 час назад, Iskatel_S сказал: Последняя версия "Стахановца" не работает в облаке Selectel, потому что в нём нет корректной поддержки инструкций CPU AVX-2 С этим могут быть проблемы, включение AVX внутри виртуалок часто требует танцев с бубном на гипервизоре, и скорость работы нередко оставляет желать лучшего, я сам обнаруживал, что видео в виртуалке быстрее было без AVX кодировать, правда, с тех пор технологии могли улучшиться. Вставить ник Quote
Iskatel_S Posted April 29, 2025 Author Posted April 29, 2025 (edited) Цитата Спросил, у chat gpt Если бы я знал, что спрашивать, то тоже бы спросил, а когда сам не уверен в правильности формулировки своего вопроса, то лучше разговаривать с живыми людями. Хмм... сразу вопрос как был вычислен OID 1.3.6.1.2.1.25.5.1.1.2, если через snmp можно запрашивать данные процессов по name, а не по PID, то это упрощает задачу. Цитата Советую проверить личный кабинет в Селектел, ценник уже 14К Зачем Селектель, есть замечатальная контора Datahouse, я там работал и рекомендую. Там ещё доступ к IP-KVM дают по заявке в течение 5 минут круглосуточно. Цитата С этим могут быть проблемы, включение AVX внутри виртуалок часто требует танцев с бубном на гипервизоре Вот. Идея загнать в виртуалку только сервер терминалов, а всё остальное оставить на хосте уже не кажется глупой? Цитата Кстати, если в качестве гипервизора использовать proxmox proxmox - это не гипервизор же, гипервизор там qemu-kvm. А почему бы тогда не использовать чистый qemu-kvm, а в качестве удобного интерфейса к нему не использовать libvirt? И да, гипервизоры же используют технологию паравиртуализации, то есть взаимодействуют с драйверами гостевой системы для более эффективного масштабирования ресурсов машины, стало быть гостевые машины с линуксом будут лучше работать на qemu-kvm, а с виндой - на Hyper-V. Или я тут не прав? Edited April 29, 2025 by Iskatel_S Вставить ник Quote
Saab95 Posted April 29, 2025 Posted April 29, 2025 10 часов назад, Iskatel_S сказал: Ну и вопрос выбора марки, слышал мнение, что б/у-сервера можно брать только 2-х марок: HP и Supermicro. А что на счёт Huawei и H3C? б/у сервера вообще лучше не брать - устаревшее уже железо, высокое потребление электричества, дорогие комплектующие. Сейчас любое бытовое компьютерное оборудование работает стабильно, нет разграничения по качеству серверное / десктопное. Вставить ник Quote
jffulcrum Posted April 30, 2025 Posted April 30, 2025 13 часов назад, Iskatel_S сказал: И да, гипервизоры же используют технологию паравиртуализации, то есть взаимодействуют с драйверами гостевой системы для более эффективного масштабирования ресурсов машины, стало быть гостевые машины с линуксом будут лучше работать на qemu-kvm, а с виндой - на Hyper-V. Или я тут не прав? Уже давно MS в ядро Linux закинула поддержку Hyper-V, а разработчики Linux написали драйверы для Windows. Как всегда, есть нюансы, но в целом работает: Best Practices for running Linux on Hyper-V | Microsoft Learn Search results for "Windows guest best practices" - Proxmox VE 13 часов назад, Iskatel_S сказал: Вот. Идея загнать в виртуалку только сервер терминалов, а всё остальное оставить на хосте уже не кажется глупой? Все еще кажется. Это искусственная проблема разработчиков говнософта и их клиентов поневоле. Если дело только в наличии волшебного флажка AVX - решаемо редактированием файла ВМ. Или даже эмулятором от Intel внутри машины, был и такой - просто запуск через батник с предварительной загрузкой Вставить ник Quote
Ivan_83 Posted April 30, 2025 Posted April 30, 2025 6 hours ago, jffulcrum said: Уже давно MS в ядро Linux закинула поддержку Hyper-V И в FreeBSD тоже, помнится даже в 2010 фря прекрасно жила в hyper-v. Вставить ник Quote
naves Posted April 30, 2025 Posted April 30, 2025 (edited) 19 hours ago, Iskatel_S said: а всё остальное оставить на хосте уже не кажется глупой? Тут риторический вопрос, если контора и дальше останется на уровне шавермочной с 20 компами и пользователями, то сервер терминалов можете хоть на virtualbox поднимать. 19 hours ago, Iskatel_S said: а в качестве удобного интерфейса к нему не использовать libvirt? если вы libvirt считаете более удобным чем proxmox, то ради бога. заодно привяжете контору только к самому себе, чтобы потом никакой новый более дешевый специалист не смог разобраться в том, что вы там понаделали. On 4/29/2025 at 5:24 PM, Iskatel_S said: Последняя версия "Стахановца" не работает в облаке Selectel, потому что в нём нет корректной поддержки инструкций CPU AVX-2 Напишите им в техподдержку, может вашу виртуалку просто донастроить надо или мигрировать куда. AVX давно поддерживает гипервизор KVM в линуксе Edited April 30, 2025 by naves Вставить ник Quote
Iskatel_S Posted May 5, 2025 Author Posted May 5, 2025 Спасибо за советы. Выше я кстати спрашивал как был вычислен OID 1.3.6.1.2.1.25.5.1.1.2, походу я не всё знаю о snmp, как вычислять OIDы, с которыми умеет работать тот или иной агент без нейросетей. Я беру любой свободный snmp-менеджер, например iReasoning MIB browser, делаю в нём snmpwalk всего дерева, получаю простыню, как в ней находить закономерности? Вставить ник Quote
naves Posted May 5, 2025 Posted May 5, 2025 2 hours ago, Iskatel_S said: Выше я кстати спрашивал как был вычислен OID 1.3.6.1.2.1.25.5.1.1.2 конкретно это число написала нейросеть, я его не проверял по запросу в гугле https://www.google.com/search?q=get+process+memory+windows+with+snmp это число упоминается в первом же ответе если еще немного покопаться в том же гугле, то находится и некий документ https://oidref.com/1.3.6.1.2.1.25.5.1.1 Вставить ник Quote
tcup Posted May 6, 2025 Posted May 6, 2025 15 hours ago, Iskatel_S said: Спасибо за советы. Выше я кстати спрашивал как был вычислен OID 1.3.6.1.2.1.25.5.1.1.2, походу я не всё знаю о snmp, как вычислять OIDы, с которыми умеет работать тот или иной агент без нейросетей. Я беру любой свободный snmp-менеджер, например iReasoning MIB browser, делаю в нём snmpwalk всего дерева, получаю простыню, как в ней находить закономерности? mib-файлы к оборудованию бывают, их в mib-browser подгружать можно, там и описание параметров бывает. Также документация может быть с описанием параметров Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.