<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>МОДЕЛИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ ОПТИМИЗАЦИИ МОНИТОРИНГА СОСТОЯНИЯ ПРОГРАММНО-АППАРАТНОГО ОБЕСПЕЧЕНИЯ*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nikitin P.V.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gorokhova R.I.</string-name>
          <email>gorokhova-ri@yandex.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Nikitin Petr V., Candidate of Pedagogic Sciences</institution>
          ,
          <addr-line>Assist. Prof. Dr</addr-line>
          ,
          <institution>Mari State University; associate Professor of information security, Interregional Open Social Institute</institution>
        </aff>
      </contrib-group>
      <fpage>471</fpage>
      <lpage>481</lpage>
      <abstract>
        <p>В статье описывается модель системы мониторинга состояния программно-аппаратного обеспечения крупной компании, предоставляющей клиентам программное обеспечение как услугу (SaaS-решение). Рассмотрены основные функции и назначения систем мониторинга: предоставление актуальных данных для анализа состояния ИТ-инфраструктуры, быстрое выявление появившейся неисправности и эффективное её устранение, поддержание производительности ИТ-инфраструктуры. Описаны основные риски, связанные с предоставлением данных услуг, приведены сравнительные характеристики программного обеспечения, приведены авторские методики мониторинга состояния программноаппаратного обеспечения. Разработанная система мониторинга позволяет повысить качество услуг, предоставляемых клиенту компанией, и выполняет сбор параметра свободного места на диске, проверку задач в планировщике заданий, проверку свободной оперативной памяти по контролю свободного места на диске, просмотр и анализ всевозможных логов. Предлагаемый продукт для мониторинга серверов и служб, а также автоматизации задач поможет значительно снизить время простоя сервисов, повысить качество услуг, предоставляемых клиенту компанией, а также значительно улучшить производительность, избежав, при этом, неоправданных вложений. Моделирование; информационные системы; автоматизированные системы мониторинга.</p>
      </abstract>
      <kwd-group>
        <kwd>Ключевые слова</kwd>
        <kwd>SaaS-решения</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1 Mari State University, Yoshkar-Ola, Russia
2 Interregional Open Social Institute, Yoshkar-Ola, Russia
Введение</p>
      <p>Modeling, information systems; monitoring; SaaS-solutions; automated monitoring systems.</p>
      <p>Программное обеспечение как услуга (–SaaэSт)о предоставление потребителю возможности
использовать приложения поставщика, функционирующиеоблнаачной инфраструктуре. Доступ к
приложениям осуществляется с различных клиентских устройств через интерфейс тонкого клие
например, ве-браузер. Потребитель не контролирует и не управляет облачной инфраструктурой,
которой запущено приложение, вкаляючсеть, сервера, операционные системы, хранилища данных и да
параметры приложения. Возможное исключе–ноитедельные пользовательские настройки приложения.</p>
      <p>Когда клиент потребляет ту или иную услугу в качестве сервиса, а не в качестве устанав
себя программного обеспечения, уже в этот момент, как правило, он становится потребителя
Простейший, и всеми используемый-сеSрaвaиSс – это сервис электронной по–чттоыт же gmail.</p>
      <p>Кроме преимуществ у «облачных» подходов реализации услуг ктльиеинтармяд есрисков. Одни из них
риски, связанные с корректной работоспособностью оборудования и программного обеспечения. Е
клиент не имеет возможность получить услуги, то предприятия могут ожидать негативные после
Например, компания теряет лоялтььносклиента, что может сказаться на репутации. Компания мож
быть оштрафована по договору, в котором прописа-нуслуSгL.A ЕсИлТи компания имеет доход с
предоставления услуг в количестве за время, то просто-йуслутгаикойведИёТт к прямым финансовым
потерям. Следовательно, для уменьшения -бриизснкеосв рекомендуется в-инИфТраструктуру компании
внедрять систему мониторинга.
Основные функции и назначения систем мониторинга
В рамках данногодхопдоа устанавливается соглашение об уровне качества сервисов (Service Lev
Agreement, SLA). Система мониторинга ведет сбор и хранение данных о качес-тсвеервиоскоавз.ании ИТ
Затем составляется отчет за определённый период времени, на базе накоыпхл.еннАынхалидзанн
отчетной информации помогает осуществлять:
• модернизацию -ИинТфраструктуры;
• переоценку уровня предоставлени-ясервИиТсов;
• преобразование деятельности-поИдТразделения.</p>
      <p>
        Для потребителей разного уровня существуют разные типы системнга.монДилтяоринебольших
