Главная System Center, Без рубрики, Новое Software Metering ConfigMgr 2007
  • Software Metering ConfigMgr 2007

    license_patrol Сколько копий программ установлено в компании? Нужно ли докупать лицензии на ПО? В какое время суток пользователи чаще используют программы? Какие пользователи пользуются определённым приложением? Сколько времени пользователи работают в приложениях? Какие приложения самые популярные в вашей компании? На эти и многие другие вопросы вы сможете ответить, настроив в System Center Configuration Manager 2007 контроль использования приложений.

    Software Metering берёт своё начало ещё из MS SMS версии 2.0, постепенно развиваясь и совершенствуясь. С помощью Software Metering вы можете узнать, какое программное обеспечение наиболее часто используется в компании и кем. Configuration Manager использует Windows Management Instrumentation при сохранении правил и сбора данных о частоте использования ПО.

    Software Metering собирает информацию о компании-производителе (имя, версия и язык продукта), файле (имя, размер и прочее) и об использовании файла (время запуска, количество запусков, имя запустившего программу пользователя, продолжительность работы с программой и т.д.). На основании полученных от клиентов данных можно строить отчёты, запросы и коллекции.

    «Состоит» Software Metering из двух «частей»: правил, в соответствии с которым идёт сбор данных, и агента, который наблюдает за использованием программ.

    Правила определяют, об использовании каких программ нужно собирать данные (возможно «конкретизировать», явно указав язык ПО или версию). Агент Software Metering получает набор правил с сервера и начинает собирать информацию, регулярно отсылая её на сайт. Информация собирается даже в случае потери сетевого соединения: после восстановления связи клиент отправит все собранные данные.

    Правила хранятся в базе SCCM и копируются на точки управления. Правила создаются на родительском сайте и наследуются нижестоящими. Обратное наследование «вверх» невозможно. Чтобы быть уверенным, что ваши правила применяются на всех сайтах, создавайте правила на самом вышестоящем сайте в вашей иерархии.

    Данные от клиентов поступают на дочерний сайт, суммируются по расписанию и отправляются выше на родительский сайт. Родительские сайты суммируют информацию со всех дочерних сайтов и отправляют её на центральный сайт.

    Практика

    Установка System Center Configuration Manager 2007 и распространение клиента в данной статье не рассматривается.

    Наблюдение за использованием программного обеспечения конфигурируется в двух областях: клиенте и правилах. Клиент Configuration Manager собирает данные на компьютере в соответствии с политиками, которые регулярно обновляются с сервера, и отправляет их в базу данных. Правила описывают, каким образом и за какими приложениями нужно вести наблюдение.

    По умолчанию все агенты установлены на клиенте, но не включены. Настройка Software Metering начинается с включения соответствующего агента. Для этого в консоли SCCM 2007 открываем Site Database – Site Management – ваш сайт – Site Settings – Client Agents

    и устанавливаем чекбокс.

    При следующем обновлении политик клиент включит агента и начнёт собирать данные.

    На вкладке Schedule нажимаем кнопку Schedule… и определяем, как часто собранные на клиенте данные будут отправляться на сайт. По умолчанию – период 7 дней.

    Правила можно создавать вручную или автоматически.

    Добавление нового правила контроля ПО:

    1. В консоли открываем Site Database – Computer Management – Software Metering – правый клик – New – Software Metering Rule

    2. В появившемся Мастере заполняем поля:

    Name – имя правила, должно быть уникальным и понятным вам.

    File name – имя исполняемого файла. Рекомендуется выбирать исполняемый файл с помощью кнопки Browse…. Если по каким-то причинам Вы не можете или не хотите воспользоваться кнопкой, можно вписать имя файла. Будьте внимательны, потому что в данном случае существование файла не проверяется. Подстановочные знаки использовать запрещено.

    Если вы воспользуетесь кнопкой Browse…, остальные поля заполнятся автоматически.

    Original file name – исходное имя файла. В большинстве случаев совпадает с File name. Вычитывается из заголовка файла (некоторые приложения не записывают имя исполняемого файла в заголовок). Если исходное имя файла указано, то наблюдение за программой будет продолжаться даже в том случае, когда исполняемый файл будет переименован пользователем. Данная графа не является обязательной к заполнению. Подстановочные знаки не используются.

    Version – версия файла. Можно использовать подстановочные знаки. Например, 9.0.0.? или 9.*. Вы можете создавать правила для каждой версии файла:

    Если версия используемой программы не принципиальна, то можно создать одно правило сбора статистики по всем версиям программы, в поле Version поставив звёздочку (*).

    Language – язык программы, выбирается из выпадающего списка. По умолчанию Мастер выбирает язык English. Если язык используемого ПО не важен, то для всех языков выбирайте –Any– в самом верху списка.

    Comment – ваши комментарии к правилу.

    Site code – код сайта, для которого применяется правило контроля использования ПО. Если у вас один сайт или он самый нижестоящий, то поле для выбора кода будет неактивным. Чекбокс под графой применяет правило ко всем дочерним сайтам.

    Нажмите Next, на странице безопасности выберите соответствующие разрешения для учётных записей и нажмите Finish для сохранения правила.

    В System Center Configuration Manager 2007 появилась новая возможность – автоматическое создание правил наблюдения за использованием ПО. Вы можете назначить автоматическое создание правил для тех программ, которые используются на определённом количестве компьютеров.

    Чтобы настроить данную функцию, откройте в консоли Site Database – Computer Management – Software Metering – правый клик – Properties:

    Data Retention – срок хранения данных в базе сайта, которые были получены от Software Metering. Срок по умолчанию 90 дней.

    Чекбокс включает автоматическое создание правил. После активации доступно изменение двух параметров:

    – создание правила для исполняемого файла, который использует определённое количество компьютеров в процентах. По умолчанию – 10% компьютеров.

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

    На вкладке Security вы можете тонко настроить права для учётных записей.

    Нажмите OK для сохранения настроек.

    Автоматически создаваемые правила по умолчанию выключены. Вы по собственному усмотрению должны включить нужные вам правила (об этом немного ниже).

    Создавать правила контроля программ автоматически или вручную?

    Ответить на этот вопрос вы сможете после определения своих потребностей. Если нужно знать, как пользователи работают с каким-то определённым ПО, то лучше вручную создать десять-двадцать правил. Если же вам нужно понимать, с чем в целом и как работают ваши пользователи, то ваш выбор – автоматическая генерация правил. Но будьте внимательны, потому что в данном случае следить за определёнными программами будет сложнее, выбирая и включая правила из сотен сгенерированных правил для системных процессов и программ, включая ping.exe, wuauclt.exe и прочих:

    Кликнув правой кнопкой на правиле, вы можете его удалить, нажав Delete и OK, если больше не хотите наблюдать за использованием программы. Удаление актуально при ручном создании правил. Если же правила создаются автоматически и вы удалили правило, то при следующей пересылке данных клиентом правило опять автоматически сгенерируется в соответствии с настройками Software Metering.

    Если вы хотите приостановить слежение за использованием какого-то исполняемого файла или посмотреть уже собранные данные, не получая новые, заблокируйте правило: кликните правой кнопкой мыши на правиле и выберите Disable. После включения правила (Enable) агент получит новые политики и начнёт собирать статистику по указанному ПО.

    Отчёты

    В SCCM 2007 есть 13 готовых отчётов по контролю программного обеспечения:

    • Все правила контроля использования программных продуктов на данном сайте
    • Компьютеры, на которых установлена контролируемая программа, но эта программа не запускалась с заданной даты
    • Компьютеры, на которых запускалась конкретная контролируемая программа
    • Одновременное использование всех контролируемых программ
    • Анализ тенденции одновременного использования конкретной контролируемой программы
    • Установочная база для всех контролируемых программ
    • Ход обобщения данных контроля использования программных продуктов
    • Сводка использования конкретной контролируемой программы по времени суток
    • Общее использование всех контролируемых программ
    • Общее использование всех контролируемых программ на серверах терминалов Windows
    • Анализ тенденции общего использования для конкретной контролируемой программы
    • Анализ тенденции общего использования для конкретной контролируемой программы на серверах терминалов Windows
    • Пользователи, запускавшие конкретную контролируемую программу

    Посмотреть их можно, открыв Site Database – Computer Management – Reporting – Reports и объединив по категории Software Metering:

    Количество терминальных пользователей, запускавших определённое ПО в сентябре 2009 года на примере отчёта Total usage for all metered software programs on Windows Terminal Servers:

    Пользователи, запускавшие ICQ 6.5 в октябре 2009 года на примере отчёта Users that have run a specific metered software program:

    Увы, отсутствует, пожалуй, самый нужный отчёт, показывающий список программ, которые запускал пользователь. Но его несложно сделать самому.

    За основу нашего отчёта возьмём Users that have run a specific metered software program. Для начала клонируем отчёт (правый клик на отчёте – Clone, вписываем имя нового отчёта). Двойным кликом открываем новый отчёт – Edit SQL Statement… – Prompts… – двойной клик на Rule name – Edit SQL Statement… и заменяем

    begin

    if (@__filterwildcard = ”)

    select distinct ProductName as C018 from v_MeteredProductRule order by ProductName

    else

    select distinct ProductName as C018 from v_MeteredProductRule

    WHERE ProductName like @__filterwildcard

    order by ProductName

    end

    на

    begin

    if (@__filterwildcard = ”)

    select distinct FullName as C018 from v_MeteredUser order by FullName

    else

    select distinct FullName as C018 from v_MeteredUser

    WHERE FullName like @__filterwildcard

    order by FullName

    end

    Нажимаем три раза OK и Yes. Далее запрос

    declare @TimeKey int

    declare @days float

    set @TimeKey=100*@Year+@Month

    select @days=DATEDIFF(day,IntervalStart,DATEADD(month,1,IntervalStart))

    from v_SummarizationInterval where TimeKey=@TimeKey

    if IsNull(@days,0) > 0

    select mu.FullName,

    DATEADD(ss,@__timezoneoffset,MAX(mus.LastUsage)) as LastUsage,

    SUM(UsageCount) + SUM(TSUsageCount) as C021,

    ROUND((SUM(UsageCount) + SUM(TSUsageCount))/@days,2) as C022,

    ROUND(SUM(UsageTime)/60.0,2) as C023,

    ROUND(SUM(UsageTime)/60.0/(SUM(UsageCount) + SUM(TSUsageCount)),2) as C024,

    ROUND(SUM(UsageTime)/60.0/@days,2) as C025

    from v_MeteredUser mu

    join v_MonthlyUsageSummary mus on mu.MeteredUserID=mus.MeteredUserID

    join v_MeteredFiles mf on mus.FileID=mf.MeteredFileID

    where mf.ProductName = @RuleName

    and mus.TimeKey = @TimeKey

    group by mu.FullName

    having SUM(UsageCount) + SUM(TSUsageCount) > 0

    order by mu.FullName

    меняем на

    declare @TimeKey int

    declare @days float

    set @TimeKey=100*@Year+@Month

    select @days=DATEDIFF(day,IntervalStart,DATEADD(month,1,IntervalStart))

    from v_SummarizationInterval where TimeKey=@TimeKey

    if IsNull(@days,0) > 0

    select mf.ProductName,

    DATEADD(ss,@__timezoneoffset,MAX(mus.LastUsage)) as LastUsage,

    SUM(UsageCount) + SUM(TSUsageCount) as C021,

    ROUND((SUM(UsageCount) + SUM(TSUsageCount))/@days,2) as C022,

    ROUND(SUM(UsageTime)/60.0,2) as C023,

    ROUND(SUM(UsageTime)/60.0/(SUM(UsageCount) + SUM(TSUsageCount)),2) as C024,

    ROUND(SUM(UsageTime)/60.0/@days,2) as C025

    from v_MeteredUser mu

    join v_MonthlyUsageSummary mus on mu.MeteredUserID=mus.MeteredUserID

    join v_MeteredFiles mf on mus.FileID=mf.MeteredFileID

    where mu.FullName = @RuleName

    and mus.TimeKey = @TimeKey

    group by mf.ProductName

    having SUM(UsageCount) + SUM(TSUsageCount) > 0

    order by mf.ProductName

    и сохраняем, нажав OK.

    После запуска отчёта (правый клик на нашем новом отчёте, в появившемся меню выбираем Run) получаем список программ, которые запускал пользователь:

    Задачи

    У Configuration Manager 2007 есть четыре задачи, включённые по умолчанию, обслуживающие данные от Software Metering. Суммирование (сводка) и удаление данных необходимы для уменьшения размера базы SCCM 2007.

    Данные, с которыми работают задачи сводки, должны быть старше 12-ти часов. Для включения-отключения задач и изменения настроек по умолчанию откройте в консоли SCCM Site Database – Site Management – ваш сайт – Site Settings – Site Maintenance – Tasks. Двойным кликом откройте нужную вам задачу и измените настройки.

    Summarize Software Metering File Usage Data сжимает разрозненные записи в одну. Эта запись содержит информацию об имени программы, версии, языке и количестве отдельных пользователей в интервале времени от 15-ти минут до одного часа. Каждые пятнадцать минут в течение часа задача вычисляет общее количество пользователей и компьютеров, которые работают с определённым ПО.

    Summarize Software Metering Monthly Usage Data собирает детальные данные по контролю ПО за месяц в одну запись. Эта запись содержит информацию об имени, языке и версии программы, времени запуска и остановки, количестве запусков, дате последнего запуска, именах пользователей и компьютеров.

    Delete Aged Software Metering Data удаляет данные об использовании ПО, которые старше указанного количества дней.

    Delete Aged Software Metering Summary Data удаляет из базы сводки данных, возраст которых больше указанного количества дней.

    Принцип сбора данных

    Если три пользователя зашли на терминальный сервер и запустили одну и ту же программу, это считается тремя использованиями.

    Когда пользователь работает с программой с трёх компьютеров, это считается тремя использованиями.

    Наблюдение за активным окном не ведётся. Контролируются все процессы, запущенные в системе, т.е. вы не будете знать, в какой на самом деле программе из десятка запущенных работал пользователь.

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

    Время по одинаковым запущенным процессам (например, две копии MS Word) суммируется, поэтому часто вы будете видеть странные на первый взгляд данные в суточных отчётах, когда использование какого-то приложения составляет 25-30 часов в день.

    Устранение неполадок

    При работе с Software Metering могут возникнуть две основные проблемы: данных нет или они предоставлены не полностью.

    Перечислим часто встречающиеся причины:

    – не включён Software Metering Client Agent;

    – данных нет, посколько клиент ещё не переслал их на сервер. Подождите или уменьшите интервал в расписании;

    – при создании правила вы ошиблись с выбором языка или версии. Проверьте настройки правила. Возможно, данная версия ПО не используется в вашей компании. Попробуйте выбрать –Any– для языка и * для версии программы.

    – автоматически созданное правило не работает, поскольку отключено. Переведите его в состояние Enabled.

    Также выявить ошибки помогают файлы журналов. Логи клиента находятся в %windir%\system32\CCM\Logs. Mtrmgr.log содержит данные о программах, которые контролирует агент. SWMTRReportGen.log хранит информацию о формировании отчётов на основании собранных данных. Лог Swmproc.log на сервере SCCM 2007 (путь %SCCM directory%\Logs) содержит записи об обработке файлов контроля ПО.

    Используемая литература

    Microsoft System Center Configuration Manager 2007 Administrator’s Companion by Steven D. Kaczmarek

    Mastering System Center Configuration Manager 2007 R2 by Chris Mosby

    Официальная документация (http://technet.microsoft.com/en-us/library/bb694169.aspx)

    Sofwtare Metering Views (http://technet.microsoft.com/en-us/library/dd334612.aspx?ppud=4)

    Ляшов Евгений
    MCP, MCTS, MCSA 2003
    http://ccmexec.blogspot.com/

Комментарии

  1. Спасибо за ликбез, как раз буду вскоре использовать.

  2. Большое спасибо за статью.
    Написано грамотно и понятно.
    Приятно читать!

  3. Вот подфартило! Как раз отчет начальству надо сдавать, я в панике метаюсь по паутине – и тут на тебе! И просто и понятно! Огромное спасибо!

  4. Пожалуйста.