Jump to content

Recommended Posts

Posted (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 by Iskatel_S
Posted
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 и собираете любые метрики.

Posted

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

 

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.

Posted
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 агента 🙂

Posted (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 by naves
Posted
Цитата

Размещение сейчас практически во всех ЦОД выросло по цене в несколько раз. Возможно, выгоднее арендовать VDS.

Делать виртуализацию на виртуализации? Вроде так можно, но с ограничениями.

Есть 3 причины миграции из облака:

1. Виртуальную машину нормально из облака не запустить

2. Последняя версия "Стахановца" не работает в облаке Selectel, потому что в нём нет корректной поддержки инструкций CPU AVX-2

3. Абонентсткая плата в Selectel у нас 24 тыщи, а колокейшен стоит 8, за год сервер окупится, а мне это позволит заработать денег

 

Ну да, 24 - это с бэкапами, с железным сервером бэкапы придётся организовывать самостоятельно, думаю делать бэкапы на отдельный hdd, а оттуда сбрасывть их по openvpn на Synology.

 

 

Posted (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 by naves
Posted
1 час назад, Ivan_83 сказал:

Как то немножко странно бэкапы иметь там же.

Лучше, чем никаких не иметь.

 

 

1 час назад, Iskatel_S сказал:

Абонентсткая плата в Selectel у нас 24 тыщи, а колокейшен стоит 8, за год сервер окупится, а мне это позволит заработать денег

Советую проверить личный кабинет в Селектел, ценник уже 14К, + сетевой порт + вторая розетка + доп.IP

 

Скрытый текст

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

 

1 час назад, Iskatel_S сказал:

Последняя версия "Стахановца" не работает в облаке Selectel, потому что в нём нет корректной поддержки инструкций CPU AVX-2

 

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

 

 

 

Posted (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 by Iskatel_S
Posted
10 часов назад, Iskatel_S сказал:

Ну и вопрос выбора марки, слышал мнение, что б/у-сервера можно брать только 2-х марок: HP и Supermicro. А что на счёт Huawei и H3C?

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

 

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

Posted
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 внутри машины, был и такой - просто запуск через батник с предварительной загрузкой

Posted (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 by naves
Posted

Спасибо за советы.

 

Выше я кстати спрашивал как был вычислен OID 1.3.6.1.2.1.25.5.1.1.2, походу я не всё знаю о snmp, как вычислять OIDы, с которыми умеет работать тот или иной агент без нейросетей. Я беру любой свободный snmp-менеджер, например iReasoning MIB browser, делаю в нём snmpwalk всего дерева, получаю простыню, как в ней находить закономерности?

Posted
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

Posted
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 подгружать можно, там и описание параметров бывает. Также документация может быть с описанием параметров

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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