систем, как правило, хватает отправки уведомлений и обобщенного анализа узлов. Основ
функциями систем мониторинга, обычно, выделяют: слежение; построение отчётов; хранение данн
поиск «узких» мест; визуализация; автоматизацияриесвц.енаЕсли в системе мониторинга реализованы
большинство, выделенных выше, функций, то она освобождает ресурсы администратора, так как п
устраняются быстрее, диагностика производится точно и многомерно. Так же не нужно про
состояние каждого аузл вручную и теперь администратор может легко заняться планирование
изменений в инфраструктуре.
Обзор существующих автоматизированных систем мониторинга
2. Автоматизированная системы мониторинга Za–bbсixистема мониторинга в онсонмов
предназначена для наблюдения за сетями и системами [
        <xref ref-type="bibr" rid="ref2 ref5">2</xref>
        ]. Свободно распространяемая. Состо
нескольких частей.
      </p>
      <p>Сервер мониторинга (ядр–о)опрашивает по заданному интервалу характеристики, проводит их
анализ, обрабатывает итоговые данные, если вдыахнондыяет за преднастроенные пороговые значения,
запускает скрипты инициирующее рассылку уведомлений. Имеет возможность проверять сетев
сервисы удаленно. Хранит все конфигурационные настройки, собранные исторические данны
статистическую информацию в е бадзанные, обычно это СУБД MySQL или PostgreSQL. На сервера
управлением ОС Windows и OpenBSD не устанавливается. Обычно данное ядро имен-уется как
сервер.</p>
      <p>Прокси – занимается сбором характеристик на серверах тем же протоколом что и Z
Характеристики, собранные данным узлом, хранятся в собственном хранилище прокси агента
локальном уровне, как только появится возможность данные пере-дсеартвьерZу,abbаiгxент их передает
как можно быстрее. Прокси – аэгтеонт хорошее решение для мониториналгаенныудх узлов,
находящихся в филиалах, в которых нет системного администратора. Часто агента использую
уменьшения нагрузки на основного -Zсaерbbвiеxра, так прокси агент занимается сбором всех данных
вместо Zabb-ixсервера, тем самым освободив ресуерсвыера с на выполнение других важных задач.
Прокси агентов можно настроить очень много-,сеарвеZрabbмixожет работать только в одном экземпляре.</p>
      <p>Агент – специализированная фоновая задача, которую устанавливают и запускают на объект
наблюдения, она предаовслтяет доступ Zab-bсеixрверу или прокси агенту к характеристикам объекта. С
помощью агента Zabbix контролирует параметры локальных ресурсов объекта (память процес
жесткие диски и т.д.) и выполняемые на нем приложения. Обычно любой объескеттевныахблюдения
систем, работает с запущенным -Zаaгbенbтixом. Не всегда запуск агента удобен, тогда для мониторин
можно использовать простой протокол сетевого управления SNMP. Zabbix умеет работать с
версиями данного протокола. Собирать характеристикиз чперроетокол SNMP можно запуская
собственные скрипты отдающие данные. Еще можно запуская определенные встроенные проверки
отправив запрос по http, ssh, ftp протоколам, замеряя время ответа данных узл-аогве.нтТыак как Za
используют системные вызовыля дполучения информации о характеристиках, они являются очень
эффективными. Одно из главного преимущества Zabbix является -ачгтеонтыZabпbоixддерживают не
только *nix ОС, но и ОС Windows. Все поддерживаемые платформы указаны в таблице 1.</p>
      <p>Таблица 1. Поддерживаемые платформы
Платформа</p>
      <p>AIX
FreeBSD
HP-UX</p>
      <p>Linux</p>
      <p>Mac OS X
Novell Netware</p>
      <p>Open BSD
SCO Open Server</p>
      <p>Solaris
Tru64/OSF
Windows</p>
      <p>ZABBIX-сервер
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается</p>
      <p>Поддерживается
