Главная System Center, Без рубрики reports, SCCM, System Center
  • SCCM Reports что остается за кадром…

    Отчеты SCCM, что остается «за кадром»…

    В   данной статье  речь пойдет о системе WEB-отчетности System Center Configuration Manager. Мы рассмотрим общие принципы работы, а также некоторые технические трудности, с которыми можно столкнуться при эксплуатации SCCM.

    Система отчетности System Center Configuration Manager 2007.

    Система отчетности SCCM 2007 основана на WEB-приложении Reporting Point. Работа данного приложения основано на комплексе IIS (Internet Information Services) и для работы необходима версия IIS не ниже 6.0. Роль Reporting Point может быть развернута на виртуальном или физическом хосте, под управлением ОС не ниже Windows Server 2003. Возможна работа под управлением как 32-х разрядных, так и 64-х разрядных систем[1]. Минимальные требования для работы Reporting Point приведены в таблице 1

    Таблица 1

    Аппаратные ресурсы

    Требования

    Процессор Не менее Pentium III 733 МГц (рекомендуется 2,0 ГГц или более быстрый)
    ОЗУ Не менее 256 МБ (рекомендуется 1024 МБ или больше)
    Свободное пространство Не менее 5 ГБ (рекомендуется 15 ГБ или больше при использовании развертывания операционной системы)
    Сетевой адаптер Компьютеры систем сайта должны иметь сетевое подключение к другим системам сайта Configuration Manager 2007; они также должны иметь клиентов для управления.

    Доступ к системе отчетности для пользователя с соответствующими правами возможен с любой рабочей станции, имеющей доступ к серверу с установленной ролью Reporting Point через веб-браузер. Поддерживаются все основные браузеры, однако наиболее полная поддержка обеспечивается Internet Explorer (версии не ниже 6.0). Для доступа к отчетам не обходимо ввести в строке браузера http://<ServerName>/SMSReporting_<SiteCode>, где <ServerName> – имя сервера с установленной ролью Reporting Point, а <SiteCode> – код сайта SCCM.

    pic1
    рисунок 1. (веб-доступ к системе отчетности SCCM)

    Права доступа назначаются стандартным для Configuration Manager образом – на класс и отдельный элемент. Кроме того, необходимо добавить пользователя (или группу активного каталога, в которую он входит) в локальную группу SMS Reporting Users, расположенную на сервере SCCM.

    Возникающие при эксплуатации SCCM Reporting Point ситуации.

    Отчет отображает не более 10000 строк

    При использовании системы отчетности и обработке таблиц с большим количеством данных может возникнуть ситуация, когда количество выводимых строк в таблице превышает 10000. Установленное по умолчанию значение в Configuration Manager позволяет отображать не более указанного лимита[4].

    Для исправления данной ошибки необходимо откорректировать значение в системном реестре. Для этого, в кусте системного реестра KEY_LOCAL_MACHINE\Software\Microsoft\SMS \Reporting, необходимо создать ключ  Rowcount типа DWORD . Значение ключа необходимо установить в FFFFFFFF.  

     pic2

    Рисунок 2 (созданный в реестре параметр отключающий ограничение в 10000 строк)

    Необходимо отметить, что указанное изменение будет действовать только на том сервере с установленной ролью Reporting Point, где правился системный реестр. На прочих серверах, отчеты будут по прежнему выводится с ограничением в 10000 строк, до момента внесения на них правок в реестр.

    Для возвращения значений по умолчанию, необходимо либо удалить указанный ключ реестра, либо изменить его значение на «0» или отрицательно число. В этом случае Configuration Manager считает введенное значение неверным и применяет установленные по умолчанию параметры[5].

    Отчет не работает, генерируется сообщение Timeout Error.

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

    В зависимости от того, какая ошибка отображается при выполнении скрипта, определяется, какой интервал необходимо увеличивать. В случае возникновения ошибки TimeOut expired (код ошибки -2147217871) – рисунок 3, необходимо увеличивать тайм-аут ожидания ответа сервера в IIS. Для этого, в свойствах IIS на сервере с установленной ролью Reporting Point, необходимо вызвать свойства для Default Web Site, и в поле Connection TimeOut  ввести новое значение (рисунок 4)

    pic3

    рисунок 3 (сообщение об ошибке превышения времени ожидания данных от сервера)

    pic4

    рисунок 4 (поле увеличения тайм-аута времени ожидания данных от сервера)

    В случае возникновения ошибки Active Server Pages error  (ASP 0113) – рисунок 5, для устранения ошибки, необходимо увеличить время тайм-аута для скриптов ASP, для этого в свойствах «Default Web Site» переходим на вкладку «Home Directory», вызвать параметры конфигурации нажатием кнопки “Configuration…”. В открывшемся окне перейти на вкладку «Options», и в поле ASP Script timeout ввести новое значение (рисунок 6).

    pic5

    рисунок 5 (ошибка превышения тайм-аута для скриптов asp)

    pic6

    рисунок 6 (окно настроек default web site, вкладка home directory)

    pic7

    рисунок 7 (поле увеличения тайм-аута для скриптов asp).

    Построение отчета с разбивкой выводимой информации

    В случае, если мы используем сводные отчеты, содержащие разнородную информацию (например, сводный отчет о параметрах рабочей станции для сотрудника службы поддержки) вывод массива данных сильно усложняет работу. Тогда, для повышения визуального восприятия, существует возможность использовать отчеты с разбивкой на категории или разделы. В рамках одной категории может выводиться логически связанная информация (например в список установленного ПО, либо технические параметры рабочей станции).

    Для создания информационных категорий используются дополнительные SQL-запросы выключенные в тело одного отчета.

    При этом результаты выполнения каждого SQL-запроса выводятся отдельной таблицей (рисунок 8).

     warning

    Использование категорий отображения информации приводит к росту размера кода отчета и увеличению времени необходимого для обработки данных.

     

    pic8 

    Рисунок 8 (вывод информации по категориям в сводном отчете)

    Ограничения на размер SQL-кода запроса

    При разработке отчета, состоящего из большого количества категорий, либо содержащего обширный перечень обрабатываемых полей и логических сравнений может возникнуть ситуация, когда код отчета перестает выполняться в силу своего размера. В связи с этим, необходимо помнить, что поле SQL Statement в свойствах отчета позволяет ввести не более 16 Кб символов. Это ограничение архитектуры продукта, и устранить его не возможно. Физически, это проявляется в том, что дальнейший ввод символов блокируется. В случае вставки фрагмента кода, при достижении максимального размера поля, дальнейший текст будет отсечен (рисунок 9). Никаких сообщений при этом не выводится

    pic9
     Рисунок 9 (отсечение кода при достижении максимального размера в 16 Кб)

    Кроме данного ограничения на размер поля, существует так называемый «максимальный эффективный размер кода отчета» который равен 16000 символов. В случае, если размер кода превышает данную цифру, при выполнении отчета будет сгенерирована ошибка с кодом -2147217900 (рисунок 10)

    pic10 

    Рисунок 10 (ошибка выполнения отчета с кодом более 16000 символов)

    Данная ошибка связана с ограничением связанным с обработкой запросов SQL сервером, или используемой библиотекой БД, либо OLEDB. Исправления данной ошибки не существует.[6]

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

    Взаимосвязи между отчетами, категории.

    При использовании встроенных отчетов заметно, что некоторые отчеты образуют взаимосвязанные комплексы, переход между элементами которых осуществляется ко клику. Это может быть вывод информации с различной степенью детализации, или связанные отчеты по состоянию клиента и пр. Переход осуществляется путем подстановки данных из таблицы в переменные вызываемого отчета.

    Построения взаимосвязи между создаваемыми отчетами требует определить, по каким полям будет осуществляться переход. Информация из «внешнего» отчета должна отвечать следующим критериям:

    1. обеспечивать безошибочную идентификацию объекта;
    2. содержать информацию для всех обязательных переменных вызываемого (или вложенного) отчета.

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

    Также для установления связи между отчетами, оба отчета (и внешний и вложенный) уже должны быть созданы (или импортированы) в систему.

    Для построения связки определяем вложенный отчет, соответствие полей внешнего отчета и задаваемых переменных вложенного, после чего вызываем свойства внешнего отчета и переходим на вкладку «Links» (рисунок 11).

    В выпадающем списке «Link» type выбираем значение «Link to another report», после чего нажатием на кнопку «Select» выбираем отчет выполняющий роль вложенного.

    Установка взаимосвязи между переменными вложенного отчета и полями таблицы внешнего устанавливается в нижней части окна в поле Prompts. По умолчанию все привязки выставляются к полю 1 внешнего отчета. Для изменения привязки, необходимо выбрать в списке нужную переменную и открыть свойства двойным щелчком, либо нажатием на кнопку «свойства» , после чего в открывшемся  окне можно настроить соответствия между полями таблицы и переменными вложенного отчета (рисунок 12).

     pic11

    рисунок 11 (свойства отчета, вкладка links с установленной связкой)

    pic12 

    рисунок 12 (настройка соответствия между полями таблицы внешнего отчета и переменными вложенного)

    Распеределение отчетов по категорям увеличивает удобство работы, повышает общую организацию системы отчетности. Необходимо отметить, что категории отчетов никак не привязаны к организации папок в консоли управления Configuration Manager. Таким образом, если администратору необходимо обеспечить соответствие создаваемых категорий в системе отчетнсоти и папок в консоли управления SCCM, это должно выполнятся в ручную, путем переноса отдельных отчетов в соответствующие категорям папки.

    Для добавления категории в свойствах новосозданного (или переносимого) отчета необходимо ввести новое имя в поле Category (рисунок 14), и применить внесенные изменения.  После чего данные заносятся в БД и новая категория становится доступной для работы в веб-интерфейсе и для привязки в остальных отчетах.

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

    pic13 

    Рисунок 13 (главная страница системы отчетности с категориями отчетов)

    pic14

    Рисунок 14 (создание новой категории в свойствах отчета)

     

    Андреев Александр

    MCITP,  MCTS, MCSA


    [1] Детальная информация о поддерживаемых аппаратных и программных конфигурациях доступна на сайте Microsoft – http://technet.microsoft.com/ru-ru/library/dd547071.aspx

     

    [2] Взаимосвязь между отчетами производится по их уникальному ID, в случае внесения изменений не в копию а в оригинальный отчет с большой долей вероятности будет потеряна привязка между данным отчетом и связанными с ним.

    [3] Под «критериями успешности» в данном случае подразумевается ожидаемая структура отчета, выводимая информация, время выполнения отчета, удобство использования данного отчета сотрудниками.

    [4] Данной ограничение касается размера отдельной таблицы, в случае использования в одном отчете нескольких таблиц, каждая из которых имеет менее 10000 строк, ограничение не проявляется.

    [5] Источником информации является сайт Microsoft – http://technet.microsoft.com/en-us/library/bb680885.aspx

    [6] При описании данных ограничений в качестве источника используется ответ службы поддержки Microsoft полученный в рамках обращения по партнерской программе.