Здравствуйте, fryme, Вы писали:
F>Если сформулировать вкратце, то задача звучит просто: требуется написать ПО, которое будет собирать данные о железе из ОС под управлением *nix и представляло их в некотором обобщённом виде. F>А теперь хотелось бы подробнее рассмотреть каждое понятие в этой задаче. F>Итак, под данными о железе я подразумеваю следующие составляющие: информация о материнской плате, жестком диске, ОЗУ и так далее по полному списку всей начинки опрашиваемого компьютера.
[...]
F>Что вкладывается в понятие ОС под управлением *nix. Здесь выбор настолько же широк, как и в вопросах железа: семейства Linux, BSD, HP-UX, Solaris и так далее.
Эта... а ничего, что при таком выборе вообще непонятно, что именно собирать? Упоминая HP-UX Вы уже ввели разнообразие не просто аппаратных платформ, а их "классов" со спецификой каждого, и идентично названные понятия в них могут означать совершенно разные вещи.
F>Что получаем в сухом итоге. Некоторая утилита у которой на входе запрос, например, вида: “Select ProcessorFrequency From wmi/processor” (очень грубо) и мы должны будем вернуть информацию о частоте процессора, которая находится в “дереве классов” (опять же грубо) в wmi/processor. F>Я конечно не говорю, что это всё просто и одного месяца дело. Сама задача стоит уже много лет и я чувствую, что ответ витает где то рядом. Мы уже перепробовали множество разных способов с разными успехами, но чтобы не сбивать читающего со свежих мыслей не буду их сюда приводить. F>Может быть кто то сталкивался с подобным? Какой лучше всего выбрать язык\технологии\библиотеки для реализации поставленной задачи? F>Я думаю это интересно.
Я думаю, не очень.:) 99% займёт необходимая, но громоздкая и ручная работа по шлифовке принципов извлечения и представления, где исключений будет в разы больше, чем правил. И только после этого вы сможете сверху навесить какую-то схему доступа. А вообще какая общая задача? Если материальный учёт и контроль, то почему не взято что-то вроде IBM Tivoli?
Здравствуйте!
Я достаточно долгое время размышляю над одной проблемой. И чем дальше заходят мои размышления над ней, тем больше мне кажется, что реализовать это невозможно. Но я не теряю надежды.
Если сформулировать вкратце, то задача звучит просто: требуется написать ПО, которое будет собирать данные о железе из ОС под управлением *nix и представляло их в некотором обобщённом виде.
А теперь хотелось бы подробнее рассмотреть каждое понятие в этой задаче.
Итак, под данными о железе я подразумеваю следующие составляющие: информация о материнской плате, жестком диске, ОЗУ и так далее по полному списку всей начинки опрашиваемого компьютера. Причём стоит отдельно отметить, что гамма представленного на рынке железа огромна. Здесь у меня есть мысли использовать что то вроде утилиты lshw (но она даёт далеко не полный перечень возможного оборудования), ipmi otput для платформ, которые его поддерживают и видимо модули ядра самой ОС, отвечающие за это(?).
Так же сюда следует добавить данные о самой операционной системе (что то вроде расширенного uname).
Что вкладывается в понятие ОС под управлением *nix. Здесь выбор настолько же широк, как и в вопросах железа: семейства Linux, BSD, HP-UX, Solaris и так далее.
Ещё есть тонкий момент, что обращаться к этой "утилите" будет другая программа по протоколу WMI. Т.е. там есть понятие встроенных подробно описанных wmi классов, свой язык запросов (wql) и так далее. Всё это необходимо парсить и ответ заполнять в таком же виде. Т.е в конечном счёте это тот же WMI, но только под разный *nix.
Что получаем в сухом итоге. Некоторая утилита у которой на входе запрос, например, вида: “Select ProcessorFrequency From wmi/processor” (очень грубо) и мы должны будем вернуть информацию о частоте процессора, которая находится в “дереве классов” (опять же грубо) в wmi/processor.
Я конечно не говорю, что это всё просто и одного месяца дело. Сама задача стоит уже много лет и я чувствую, что ответ витает где то рядом. Мы уже перепробовали множество разных способов с разными успехами, но чтобы не сбивать читающего со свежих мыслей не буду их сюда приводить.
Может быть кто то сталкивался с подобным? Какой лучше всего выбрать язык\технологии\библиотеки для реализации поставленной задачи?
Я думаю это интересно.
Здравствуйте, netch80, Вы писали:
N>Здравствуйте, fryme, Вы писали:
F>>Если сформулировать вкратце, то задача звучит просто: требуется написать ПО, которое будет собирать данные о железе из ОС под управлением *nix и представляло их в некотором обобщённом виде. F>>А теперь хотелось бы подробнее рассмотреть каждое понятие в этой задаче. F>>Итак, под данными о железе я подразумеваю следующие составляющие: информация о материнской плате, жестком диске, ОЗУ и так далее по полному списку всей начинки опрашиваемого компьютера. N>[...]
F>>Что вкладывается в понятие ОС под управлением *nix. Здесь выбор настолько же широк, как и в вопросах железа: семейства Linux, BSD, HP-UX, Solaris и так далее.
N>Эта... а ничего, что при таком выборе вообще непонятно, что именно собирать? Упоминая HP-UX Вы уже ввели разнообразие не просто аппаратных платформ, а их "классов" со спецификой каждого, и идентично названные понятия в них могут означать совершенно разные вещи.
F>>Что получаем в сухом итоге. Некоторая утилита у которой на входе запрос, например, вида: “Select ProcessorFrequency From wmi/processor” (очень грубо) и мы должны будем вернуть информацию о частоте процессора, которая находится в “дереве классов” (опять же грубо) в wmi/processor. F>>Я конечно не говорю, что это всё просто и одного месяца дело. Сама задача стоит уже много лет и я чувствую, что ответ витает где то рядом. Мы уже перепробовали множество разных способов с разными успехами, но чтобы не сбивать читающего со свежих мыслей не буду их сюда приводить. F>>Может быть кто то сталкивался с подобным? Какой лучше всего выбрать язык\технологии\библиотеки для реализации поставленной задачи? F>>Я думаю это интересно.
N>Я думаю, не очень.:) 99% займёт необходимая, но громоздкая и ручная работа по шлифовке принципов извлечения и представления, где исключений будет в разы больше, чем правил. И только после этого вы сможете сверху навесить какую-то схему доступа. А вообще какая общая задача? Если материальный учёт и контроль, то почему не взято что-то вроде IBM Tivoli?
Задача стоит в полном мониторинге компьютерного железа (видео, мать, сеть и т.п.) + процессов + данных о самой ОС на выбранной машине. Да ещё и с возможностью удалённого управления через ipmi там где это возможно.
По поводу громоздкости — да, есть такое дело. Но может быть кто то сталкивался с какими то библиотеками в этом направлении, которые уже имеют некоторый начальный объём. Или может быть есть какие то технологии, вроде виндового wmi в *nix.
Я честно говоря не знаком с IBM Tivoli. Только что почитал про неё, но как мне показалось она немного не то что нужно. Нужен какой то сервис\демон, устанавливаемый на отдельную машину, который будет собирать инфу, хранить и отдавать по запросу в определённом виде. А tivoli предлагает свою огромную универсальную систему учёта.
Просто у нас уже есть такая система, которая работает под виндой. Осталось только сделать так, чтобы ей отвечали не только виндовые компы, а ещё и *nix. Тут мне кажется нет полностью готово решения и требуется разработка своего. Но при этом хочется за основу что то взять.