Поддерживается
Поддерживается
Поддерживается</p>
      <p>ZABBIX-агент
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Поддерживается
Веб-интерфейс – реализованное на PHP сстрвеод визуального представления для Zabbix, как и все
приложения, написанн на языке программирования PHP. Для запуска нужно-сернваелриач.ие веб
С помощью Zabbix можно осуществлять распределённый мониторинг до 100000 узлов,
конфигурация младших узлов нтркоолируется старшими в иерархии. Также продукт включает
централизованный мониторинг -лфоагйлов, возможность создавать карты сетей (вручную по шаблону),
выполнение запросов в различные базы данных, генерацию отчётов и тенденций, выполнение сце
на осонве мониторинга, поддержку интеллектуального интерфейса управления платформами (IPMI).</p>
      <p>В Zabbix существуют усл-отвриияггеры, они включаются если-то чтво системе работает не корректно.
Сам Zabbix предоставляет универсальный функционал для гибкой тнраисгтгреорйовк.и Они уведомляют
о состоянии системе -винтвербфейсе, или в другие настроенные источники уведомлений.</p>
      <p>
        Zabbix достаточно самостоятелен и сможет отправить уведомление на почту, в jabber или
помощью gsm-модема, или даже попытаться самосьтнояотелподнять упавший сервис, выполнив заранее
определенные действия, которые запускаются при срабатывании определенных триггеров [
        <xref ref-type="bibr" rid="ref3 ref6">3</xref>
        ].
Автоматическое обнаружение:
• автоматическое обнаружение по диапаз-аоднруесоIPв, доступным сервисам и SNMP проверка;
• атвоматический мониторинг обнаруженных устройств;
• автоматическое удаление отсутствующих хостов;
• распределение по группам и шаблонам в зависимости от возвращаемого результата.
В запасе у Zabbix есть еще полдесятка функций, которые позволяюптросетщиеть бонлаьбшлюедеуние
за сетью, такие как мониторинг состоя-снаийята весб помощью автоматического выполнения сценария
вроде имитации пользовательских действия на сайте. В итоге это одна из мощнейших и обш
систем мониторинга.
      </p>
      <p>В итоге в основу авитзоимраотванной системы мониторинга была выбрана автоматизированная
системы мониторинга Zabbix.
Проектирование модели автоматизированной системы мониторинга
Рисунок 1. Схема работы кластера MySQL в конфигурации Master-Master
Рисунок 2. Структура автоматизированной системы мониторинга Zabbix в двух ДЦ
Система автоматизированного мониторинга Zabbix имеет очень шиунроккцийоналф, однако
инструментарий для визуализации и анализа данных, очень сложный. Нужно создавать каждый
отдельно для их объединения на одни шкалы. Тяжело просматривать данные приходящие в р
времени. Нет возможности объединить графикиыхс среразвнеров на одну шкалу для сравнения. Данный
инструментарий очень важен для анализа как исторических данных, так и для данных обрабаты
реальном времени. Поэтому был найден удобный и легковесный инструмент для визуализации и
данных в реазер времени Grafana. Gra–faпnрaекрасная альтернатива информационным панелям Zabbix.
Она как раз специализируется на визуальном представление данных собранных в разрезе вр
Позволяет работать с информационными панелями и графиками на оснорваезлдиачнныыхх сисзтем
хранения, в том числе на основе Zabbix API.</p>
      <p>Grafana — редактор графиков и информационных панелей, базирующийся на данных из Grap
InfluxDB или OpenTSDB, специализирующийся именно на отображении и анализе информации. Он
относительно прост в установке. Функционально Grafana представляет собой набор пользовательс
информационных панелей, разделённых на строки задаваемой пользователем высоты, в которых, в
очередь, можно создавать функциональные элементы (графи-квис,тавhкtиmlи плашк-итриггеры).
Строки можно перемещать, переименовывать. Естественно, главными функциональными элементами
информационных панелей являются графики. Создание нового-мгертарфииккиа в Grafana совершенно не
требует каки-хлибо специальных знаний.</p>
      <p>Для инетграции Grafana и Zabbix есть свободно распространяемый модуль. После его устано
источниках данных для отображения появляется Zabbix. Пример информационной панели в Grafa
основе данных из Zabbix можно увидеть на рисунке 3.</p>
      <p>Объем необходимой памиятдиска, очевидно, зависит от количества узлов сети и параметров, кот
