Первичные настройки ================================= Для общей работоспособности --------------------------------- В подсистеме администрирования: * обновить БД * завести пользователей и орг.структуру (Либо настроить синхронизацию с AD), в которой будут: * Системный пользователь (создается до установки Synergy ITSM, должен быть назначен на должность) * Инициаторы обращений * Операторы Первой линии * Исполнители Второй линии (Количество уровней исполнения можно увеличить). * Добавить пользователей в группы: * Первая линия - всех операторов первой линии * Вторая линия - всех исполнителей второй линии * itsm_group_reassign_access - Пользователи, которым предоставляется доступ к Переназначению обращений, находящихся на исполнении. * itsm_group_admin - Администраторы и системный пользователь. *Примечание*. Обязательно необходимо добавить системного пользователя в группу itsm_group_admin. В Конфигураторе: 1. В справочник Форм завершения добавить новые формы завершения для обращения, проблемы, запроса на изменение и изменения следующим образом: .. figure:: _static/Configurator_wcf.png Рис. .. figure:: _static/Configurator_wcf_problem.png Рис. .. figure:: _static/Configurator_wcf_rfc.png Рис. .. figure:: _static/Configurator_wcf_change.png Рис. 2. Для формы завершения "Комментарий" активировать чек-бокс "Не требует подтверждения". 3. На формах: * в форме “Обращение” вставить значения оператора, исполнителя, системного пользователя по умолчанию * в форме “Проблема” вставить значения ответственного менеджера, исполнителя, системного пользователя по умолчанию * в форме “Изменение” вставить значение ответственного за координацию изменений в ИТ/администратора системы, владельца БП, ответственного за релиз, бизнес-аналитика, разработчика, тестировщика, системного пользователя по умолчанию * в форме "Запрос на изменение RFC" вставить значение ответственного за координацию изменений в ИТ/администратора системы, CAB, системного пользователя по умолчанию 4. Проверить/уточнить права на реестры 5. Сбросить значения счетчиков, либо при необходимости создать свои шаблоны номеров для идентификаторов и применить их в соответствующих формах 6. Прописать логин/пароль системного пользователя для всех скриптов Блокирующих процессов 7. Для реестра "Заявка на права доступа" в маршруте активации для работы "Прошу назначить права доступа" указать требуемого ответственного. 8. Для реестра "База знаний" в маршруте активации для согласования "Прошу согласовать" указать требуемого ответственного. В пользовательской части: 1. Создать и заполнить одну запись в реестре “Настройки портала” и после этого для всех групп закрыть доступ на создание и удаление в этом реестре (необходимо для корректной работы портала): .. figure:: _static/portal_settings.png 2. Создать и заполнить хотя бы одну запись реестра "Сервисы" для возможности запуска обращения по маршруту. **Примечание:** Для отправки уведомлений из системы настроить в системе администрирования "Настройки уведомлений", это описано в следующей главе "Настройка интеграции с почтой". Для работоспособности дашбордов: ----------------------------------------- В интерфейсе Synergy: * создать хотя бы по одной тестовой записи в реестрах “Обращения” и “Проблемы” В подсистеме администрирования: * проиндексировать данные форм В конфигураторе: * заменить во внешних модулях “Аналитика по инцидентам” и “Аналитика по проблемам” адрес приложения актуальной ссылкой на дашборды Kibana (достаточно изменить только IP-адрес и при необходимости порт) В Kibana: * создать 2 шаблона индекса: ``r-itsm_registry_incidents`` и ``r-itsm_registry_problems`` * импортировать в Kibana (Management -> Saved Objects -> Import) конфигурацию их 2-х дашбордов из файла .../configuration/arta/apps/sm_dashboards.json * импортировать в Kibana (Management -> Saved Objects -> Import) конфигурацию из 27-и визуализаций из файла .../configuration/arta/apps/sm_visualizations.json * проверить, что всё загрузилось, в дашбордах отсутствуют визуализации, помеченные «!» (при этом возможно наличие визуализаций со значениями “0”, “?”, “No results found”, и это всё не является ошибкой) В клиентской части: * проверить работоспособность обоих дашбордов * для работоспособности уведомлений на почту клиентам при их создании в реестре “Контакты” необходимо заполнить и поле e-mail * для работоспособности уведомлений о просрочке времени SLA необходимо заполнить поле e-mail в настройках каждого специалиста сервиса Для реализации дашборда "Облако тегов" ----------------------------------------- Данный дашборд отображает самые часто встречающиеся слова в поле "Тема"/"Описание" обращения, частота соответствует размеру текста. Чем чаще встречается то или иное слово, тем больше его шрифт. Таким образом, можно определить с чем чаще всего возникают проблемы. Для того чтобы исключить слова, которые повторяются, но не несут важности для пользователя, создан "Реестр исключений". Примеры слов: доброе, утро, не, работает и т.д. .. figure:: _static/exceptions.jpg Рис. Реестр исключений Так как одно слово может быть использовано с разными окончаниями, для группирования создан "Реестр синонимов". Например, в обращении могут использоваться слова: принтер, принтеру, принтера. Чтобы все эти слова воспринимались на визуализации как "принтер", необходимо заполнить его в Реестре синонимов. .. figure:: _static/synonyms.jpg Рис. Реестр синонимов 1. Заполнить по возможности Реестр синонимов и Реестр исключений. **Примечание:** изменения в синонимах и исключениях после первичной индексации не будут применяться. Для этого требуется использование отдельного скрипта. В связи с этим необходимо на первом этапе заполнить реестры синонимов и исключений всеми необходимыми словами. 2. Создать хотя бы одну запись реестра Обращений, заполнить тему, описание, запустить по маршруту активации. 3. Создать индекс ``itsm_incident_tagcloud`` в Kibana->Management->Index Patterns->Add new .. figure:: _static/index.jpg Рис. Создание индекса 4. Загрузить дашборд "Облако тегов и 2 визуализации "Облако тегов по теме", "Облако тегов по описанию". Архив можно скачать здесь_. .. _здесь: _static/TagCloud.7z Для загрузки его необходимо перейти в Kibana->Management->Saved Objects и загрузить нажав на Import. Загружать необхрдимо json файлы, а не архив. 5. После импорта можно перейти на дашборд и ознакомиться с результатами. 6. При необходимости создать внешний модуль в SynergyIDE и добавить ссылку на этот дашборд, дать права группам пользователей. Для настройки уведомления о том, что у пользователя открыт документ ----------------------------------------- Реализовано уведомление для записей реестра Обращения в статусе "Зарегистрировано", которое отображается когда один пользователь открывает обращение, которое открыто у другого пользователя. Таким образом можно исключить одновременную работу над одним документом при распределении обращений. Также бывают ситуации, когда пользователь закрывает сразу же страницу браузера и тем самым документ не закрывается. В базе данных документ остается открытым под данным пользователем. Реализовано несколько API методов для работы с открытыми документами: 1. GET `/itsm/rest/document/isopen?documentID={documentID}` - возвращает информацию по документу если он открыт, пример ответа: { "errorCode": 0, "errorMessage": "OK", "data": { "userID": "1", "documentID": "bba1e996-c745-4d4f-b933-47aeef158ab2", "dataUUID": "63857", "date": "1577244327226" } } 2. GET `/itsm/rest/document/list` - получает весь список открытых документов, пример ответа: { "errorCode": 0, "errorMessage": "OK", "data": [ { "userID": "f7abd6d9-7b92-4da4-a183-d53feaee2296", "documentID": "1b5f6d64-0d61-4f4c-b6a4-8fc80e6be177", "dataUUID": "63828", "date": "1577244489896" }, { "userID": "1", "documentID": "bba1e996-c745-4d4f-b933-47aeef158ab2", "dataUUID": "63857", "date": "1577244327226" } ] } 3. POST `/itsm/rest/document/remove/{documentID}` - удаляет из списка один документ, в ответ приходит 1 если был удален или 0 если в базе не найден данный документ, пример ответа: { "errorCode": 0, "errorMessage": "OK", "data": 1 } 4. POST `/itsm/rest/document/removeAll` - удаляет из списка все документы, в ответ приходит количество удаленных записей, пример ответа: { "errorCode": 0, "errorMessage": "OK", "data": 4 } В случае если при выполнении любого из вышеперечисленных методов возникает ошибка, в ответ возвращается json: { "errorCode": 13, "errorMessage": "сообщение, характеризующее ошибку" } Также для удобства реализован скрипт `closeOpenDocument.sh`, который проверяет и удаляет из базы открытые документы. Данный скрипт можно поставить в крон для автоматического удаления зависших документов (*для случаев когда событие закрытия документа из UI Synergy не может быть вызвано*). Скрипт содержит настройки, которые по необходимости изменить под потребности: Скрипт находится в папке `/opt/synergy/apps/itsm/scripts`. # кол-во часов, прошедших с даты открытия документа, по истечению которых нужно удалить документ из базы HOURS=5 # mySQL настройки mysqlUser="root" mysqlPass="root" mysqlDB="synergy" mysqlHost="localhost" Для того чтобы поставить в крон необходимо: 1. Подключиться по ssh и в терминале ввести команду `$ crontab -e` 2. Добавить текст 0 22 * * * /opt/synergy/apps/itsm/scripts/closeOpenDocument.sh В данном случае скрипт будет запускаться каждый день в 22.00. При необходимости можно поменять сроки исполнения. 3. Сделать скрипт исполняемым: $ chmod a+x /opt/synergy/apps/itsm/scripts/closeOpenDocument.sh Для закрытия обращений, которые ожидают доработки со стороны инициатора ----------------------------------------- Бывают ситуации, когда пользователь обратился с обращением, и после отправки обращения на доработку пользователь не отвечает (возможно обращение уже не актуально). Обращения так и находится в статусе "Ожидает ответа пользователя". И так может собираться большое количество обращений. Для того чтобы их закрывать реализован скрипт `close_incident.sh`, который позволит закрыть данные заявки, если с момента отправления на доработку прошло 16 рабочих часов. Для того чтобы этот скрипт исполнялся его необходимо поставить в крон. Скрипт находится в папке `/opt/synergy/apps/itsm/scripts`. В скрипте имеются следующие настройки: 1. файл откуда берутся настройки соединения с synergy: source /opt/synergy/jboss/standalone/configuration/arta/apps/itsm/itsm.properties 2. подключение к базе mysql(при необходимости заменить в скрипте логин и пароль) mysqlUser="User" mysqlPass="Pass" mysqlHost="127.0.0.1" 3. расположение лог файла, код реестра инцидентов и комментарий по умолчанию: logFile="/var/log/synergy/scripts.log" ... registryCode="itsm_registry_incidents" comment="Закрыто по истечению времени на ожидание ответа пользователя" Для того чтобы его поставить в крон необходимо: 1. Подключиться по ssh и в терминале ввести команду `$ crontab -e` 2. Добавить текст 0 23 * * * /opt/synergy/apps/itsm/scripts/close_incident.sh В данном случае скрипт будет запускаться каждый день в 23.00. При необходимости можно поменять сроки исполнения. 3. Сделать скрипт исполняемым: $ chmod a+x /opt/synergy/apps/itsm/scripts/close_incident.sh