будут контролироваться. Если планируется сохранять историю контролируемых параметров
длительный срок, то необходимо иметь ввиду, что по крайней мере нужно иметь неясколько ги
хранения данных истории в базе данных.
Рисунок 3. Пример информационной панели
Каждый процесс демона Zabbix требует несколько подключений
необходимой для подключения к базе данных, зависит от настроек
данных может потребовать значительных процессорных ресурсов
контролируемых параметров и выбранной базы данных.
Основные возможности разработанной системы мониторинга
к базе данных. Объем п
базы доаснобнеынхн. о Zaбbаbзiаx и
в зависимости от количес
1. Сбор параметра свободного места на диске.</p>
      <p>Для собра параметра свободного места на диске был написан скрипт, предназначенный для сл
за свободным дисковым пространством: каждый сервер опрашивается по WMI для генерирования
дисков, после чего, вновь с использованием WMI, запрашивается я инофорсвмоабцоидном и занятом
пространстве. Скрипт включает в себя ме-тWодmiCuGsetotm, который расширяет стандартный
командлет Ge-WtMIObject дополнительным параметро–мтаймаут запроса. Если за время, которое
ограничено этим параметром, ответ от сервераполнуеченб,ылто генерируется исключение, содержащее
сообщение о недоступности машины и код выхода из скрипта изменяется на ошибочный. Такое
позволяет избежать зависания скрипта при различных проблемах сети, а также одновременно про
доступность хсотов и работоспособность на них службы WMI. В методе создае
ManagementObjectSearcher, который извлекает коллекцию управляющих объектов в соответствии
заданным запросом. Этот класс является одной из наиболее часто используемых исходных точе
для извлечения сведений об управлении. Например, его можно использовать для перечисления
дисководов, сетевых адаптеров, процессов и прочих управляющих объектов в системе, либо для
всех работающих сетевых подключений, приостановленных служПбослие тс.оздда. ния экземпляр этого
класса принимает в качестве исходных данных запрос WMI, представленный объектом ObjectQuer
его производными, и при необходимости объектом ManagementScope, представляющим пространст
имен WMI, в котором должен былтньенвызпаопрос. Экземпляр может также принять дополнительные
параметры, которые содержатся в объекте EnumerationOptions. При вызове метода Get() для
объекта ManagementObjectSearcher выполняет данный запрос в заданной области и возвращ
коллекцию упралвяющих объектов, которые удовлетворяют запросу, в ManagementObjectCollection.
2. Проверка задач в планировщике заданий.</p>
      <p>Для проверки настроек и состояния задач определённого типа в планировщике заданий Windo
написан скрипт, который в случае не вяыпозландаенчи, принудительно запускает её.</p>
      <p>Скрипт создаёт объект типа Schedule.Service, который предоставляет доступ к планировщику зад
для управления зарегистрированными задачами. Сначала используется метод Connect() для подключе
к удалённой машине ссиоциации всех последующих вызовов на этом интерфейсе с этой удалён
сессией. Затем применяется метод GetFolder(), который получает все содержимое зарегистрирован
заданий.</p>
      <p>Для нужд проекта требуется, чтобы постоянно были запущены задания, риуггеркоторых т
срабатывает при включении сервера и зарегистрированный статус задачи не равен «Disabled».</p>
      <p>Необходимо проверить, что задача, подходящая по этим параметрам, запущена и у нее отс
настройка автоматической остановки через трое суток посал. е Дзлаяпусэктого необходимо сравнить
различные свойства объекта задачи (Task.Definition) с этими значениями.</p>
      <p>Если же задача остановлена, то нужно изменить код выхода на ошибочный и попытаться
задание методом Run().</p>
      <p>3. Проверка оперативной памяти.</p>
      <p>Проверка свободной оперативной памяти производится подобно вышеописанному скрипту
контролю свободного места на диске: по выборке компьютеров из Active Directory проводитс
сведений с помощью WMI запроса. Результаты обрабатываются по определёнмн.ымОднусалков,ия
кроме пропуска машин из специальной переменной SkipHosts, необходимо также не проверять ма
установленной службой виртуализации H-Vyp,er т.к. наличие оперативной памяти на хосте для
виртуализации – не важный показатель, интерес представтлоялюькто значения на самих виртуальных
машинах. Определение наличия службы виртуализации также осуществляется через wmi запроc.
объём доступной оперативной памяти на сервере менее 10%, то об этом поступает сообщени
использованием функции W-rEitreror, а затем переменная выхода из скрипта принимает значение рав
1, чтобы при окончании выполнения сообщить об ошибке при сборке этого шага конфигурации
4. Очистка логов.</p>
      <p>Для просмотра и анализа всевозможных логов в проекте используется с-EвlяaзsкtаicseLaorcghs-tash
Kibana.</p>
      <p>Logstash – бесплатная ope-nsource программа на java для сбора и нормализации логов. Мо
принимать логи либо с локальных файлов, либо через tcp/udp порты. Разных входных (input)
насчитывается 26. Также есть входной дмлоядулсьб,ора сообщений из twitter'а или irc.</p>
      <p>ElasticSearch – бесплатный ope-nsource поисковый сервер, основанный на Apache Lucene. Быстрый,
легко настраиваемый и очень масштабируемый.</p>
      <p>Kibana – веб-интерфейс, написанный на ruby, для отображения даннsыtiхcSeaиrзch. ElaПростая
настройка, но множество функ–цпиойиск, графики, stream.</p>
      <p>Мониторингу требуется просматривать датирование логов, и, если существуют устаревшие,
удалять их. Управление логами осуществляется через HTTP API. Для выдачи сдтоасттиастоичкнио логов
отправки HTT-PGET запроса, для удален–иHяTTP-DELETE. Для каждого из запросов в скрипте
реализованы отдельные методы. Первый метод -HETxeTcPuGtetCommand(), в котором создаётся объект
класса System.Net.WebRequest, который выполняет запроасннкомузадURI (Uniform Resource Identifier).
Затем запрашивается ответ на запрос, результат которого считывается символами из потока ба
определённой кодировке (System.IO.StreamReader).</p>
      <p>Для получения параметров на основе логов, находящихся в ticсsиeсaтrеcмhе бeыlaлs написан скрипт,
листинг которого приведен ниже.</p>
      <p>Листинг 1. Скрипт для получения параметров на основе логов, находящихся в системе elasticsearch
#UserParameter = es.iis_rs_ms.url.percentile[*],PowerShell.exe -executionpolicy
C:\Zabbix\es.iis_rs_ms.percentile.ps1 -Appname "$1" -Url "$2" -Percentile "$3" -MinuteAgo "$4"</p>
      <p>#UserParameter = es.iis_rs_ms.query.percentile[*],PowerShell.exe -executionpolicy
C:\Zabbix\\es.iis_rs_ms.percentile.ps1 -Query "$1" -Percentile "$1" -MinuteAgo "$2"
param(
[string]$Appname,
[string]$Query,
[string]$Url,
[string]$Percentile,
[string]$MinuteAgo
)
if([string]::IsNullOrEmpty($Query))
{
if([string]::IsNullOrEmpty($Appname))
{</p>
      <p>$Query = "request_hash_raw:\""$Url\""";
} else {
$Query = "appname: $Appname AND request_hash_raw:\""$Url\""";
bypass
bypass
-file
-file
}</p>
      <p>}
}
if([string]::IsNullOrEmpty($Percentile))
{</p>
      <p>$Percentile = "75";
}
if([string]::IsNullOrEmpty($MinuteAgo))
{</p>
      <p>$MinuteAgo = "15m";
"size" : 0,
"query" : {
"filtered" : {
"query" : {
"query_string" : {
"query" : "$Query",
"analyze_wildcard" : true
}
"@;
$apiUrl = 'http://localhost:9200/iis_*/iis/_search'
$client = new-object System.Net.WebClient
$client.Encoding = [System.Text.Encoding]::UTF8
$reponse = $client.UploadString($apiUrl, $responseBody)
$value = $reponse -match '.*"values":\{"[\d\.]*":(?&lt;value&gt;[\d\.]*)\}.*'
Write-Host $Matches.value</p>
      <p>Рисунок 4. Информационная панель для просмотра ASP NET приложений, находящихся в IIS веб-сервере
Для внедрения
данной
системы
мониторинга
необходимо
установить-ценвтредатПаО</p>
      <p>Zabbix</p>
      <p>на
виртуальные машины с ОС Linux, после чего настроить чер-иезнтеZрaфbеbйixс виебртуальные машины
со стандартными шаблонами, зависящими от ОС. Также необходимоувендаосмтрлоеинтиья о важных
событиях по email и смс и затем настроить информационные панели в Gra-f7anaп.риНваедерниысунках 4
основные графики работы системы мониторинга.
Отметим, что администратор сам может настроить любые панели просмотровтик характерис
мониторинга состояния программ-анпопаратного обеспечения. Это могут быть: информационная панель
для просмотра характеристик очередей продукта компании; информационная панель для просмо
программных характеристик продукта компании; информационнаяль паднлея просмотра бизнес
характеристик продукта компании; информационная панель для просмотра характеристик IIS App
и т.п.</p>
      <p>Бизнес в любой сфере сильно зависит от доступности и работоспосо-ибнфосртаистреугкотурИыТ
24/7/365. Чтобы обеспетчьи эту работоспособность, необходимо заранее выявлять узкие места
конфигурации систем и сетей, а также быстро узнавать о наличии поломки и её причине. Для
компаниях, где подобное слежение неосуществимо за счёт только специалистов,ольпзроивнаяттьо исп
системы мониторинга.</p>
      <p>Предложенная система мониторинга разработана на основе Zabbix. Для анализа и визуализ
данных в разрезе времени к Zabbix был интегрирован удобный и легковесный инструмент Graf
получения сбора данных из источнОиДковпрЦедприятия разработаны частные скрипты.</p>
      <p>Использование данной системы позволит быстро среагировать на любую неисправность за
уведомлений, а преднастроенные панели визуализации характеристик систем позволяют довольно то
определить источник пробмлые и метку времени начала ухудшения характеристик. Благодаря все
этому бизне-рсиск простоя сервисов услуг компании значительно снизится. Например, многие пробле
которые в итоге приводили к неработоспособности сервисов, можно определить зтаоргаон,еек, акеще до
об этом узнают пользователи. Предлагаемый продукт для мониторинга серверов и служб, а
автоматизации задач поможет значительно снизить время простоя сервисов, повысить качество
предоставляемых клиенту компанией, а также значитлеулчьшниоть у производительность, избежав, при
этом, неоправданных вложений. В будущем можно улучшить качество мониторинга за счет посто
выполнения популярных сценариев использования сервисов.</p>
      <p>References</p>
      <p>URL:
Об авторах:
Никитин Петр Владимирович, каниддат педагогических наук, доцент кафедры прикладной математики
и информатики и кафедры методики обучения математики и естественнонаучных дисцип
Марийский государственный университет; доцент кафедры информационной безопасности,
Межрегиональный открытыйсоциальный институтp,etrvlni@rambler.ru
Горохова Римма Ивановна, кандидат педагогических наук, доцент, доцент кафедры методики обучен
математики и естественнонаучных дисциплин, Марийский государственный итуенти,верс
gorokhova-ri@yandex.ru</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Nagios</surname>
          </string-name>
          [Электронный ресурс]: Nagios DocumentatUioRnL: /h/ttp://www.nagios.
          <source>org/ (дата обращения 1</source>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Zabbix</given-names>
            <surname>Documentation</surname>
          </string-name>
          [Электронный ресурс]:
          <source>Zabbix documentation for version 2</source>
          .0. // URL: http://www.zabbix.
          <source>com/documentation/2.0 (дата обращения 1</source>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Далле</given-names>
            <surname>Вакке А. Zabbix</surname>
          </string-name>
          .
          <article-title>Практическое дсртувкоово/ пер. с англ</article-title>
          .
          <source>А. Н.- МК.и:сеДлМевКа Пресс</source>
          ,
          <fpage>2</fpage>
          -
          <lpage>031675</lpage>
          . с.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          1.
          <string-name>
            <surname>Nagios</surname>
          </string-name>
          [Electronic resource]: Nagios Documentation // URL: http://www.nagios.
          <source>org/ (the date of reference 1</source>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Zabbix</given-names>
            <surname>Documentation</surname>
          </string-name>
          [Electronic resource]:
          <source>Zabbix documentation for version 2</source>
          .0. // http://www.zabbix.
          <source>com/documentation/2.0 (the date of reference 1</source>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Dalle</given-names>
            <surname>Vakke А. Zabbix</surname>
          </string-name>
          . Code of practice / пАер..
          <source>N. Kwiistehlevаaн</source>
          ,iгsлМ..: ДМК Press,
          <year>2017</year>
          . -
          <fpage>365</fpage>
          с.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>