Как создать свой прокси сервер на windows 10

Содержание
  1. Предводитель спрвовой системы
  2. Основная версия DHIS 2.34
  3. Обса
  4. Установить
  5. Гљвод
  6. Технические характеристики сервера
  7. Требования к программному обеспечению
  8. Настройки сервера
  9. Создан пользователь для запуска DHIS2
  10. Создан адрес конфигурации
  11. Настройки часового пояса и языка сервера
  12. Установите PostgreSQL
  13. Настройка производительности PostgreSQL
  14. Конфигурация системы
  15. Установить Java
  16. Установка Tomcat и DHIS2
  17. Запустить DHIS2
  18. Конфигурационный файл «loЕѕiЕЎtД›»
  19. Настройка службы Google
  20. Конфигурация LDAP
  21. Конфигурация зашифрована
  22. Не волнуйтеськонфигурация репликации базы данных si
  23. Конфигурация кластера веб-серверов
  24. Обзор кластеризации
  25. Конфигурация кластера экземпляров DHIS 2
  26. Повторно введите общую конфигурацию кластера данных
  27. Конфигурация папки с файлами
  28. Настройка инструмента балансировки нагрузки
  29. Конфигурация кеша Analytics
  30. Мониторинг
  31. Конфигурация обратного прокси-сервера
  32. Основные настройки nginx
  33. Включен SSL с nginx
  34. Включено кэширование с использованием nginx
  35. Ограничение скорости с помощью nginx
  36. Понизить исходный код с помощью nginx
  37. Ссылка на конфигурацию DHIS2
  38. Журнал приложений
  39. файлы протоколов
  40. Конфигурация протокола
  41. Работа с базой данных PostgreSQL
  42. Обновить
  43. Обновление или обновление обновить
  44. Вы не можете начать
  45. Выполнение обновления
  46. 1 Защитите свои данные
  47. 2 Обновите программное обеспечение
  48. Начиная с версии 2.29 или выше
  49. Начиная с версии 2.30 или выше
  50. Мониторинг
  51. Руководство
  52. Установить
  53. Установка Prometheus + Grafana на Ubuntu и Debian
  54. Настройка Prometheus как службы
  55. Создайте сервис Prometheus
  56. Набор обратного прокси-сервера Nginx
  57. Включить проверку подлинности обратного прокси-сервера
  58. Установка Grafana на Ubuntu и Debian
  59. УстановкаPrometheus + Grafana с использованием Docker
  60. Настройте Prometheus для получения метрик из одного или нескольких экземпляров DHIS2
  61. Настройте экспортер DHIS2
  62. Аудит
  63. Руководство
  64. Одна таблица аудита
  65. Область аудита
  66. Тип аудита
  67. Установить
  68. Использование коммуникационных шлюзов для мониторинга SMS
  69. Отправлено SMS
  70. Использование устройства Android в качестве SMS-шлюза
  71. Отправка SMS с помощью шлюза Android
  72. Зарезервированный шлюз SMS
  73. Обеспечить правильное форматирование входящих SMS насервер DHIS2
  74. Использовать RapidPro
  75. Использование коммерческих провайдеров SMS-шлюзов
  76. Использование телефонных операторов
  77. Я могу читать женские и мужские SMS

Предводитель спрвовой системы

Основная версия DHIS 2.34

Группа документации DHIS2

Авторское право © Команда DHIS2, 2008-2021

Последняя актуализация: 2021-09-07

Гарантия: ДАННЫЙ ДОКУМЕНТ ПРЕДОСТАВЛЯЕТСЯ АВТОРАМИ «КАК ЕСТЬ» И ЛЮБЫМИ ЯВНЫМИ ИЛИ ПОДРАЗУМЕВАЕМЫМИ ГАРАНТИЯМИ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНАЯ ЦЕЛЬ ОТКАЗЫВАЕТСЯ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ УЧАСТНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, ОСОБЫЙ, ПРИМЕРНЫЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ; ПОТЕРЮ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ ПРЕРЫВАНИЕ ДЕЛОВОЙ ДЕЯТЕЛЬНОСТИ) ОДНАКО ВЫЗВАННАЯ И НА ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, БУДЬ ТО ПО ДОГОВОРУ, СТРОГОЙ ОТВЕТСТВЕННОСТИ ИЛИ ПРАВОВЫМ ПРАВАМ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ ИЛИ ИНЫМ ОБРАЗОМ), ВОЗНИКАЮЩИМ ЛЮБЫМ ПУТЕМ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ДАННОГО РУКОВОДСТВА И ПРОДУКТОВ, УПОМЯНУТЫХ В НЕГО, ДАЖЕ ЕСЛИ УВЕДОМЛЕНО О ВОЗМОЖНОСТИ ТАКОЕ ПОВРЕЖДЕНИЕ.

Лицензия: Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями лицензии GNU Free Documentation License версии 1.3 или любой более поздней версии, опубликованной Free Software Foundation; без неизменяемых разделов, без текстов на передней и задней обложках. Копия лицензии включена в источник этой документации и доступна здесь: http://www.gnu.org/licenses/fdl.html

.

Обса

Установить

Капитола установить обслужную информацию о том, как установить DHIS2 в rЕЇзнГЅч kontextech, вдЌетнД› онлайн центролнго сервера, офлайн локалнэ сГтД›, самостатнй апликаце и самостатный бал Liveдьюку с нГЎзвем3

Гљвод

DHIS2 bD›ЕѕГ на поздней платформе‖ch, pro kterexistuje prostäed‚ Java Runtime Environment verze 8 nebo vyЕЎЕЎГ, kter’ zahrnujeСамыми популярными операционными системами являются Windows, Linux и Mac. DHIS2 основан на системе баз данных PostgreSQL. DHIS2 упакован в виде стандартного веб-архива Java (файл WAR) и поэтому может работать в любых контейнерах сервлетов, таких как Tomcat и Jetty.

Это рекомендуется DHIS2 как предпочтительный носитель для серверных установок с операционной системой Ubuntu 16.04 LTS, системой баз данных PostgreSQL и контейнером Tomcat Servlet.

В этой главе содержится руководство по настройке вышеупомянутого стека технологий. Однако его следует читать как руководство по началу работы, а не как исчерпывающую документацию для указанной среды. Для более подробного ознакомления мы обращаемся к официальной документации Ubuntu, PostgreSQL и Tomcat.

Пакет Ubuntu dhis2-tools автоматизирует многие шаги, описанные в этом руководстве, и рекомендуется для большинства пользователей, особенно для новичков в командной строке или управлении сервером. Это подробно описано в отдельной главе данного руководства.

Технические характеристики сервера

DHIS2 — это приложение на основе базы данных, для которого требуется, чтобы ваш сервер имел соответствующий объем оперативной памяти, количество ядер ЦП и быстрый диск. Эти рекомендации следует рассматривать как общие правила, а не как точную меру. DHIS2 масштабируется линейно в зависимости от объема ОЗУ и количества ядер ЦП, поэтому чем больше вы можете себе позволить, тем лучше будет работать приложение.

ОЗУ: Не менее 1 ГБ памяти на 1 миллион записанных записей данных в месяц или на 1000 отдельных пользователей. Не менее 4 ГБ для небольшого экземпляра и 12 ГБ для среднего экземпляра.

Ядра ЦП: 4 ядра ЦП для небольшого экземпляра, 8 ядер ЦП для среднего или крупного экземпляра.

Диск: В идеале используйте SSD. В противном случае используйте диск со скоростью 7200 об/мин. Минимальная скорость чтения — 150 Мбит/с, 200 Мбит/с — хорошо, 350 Мбит/с и выше — идеально. Что касается места на диске, рекомендуется минимум 60 ГБ, но это полностью зависит от объема данных, содержащихся в таблицах значений данных. Таблицы аналитики требуют значительного объема дискового пространства. Планируйте заранее и убедитесь, что при необходимости ваш сервер можно обновить, освободив достаточно места на диске.

Требования к программному обеспечению

Для работы более поздней версии DHIS2 требуется следующая версия программного обеспечения.

Java JDK или JRE версии 8 или новее.

Любая операционная система, для которой существует Java JDK или JRE версии 8.

База данных PostgreSQL версии 9.6 или новее.

Откройте базу данных PostGIS версии 2.2 или новее.

Контейнер сервлетов Tomcat версии 8.5.50 или новее или другие контейнеры сервлетов, совместимые с Servlet API 3.1.

Настройки сервера

В этом разделе описывается, как настроить экземпляр сервера DHIS2 на 64-разрядной версии Ubuntu 16.04 с PostgreSQL в качестве системы базы данных и Tomcat в качестве контейнера сервлетов. Это руководство не является пошаговым руководством как таковым, а скорее служит справочным материалом о том, как можно развернуть DHIS2 на сервере. Существует множество возможных стратегий развертывания, которые будут различаться в зависимости от используемой операционной системы и базы данных, а также других факторов. Термин invoke указывает на выполнение данной команды в терминале.

Для национального сервера рекомендуется конфигурация с четырехъядерным процессором с тактовой частотой 2 ГГц или более и оперативной памятью 12 ГБ или более. Обратите внимание, что 64-разрядная версия требуется для использования более 4 ГБ ОЗУ.операционная система.

В этом руководстве мы предполагаем, что 8 ГБ ОЗУ выделено для PostgreSQL и 8 ГБ ОЗУ выделено для Tomcat/JVM и что используется 64-разрядная операционная система. Если вы используете другую конфигурацию, измените предлагаемые значения соответствующим образом! Мы рекомендуем разделить доступную память примерно поровну между базой данных и JVM. Не забудьте оставить немного физической памяти для выполнения операционной системой своих задач, например примерно 2 Гб. Шаги, отмеченные как необязательные , такие же, как и этап настройки производительности, можно выполнить на более позднем этапе.

Создан пользователь для запуска DHIS2

Вы должны создать выделенного пользователя для запуска DHIS2.

Вы не должны запускать сервер DHIS2 от имени привилегированного пользователя, такого как root.

Создайте нового пользователя с выбранным именем:

Затем установите пароль для своей учетной записи:

Убедитесь, что вы установили надежный пароль, содержащий не менее 15 случайных символов.

Создан адрес конфигурации

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

DHIS2 будет искать переменную среды с именем DHIS2_HOME , чтобы найти адрес конфигурации DHIS2. В данном руководстве по установке этот адрес будет называться DHIS2_HOME . Мы определяем переменную среды на более позднем этапе процесса установки.

Настройки часового пояса и языка сервера

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

PostgreSQL чувствителен к среде, поэтому вам может потребоваться сначала установить среду. Проверьте существующую среду, а затем установите новую (например, Норвегия):

Установите PostgreSQL

Установите PostgreSQL, выбрав:

Создайте непривилегированного пользователя с именем dhis selected:

После звонка введите безопасный пароль. Создать выбранную базу данных:

Возврат к выбранному сеансу с выходом Теперь у вас есть пользователь PostgreSQL с именем dhis и база данных с именем dhis2 .

Решено PostGIS необходим для работы нескольких функций ГИС/картографии. DHIS 2 попытается установить подключаемый модуль PostGIS во время запуска. Если пользователь базы данных DHIS 2 не авторизован для создания дистрибутива, вы можете создать его из консоли с помощью пользователя postgres с помощью следующих команд:

Выйдите из командной строки и вернитесь к предыдущему пользователю с помощью \q , затем выход .

Настройка производительности PostgreSQL

Настроенный PostgreSQL необходим для достижения высокой производительности системы, но не является обязательным при работе с DHIS2. PostgreSQL настраивается и настраивается с помощью файла postgresql.conf , который можно изменить следующим образом:

и установите следующие свойства:

Указывает максимальное количество подключений, которое PostgreSQL разрешает.

Указывает, сколько памяти должно быть выделено исключительно для кэширования PostgreSQL. Этотset — это размер разделяемой памяти ядра, которая должна быть зарезервирована для PostgreSQL. Он должен составлять примерно 40 % от общего объема памяти, зарезервированного для PostgreSQL.

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

Указывает объем памяти, который PostgreSQL может использовать для операций обслуживания, таких как создание индекса, вакуумные вычисления и добавление внешнего ключа. Увеличение этого значения может повысить производительность создания индекса в процессе генерации аналитики.

Оценка объема памяти, доступного для кэширования диска операционной системой (не выделения) и isdb.no, который PostgreSQL использует для определения того, уместится ли план запроса в памяти или нет. Установка более высокого значения, чем реально доступное, приведет к снижению производительности. Это значение должно включать настройку shared_buffers. PostgreSQL имеет два уровня кэширования: первый уровень использует общую память ядра и управляется параметром shared_buffers. PostgreSQL делегирует второй уровень дисковому кешу операционной системы, а объем доступной памяти можно определить с помощью параметра Effective_cache_size.

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

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

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

Только SSD. Установите оценку планирования запросов для стоимости страницы диска, которая не загружается последовательно. Низкое значение, потому что система отдает приоритет сканированию индекса над последовательным сканированием. Низкое значение имеет смысл для баз данных, работающих на твердотельных накопителях или с большим кэшем в памяти. Значение по умолчанию — 4,0, что идеально подходит для традиционных дисков.

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

Перезапустите PostgreSQL, введя следующую команду:

Конфигурация системы

Информация о подключении к базе данных предоставляется DHIS2 через файл конфигурации с именем dhis.conf . Создайте этот файл и сохраните его в каталоге DHIS2_HOME . Например, это может быть:

Файл конфигурации для PostgreSQL, соответствующий вышеуказанным настройкам, имеет следующие свойства:

Настоятельно рекомендуется включить параметр server.https и развернуть DHIS 2 по зашифрованному протоколу HTTPS. Этот параметр позволит, например. безопасные файлы cookie. Требуется развертывание HTTPSкогда этот параметр включен.

Набор server.base.url относится к URL-адресу, по которому конечные пользователи в сети получают доступ к сети.

Файл конфигурации поддерживает переменные среды. Это означает, что вы можете установить определенные свойства в качестве переменных среды и сделать так, чтобы они отображались, например. вот так, где DHIS2\_HOME — это имя переменной окружения:

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

Установить Java

Рекомендуемым Java JDK для DHIS 2 является OpenJDK 8. OpenJDK распространяется под лицензией GPL и может работать бесплатно. Вы можете установить его с помощью следующей команды:

Проверьте правильность установки, набрав:

Установка Tomcat и DHIS2

Для установки контейнера сервлетов Tomcat мы используем пользовательский пакет Tomcat следующим образом:

Этот пакет позволяет легко создать новый экземпляр Tomcat. Экземпляр будет создан по текущему адресу. Подходящим местом является домашний адрес пользователя dhis :

Это создаст экземпляр в каталоге с именем tomcat-dhis . Обратите внимание, что пакет tomcat7-user позволяет создать любое количество экземпляров dhis, если это необходимо.

Далее отредактируйте файл tomcat-dhis/bin/setenv.sh и добавьте следующие строки. Первая строка задает расположение вашей среды выполнения Java, вторая зарезервирует память Tomcat, а третья задает, где DHIS2 будет искать файл конфигурации dhis.conf . Проверьте правильный путь к двоичным файлам Java, так как они могут быть у васотдельных систем, например. в системах AMD вы должны увидеть /java-8-openjdk-amd64 Обратите внимание, что вы должны адаптировать это к своей среде:

Файл конфигурации Tomcat находится в папке tomcat-dhis/conf/server.xml . Элементом, определяющим подключение к DHIS, является элемент Connector с портом 8080. При необходимости вы можете изменить слово порта в элементе Connector на нужный порт. Атрибут relaxedQueryChars необходим, чтобы разрешить определенные символы в URL-адресах, используемых внешним интерфейсом DHIS2.

Следующий шаг — загрузить файл DHIS2 WAR и поместить его в каталог веб-приложений Tomcat. Вы можете загрузить выпущенную DHIS2 версии 2.31 WAR следующим образом (при необходимости замените 2.31 предпочитаемой версией):

С другой стороны, для выпусков исправлений структура папок основана на идентификаторе выпуска исправлений в подпапке основного выпуска. НапЕ™. Вы можете загрузить выпущенную DHIS2 версии 2.31.1 WAR следующим образом (при необходимости замените 2.31 предпочтительной версией и 2.31.1 предпочтительным патчем):

Переместите файл WAR на адрес веб-серверов Tomcat. Мы хотим назвать файл WAR ROOT.war, чтобы сделать его доступным на локальном хосте напрямую без контекстного пути:

DHIS2 никогда не следует запускать от имени привилегированного пользователя. После редактирования файла setenv.sh отредактируйте сценарий запуска, чтобы проверить и убедиться, что сценарий не выбран в качестве корневого.

Читайте также:  Как изменить оценки windows

Запустить DHIS2

Теперь DHIS2 можно запустить, выбрав:

Сервер DHIS2 никогда не должен запускаться от имени пользователя root или любого другого привилегированного пользователя.

DHIS2 можно остановить, набрав:

Для наблюдения за поведением Tomcat основным источником информации является журнал. Журнал можно просмотреть с помощью следующей команды:

Предположим, чтоWAR с именем ROOT.war, теперь вы можете получить доступ к экземпляру DHIS2 по следующему URL-адресу:

Конфигурационный файл «loЕѕiЕЎtД›»

DHIS2 может захватывать и сохранять файлы. По умолчанию файлы будут храниться в локальной файловой системе сервера, на котором работает DHIS2, в каталоге files во внешнем каталоге DHIS2_HOME .

Вы также можете настроить DHIS2 для хранения файлов в облачных провайдерах. В настоящее время единственным поддерживаемым поставщиком является AWS S3. Чтобы включить расположение в облаке, необходимо определить следующие дополнительные свойства в файле dhis.conf :

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

Если вы настроили расположение в облаке в dhis.conf, все файлы, которые вы загружаете, или файлы, созданные системой, будут использовать расположение в облаке.

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

AWS S3 уникаленподдерживаемого поставщика, но в будущем, вероятно, будут добавлены другие поставщики, такие как Google Cloud Store и Azure Blob Storage. Сообщите нам, если у вас есть вариант использования другого поставщика.

Настройка службы Google

DHIS2 может подключаться к различным API сервисов Google. Например, ГИС-компонент DHIS2 может использовать API Google Earth Engine для загрузки слоев карты. Чтобы предоставить токены доступа к API, вам необходимо настроить службы Google и создать закрытый ключ:

Создайте учетную запись службы Google. Прочтите документацию по платформе идентификации Google.

Откройте Google Cloud Console и перейдите в Диспетчер API > Учетные данные > Создать учетные данные > Ключ сервисной учетной записи. Выберите свой сервисный код и JSON в качестве типа ключа и нажмите «Создать».

Переименуйте ключ JSON в dhis-google-auth.json .

После загрузки файла ключа поместите файл dhis-google-auth.json в каталог DHIS2_HOME (там же, где находится файл dhis.conf ). Например, это может быть размещено:

Конфигурация LDAP

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

Если вы хотите настроить аутентификацию LDAP, вам необходимо настроить URL-адрес сервера LDAP, пользователя сервера, а также базу данных поиска LDAP и поисковый фильтр. Эту настройку необходимо выполнить в основном файле конфигурации DHIS 2 (dhis.conf). Пользователи или записи LDAP идентифицируются отличительными именами (далее DN). Пример конфигурацииВыглядит это так:

Свойства конфигурации LDAP объясняются ниже:

ldap.url: _ URL-адрес сервера LDAP для аутентификации. Для безопасной аутентификации настоятельно рекомендуется использовать SSL/шифрование. Пример URL-адреса: _ldaps://domain.org:636 , где ldaps относится к протоколу, domain.org относится к доменному имени или IP-адресу, а 636 относится к порту (по умолчанию для LDAPS используется 636).

_ldap.manager.dn: _ Для подключения к серверу LDAP требуется пользователь сервера LDAP для процесса аутентификации пользователя. Это свойство относится к DN страны. т.е. это не пользователь, который будет аутентифицирован при просмотре в DHIS2, а пользователь, который будет подключаться к серверу LDAP для аутентификации.

ldap.manager.password: Пароль для пользователя диспетчера LDAP.

ldap.search.base: База поиска или расширяемое имя объекта базы поиска, определяющее расположение в каталоге, из которого следует начать поиск LDAP.

_ldap.search.filter: _ Фильтр для сравнения записей DN в адресе LDAP. Переменная <0> будет заменена именем пользователя DHIS2 или альтернативным идентификатором LDAP, определенным для пользователя с предоставленным именем пользователя.

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

Во время аутентификации DHIS2 попытается подключиться к серверу LDAP, используя настроенный URL-адрес сервера LDAP, а также DN и пароль сервера. После завершения привязки отсканируйте элемент vПоиск адресов выполняется LDAP с использованием настроенной страницы и фильтра.

Переменная <0> в настроенном фильтре будет заменена перед использованием фильтра. В настройках по умолчанию оно будет заменено указанным именем пользователя. Вы также можете установить свой собственный идентификатор LDAP для поддерживаемой учетной записи пользователя DHIS2. Это можно сделать через пользовательский интерфейс пользовательского модуля DHIS2 на экране передачи или редактирования, установив свойство «Идентификатор LDAP». Если установлено, замените идентификатор LDAP на переменную <0> в фильтре. Эта функция полезна, когда имя LDAP не подходит или по какой-то причине не может использоваться в качестве имени пользователя DHIS2.

Конфигурация зашифрована

DHIS2 позволяет шифровать данные. Однако это требует дополнительной настройки. Для обеспечения безопасности алгоритма шифрования вам необходимо установить пароль в файле конфигурации dhis.conf через свойство encryption.password :

Свойство encryption.password — это пароль, используемый при шифровании и расшифровке данных в базе данных. Обратите внимание, что пароль нельзя менять после того, как он был установлен и данные были зашифрованы, так как данные больше не могут быть расшифрованы.

Пароль должен содержать не менее 24 символов . Рекомендуется сочетание цифр и строчных и прописных букв. Пароль шифрования должен храниться в секрете.

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

Не волнуйтеськонфигурация репликации базы данных si

DHIS 2 позволяет использовать реплики основной базы данных (основная база данных DHIS 2) только для чтения. Цель реплик чтения — повысить производительность запросов к базе данных чтения и увеличить емкость за пределами ограниченной области одной базы данных. От этого выиграют операции, рожденные в дочернем элементе, такие как анализ и запросы по событиям.

Конфигурация требует, чтобы вы создали один или несколько реплицированных экземпляров основной базы данных DHIS 2. PostgreSQL достигает этого с помощью концепции, известной как потоковая репликация . В этом руководстве не рассматривается настройка доступных для чтения реплик для PostgreSQL.

Количество реплик можно определить в файле конфигурации dhis.conf . Вы можете указать до 5 реплик чтения для каждого экземпляра DHIS 2. Каждая реплика чтения отмечена числом от 1 до 5. Для каждой реплики должен быть определен URL-адрес соединения JDBC. Имя пользователя и пароль можно ввести; в противном случае будут использоваться имя пользователя и пароль основной базы данных.

Похоже, отсутствует конфигурация для чтения реплик в файле dhis.conf . Каждая реплика указывается префиксом ключа конфигурации readN , где N обозначает номер реплики.

Изменения вступят в силу только после перезапуска контейнера сервлетов. DHIS 2 автоматически распределяет результаты между репликами чтения. Порядок реплик не имеет значения.

Конфигурация кластера веб-серверов

В этом разделе описывается, как настроить приложение DHIS 2 для работы в кластере.

Обзор кластеризации

Кластеризация — это распространенный метод улучшения масштабируемости и доступности системы. Кластеризация относится к настройке нескольких веб-серверов, таких как экземпляры Tomcat, и ихпредоставлен один раз заявка. Кластеризация позволяет локализировать приложение в том смысле, что можно добавлять новые серверы для повышения производительности. Он также обеспечивает высокую доступность , поскольку система может выдерживать сбои, даже если система недоступна для пользователей.

Есть несколько аспектов настройки для запуска DHIS 2 в кластере.

Каждый экземпляр DHIS 2 должен указывать других членов экземпляра кластера DHIS 2 в файле dhis.conf .

Необходимо установить хранилище данных Redis и предоставить информацию о подключении для каждого экземпляра DHIS 2 в dhis.conf .

Экземпляры и серверы DHIS 2 должны совместно использовать одну и ту же папку files , используемую для загрузки приложений и файлов, либо через облачное хранилище файлов AWS S3 , либо просто Устройство было передано устройством.

Балансировщик нагрузки, такой как nginx, должен быть настроен для распределения веб-запросов между экземплярами кластера.

Конфигурация кластера экземпляров DHIS 2

При настройке нескольких экземпляров Tomcat необходимо учитывать друг друга. Это позволяет серверу DHIS 2 поддерживать локальные кэши данных (спящий режим) синхронизированными и в согласованном состоянии. Когда обновление выполняется в одном экземпляре, кэши в других экземплярах должны быть уведомлены, чтобы их можно было признать недействительными и избежать устаревания.

Настройка кластера DHIS 2 основана на ручной настройке каждого экземпляра. Для каждого экземпляра DHIS 2 необходимо ввести общедоступное имя хоста , а также имена хостов других экземпляров, участвующих в кластере.

Имя хоста сервераОпределяется с помощью свойства конфигурации cluster.hostname . Дополнительные серверы, входящие в состав кластера, указываются с помощью свойства конфигурации cluster.members . Свойство expect представляет собой список значений, разделенных запятыми, где каждое значение имеет формат хост:порт .

Для работы кластера имя хоста должно быть видно частным серверам в сети. Возможно, вам потребуется разрешить входящие и исходящие соединения на настроенных портах прослушивания в брандмауэре.

Пароль порта сервера определяется с помощью свойства конфигурации cluster.cache.port . Порт удаленного объекта, используемый для получения выбранного реестра, указывается с помощью cluster.cache.remote.object.port . Указание номера порта обычно полезно только в том случае, если у вас есть несколько экземпляров кластера на одном сервере или если вам нужно явно указать порты в соответствии с конфигурацией вашего брандмауэра. При запуске экземпляра кластера на отдельных серверах часто удобно использовать пароль порта по умолчанию и не указывать свойства конфигурации порта. Если этот параметр не указан, в качестве порта прослушивателя будет назначен 4001, а в качестве порта удаленного объекта будет назначен случайный свободный порт.

Вот пример настройки кластера из двух веб-серверов. Для сервера A , доступного по адресу 193.157.199.131 , в dhis.conf можно указать следующее:

Для сервера B , доступного с именем хоста 193.157.199.132 , в dhis.conf можно указать следующее (обратите внимание, что конфигурация порта опущена):

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

Повторно введите общую конфигурацию кластера данных

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

Для оптимальной производительности необходимо включить события Redis Keyspace для общих команд и событий с истекшим сроком действия на сервере Redis. Если вы используете сервер Redis, управляемый облачной платформой (например, AWS ElastiCache для Redis или Azure Cache для Redis ), вам потребуется включить уведомление о событиях пространства ключей с помощью следующего облачного консольный интерфейс. Если вы настраиваете автономный сервер Redis, включить уведомление о событиях пространства ключей можно в файле redis.conf , добавив или раскомментировав следующую строку:

DHIS2 подключится к Redis, если для свойства конфигурации redis.enabled в dhis.conf установлено значение true вместе со следующими свойствами:

redis.host : указывает, где работает сервер redis. Значение по умолчанию для localhost . Обязательно.

redis.port : указывает порт, который прослушивает сервер redis. Значение по умолчанию: 6379 . Необязательно.

redis.password : указывает пароль аутентификации. Если пароль не требуется, его можно оставить пустым.

redis.use.ssl : определяет, включен ли SSL на сервере Redis. Значение по умолчанию неверно. По желанию. Значение по умолчанию: false .

Когда Redis включен, DHIS2 автоматически выбирает один из бывших экземпляров в качестве лидера кластера. Главный экземпляр будет использоваться для выполнения задач или запланированных задач, которые должны выполняться исключительно одним экземпляром. По желанию вы можетенастройте свойство leader.time.to.live.minutes в dhis.conf и установите, как часто должны происходить выборы лидера. Он также дает представление о том, сколько времени потребуется следующему ученому, чтобы стать ученым после того, как предыдущий ученый был недоступен. Значение по умолчанию — 2 минуты. Кросслинкинг в кластере выполняется только при включенном Redis. Вот пример фрагмента конфигурационного файла dhis.conf с включенным Redis и настроенным временем выборов лидера.

Конфигурация папки с файлами

DHIS 2 будет хранить несколько типов файлов вне самого приложения, таких как приложения, файлы, хранящиеся при вводе данных, и пользовательские аватары. При развертывании в кластере расположение этого файла должно быть общим для всех экземпляров. Он находится в локальной файловой системе:

Здесь DHIS2_HOME относится к расположению файла конфигурации DHIS 2, как указано в переменной среды DHIS 2, а files — это каталог файла прямого доступа.

Для совместного использования местоположения есть два способа:

  • Используйте облачный вариант AWS S3 . Файлы будут храниться в корзине S3, которая автоматически используется многими экземплярами DHIS 2 в кластере. Инструкции см. в разделе Конфигурация хранилища файлов .
  • .

  • Настройте общую папку для всех экземпляров и серверов DHIS 2 в кластере. В Linux это может быть достигнуто с помощью NFS (Network File System), который представляет собой протокол распределенной файловой системы. Обратите внимание, что общим доступом должна быть только вложенная папка с файлами в DHIS2_HOME, а не родительская папка.

Настройка инструмента балансировки нагрузки

С установленным кластеромЭкземпляр Tomcat будет шлюзом для маршрутизации веб-запросов к серверным экземплярам, ​​которые являются частью кластера с помощью балансировщика нагрузки . Балансировщик нагрузки обеспечивает равномерное распределение нагрузки между экземплярами кластера. Он также определяет, становится ли экземпляр недоступным, и в этом случае останавливает обычные запросы к этому экземпляру и вместо этого использует другой доступный экземпляр.

Балансировка нагрузки может быть достигнута несколькими способами. Простой способ сделать это — использовать nginx , и в этом случае вы определяете элемент upstream , который создаст хост-экземпляр серверной части, а затем использует этот элемент в proxy. размещен блок.

DHIS 2 поддерживает состояние сервера на стороне сеанса пользователя в пределах ограниченного диапазона. Использование «липких сессий» — это простой подход к предотвращению репликации состояния сеанса сервера запросами от одного и того же клиента к одному и тому же серверу. Директива ip_hash в вышестоящем элементе гарантирует это.

Для краткости в приведенном выше примере опущено несколько инструкций. Вы можете найти подробное руководство в разделе обратного прокси-сервера.

Конфигурация кеша Analytics

DHIS 2 поддерживает кэширование на стороне сервера для ответов API аналитики, используемых всеми веб-приложениями аналитики. Этот кэш находится в приложении DHIS 2 и поэтому защищен уровнем аутентификации и безопасности DHIS 2. Вы можете настроить срок действия кэшированных элементов в течение нескольких секунд. Чтобы включить кэширование, вы можете определить свойство analytics.cache.expiration в файле dhis.conf. Принимая во внимание, что в приведенном выше примере включено кэширование и установлена ​​недействительностьна один час.

Мониторинг

DHIS 2 может экспортировать метрики, совместимые с Prometheus, для мониторинга экземпляров DHIS2. Инфраструктура мониторинга DHIS2 предназначена для предоставления метрик, связанных со временем выполнения приложений, и другой информации, связанной с приложениями.

Метрики, связанные с инфраструктурой (например, метрики хоста, Tomcat или Postgres), не отображаются напрямую модулями мониторинга приложений и должны собираться отдельно. Показатели открытых в настоящее время приложений:

  • API DHIS 2 (время отклика, количество вызовов и т. д.)
  • JVM (размер кучи, сборка мусора и т. д.)
  • Спящий режим (запросы, кеш и т. д.)
  • Пул базы данных C3P0
  • Время работы приложения
  • ЦП
Читайте также:  Как вернуть параметры экрана на windows 10

Мониторинг можно включить в файле dhis.conf со следующими свойствами (настройка по умолчанию отключена для всех свойств):

Рекомендуемый подход к сбору и визуализации этих показателей — использование Prometheus и Grafana. Дополнительные сведения см. на странице инфраструктуры мониторинга и в главе об установке Prometheus и Grafana.

Конфигурация обратного прокси-сервера

Обратный прокси-сервер — это прокси-сервер, который действует как имя сервера. Использование обратного прокси-сервера в сочетании с контейнером сервлетов необязательно, но имеет много преимуществ:

Запросы могут быть сопоставлены и перенаправлены в контейнер сервлетов. Это повышает гибкость и упрощает запуск нескольких экземпляров DHIS2 на одном сервере. Это также позволяет вам изменять внутренние настройки сервера, не затрагивая клиент.

Приложение DHIS2 можно запустить от имени пользователя без полномочий root на порте, отличном от 80, что уменьшает последствия потери сеанса.

Обратный прокси-сервер может действовать как один SSL-сервер иЕго можно настроить для проверки запросов на наличие вредоносного содержимого, регистрации запросов и ответов и предоставления нечувствительных сообщений об ошибках для повышения безопасности.

Основные настройки nginx

Мы рекомендуем использовать nginx в качестве обратного прокси из-за его низкого потребления памяти и простоты использования. Для установки введите:

nginx теперь можно запускать, перезагружать и останавливать с помощью следующих команд:

Теперь, когда у нас установлен nginx, мы приступим к настройке обычного прокси-сервера запросов на нашем экземпляре Tomcat, который, как мы предполагаем, находится по адресу http://localhost:8080 . Чтобы настроить nginx, вы можете открыть файл конфигурации, набрав:

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

Теперь вы можете получить доступ к экземпляру DHIS2 по адресу http://localhost . Поскольку настроен обратный прокси-сервер, мы можем повысить безопасность, заставив Tomcat прослушивать только локальные подключения. В /conf/server.xml вы можете добавить атрибут address со значением localhost в элемент Connector для HTTP 1.1 следующим образом:

Включен SSL с nginx

Для повышения безопасности рекомендуется настроить сервер, на котором работает DHIS2, для связи с клиентами через зашифрованное соединение и идентификации клиента с помощьюНадежный сертификат. Этого можно добиться с помощью SSL, который представляет собой криптографический протокол связи поверх TCP/IP. Сначала установите необходимую библиотеку openssl :

Чтобы настроить nginx для использования SSL, вам потребуется надлежащий сертификат SSL от поставщика SSL. Цена сертификата сильно варьируется в зависимости от уровня шифрования. Доступный сертификат от Rapid SSL Online подойдет большинству клиентов. Чтобы сгенерировать (сертификат подписи сертификата), вы можете ввести команду ниже. При запросе Общее имя введите полное доменное имя веб-сайта, который вы размещаете.

После того как вы получили файлы сертификатов (.pem или .crt), вам необходимо поместить их вместе с сгенерированным файлом server.key в место, доступное для nginx. Хорошим местом для этого может быть тот же каталог, где находится весь файл nginx.conf.

Это блок сервера nginx, в котором файлы сертификатов называются server.crt и server.key. Поскольку соединение SSL обычно происходит через порт 443 (HTTPS), мы перенаправляем запросы на этот порт (443) экземпляру DHIS2, работающему по адресу http://localhost:8080 . Сначала блокировка сервера будет обходить все запросы на подключение. на порт 80 и принудительно использовать протокол HTTPS/SSL. Это также необходимо, потому что DHIS2 внутри использует множество перенаправлений, которые необходимо передать для использования HTTPS. Не забудьте заменить \ на IP вашего сервера. Эти блоки должны заменить блок из предыдущего раздела.

Обратите внимание на последнее значение заголовка https, которое требуется для информирования контейнера сервлетов о том, что запрос прошел.HTTPS. Чтобы Tomcat правильно генерировал заголовок URL Location с помощью HTTPS, вам также необходимо добавить еще два параметра в Connector в файле Tomcat server.xml:

Включено кэширование с использованием nginx

Ответы на вопросы о просмотре отчетов, графиков, карт и других ресурсов, связанных с анализом, займут некоторое время и могут потребовать много ресурсов сервера. Чтобы улучшить время отклика, сократить время простоя сервера и скрыть потенциальные сбои сервера, мы можем внедрить прокси-кэш на настроенном сервере. Содержимое кеша будет храниться в /var/cache/nginx и будет выделено до 250 МБ места. Nginx автоматически создаст этот адрес.

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

Ограничение скорости с помощью nginx

Некоторые параметры веб-API в DHIS 2, такие как API аналитики, встроены в учетную запись. В результате рекомендуется оценить ограничения этих API, чтобы все пользователи системы могли использовать справедливую долю ресурсов сервера. Ограничение скорости может быть достигнуто с помощью nginx. Есть много шагов для достижения регулирования скорости, и это предназначено для документирования шага на основе nginx.

Если данная конфигурация nginx будет оценивать ограниченную аналитику веб-API и иметь следующие элементы на уровнеблок http и местоположение (конфигурация сокращена для краткости):

Различные элементы конфигурации можно описать следующим образом:

  • limit_req_zone $binary_remote_addr : ограничение скорости будет выполняться для одного IP-адреса.
  • _zone=limit_analytics:20m_: зона ограничения скорости для API аналитики, которая может вместить до 10 МБ IP-адресов запросов.
  • rate=20r/s : каждому IP предоставляется 5 запросов в секунду.
  • местоположение

^/api/(\d+/)?analytics(.*)$: требования к конечной точке Analytics API ограничены.

  • burst=20 : группы до 20 запросов будут поставлены в очередь и обработаны позже; дальнейшие запросы приведут к 503 .
  • Полное объяснение см. в документации по nginx.

    Понизить исходный код с помощью nginx

    В некоторых сценариях удобно понизить статус определенных ресурсов публично в Интернете без необходимости аутентификации. Например, когда вы хотите делегировать ресурсы, связанные с анализом данных, в интерфейсе веб-API, доступном на веб-портале. В следующем примере разрешается доступ к графикам, картам, отчетам, таблицам отчетов и ресурсам документов посредством базовой проверки подлинности, встроенной в HTTP-заголовки Авторизация в запросе. Удалите заголовок Cookie из запроса и заголовок Set-Cookie из ответа, чтобы предотвратить изменение текущего вошедшего в систему пользователя. Для этой цели рекомендуется создать пользователя только с минимально необходимой аутентификацией. Значение авторизации может быть создано кодировкой Base64 имени пользователя, за которым следует двоеточие и пароль, а также префикс «Basic», точнее «Basic base64_encode(username:password)». Проверяет метод HTTPиспользуется для запросов и возвращает 405 Method Not Allowed , если обнаружено что-либо, кроме GET.

    При использовании этой процедуры может быть целесообразно настроить отдельный домен для этих общедоступных пользователей. Это связано с тем, что мы не хотим изменять данные для входа для уже вошедших пользователей при доступе к публичным средствам. Например, если ваш сервер развернут по адресу somedomain.com, вы можете установить выделенный субдомен по адресу api.somedomain.com и направлять URL-адреса с вашего портала на этот субдомен.

    Ссылка на конфигурацию DHIS2

    Следующий текст описывает полный набор опций конфигурации для файла конфигурации dhis.conf . Файл конфигурации должен находиться в каталоге, на который ссылается переменная среды DHIS2_HOME .

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

    Журнал приложений

    В этом разделе описывается ведение журнала приложений в DHIS 2.

    файлы протоколов

    Вывод журнала приложения DHIS2 направляется в файл и местоположение. Во-первых, вывод журнала отправляется на стандартный вывод. Контейнер сервлетов Tomcat обычно выводит стандартный вывод в файл в разделе «logs»:

    Во-вторых, выходные данные журнала записываются в каталог «logs» по домашнему адресу DHIS2, определенному в переменной среды DHIS2_HOME. Существует основной файл журнала для всех выходных данных и отдельные файлы журнала для различных фоновых процессов. Основной файл также содержит журналы фоновых процессов. Файлы журнала ограничены 50 МБ, а содержимое журнала prЕЇbД›ЕѕnД›добавлено.

    Конфигурация протокола

    Чтобы переопределить конфигурацию журнала по умолчанию, вы можете указать системное свойство Java с именем log4j.configuration и значением, указывающим на файл конфигурации Log4j в пути к классам. Если вы хотите указать на файл в файловой системе (т. е. вне Tomcat), вы можете использовать, например, префикс file . вот так:

    Системные свойства Java могут быть установлены на через переменную среды JAVA_OPTS или в запущенном скрипте tomcat.

    Второй подход к перезаписи конфигурации журнала заключается в указании свойства ведения журнала в файле конфигурации dhis.conf . Поддерживаемые свойства:

    DHIS2 в конечном итоге потребует ведения журнала в стандартном выходе / catalina.out, поэтому рекомендуется полагаться на журналы в DHIS2_HOME.

    Работа с базой данных PostgreSQL

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

    Первый аргумент (dhis2) относится к имени базы данных. Второй аргумент (dhis) относится к пользователю базы данных. Последний аргумент (dhis2.sql) — это имя файла копии. Если вы хотите немедленно сжать копию файла, вы можете сделать следующее:

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

    Обновить

    Обновление или обновление обновить

    Когда мы говорим об обновлении DHIS2, мы обычно имеем в виду просто «обновление до более новой версии». Существует разрыв между обновлением и обновлением .Удалить раздел

    Обновление : переход на новую базовую версию DHIS2 (например, с 2.34 на 2.36). Обновление обычно требует планирования, тестирования, обучения (для новых функций или интерфейсов), что может занять много времени и усилий.

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

    Вы не можете начать

    Важно отметить, что после обновления вы не сможете использовать обновленную базу данных с более старой версией DHIS2. Это означает, что невозможно перейти на более раннюю версию .

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

    Выполнение обновления

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

    1 Защитите свои данные

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

    Это означает выполнение стандартных задач обслуживания системы, таких как:

    1. Резервное копирование базы данных
    2. Протестировано в среде разработки
    3. Запланированное время простоя (во избежание перегрузки данных во время обновления)
    4. и т.д.

    2 Обновите программное обеспечение

    Начиная с версии 2.29 или выше

    Если вы начинаете с версии 2.29 или ниже, сначала необходимо выполнить обновление доверсию 2.30 версию за версией вручную, в соответствии с примечаниями по обновлению, которые можно найти под определенными номерами версий на нашем веб-сайте. При использовании версии 2.30 вы можете перейти к следующему разделу.

    Начиная с версии 2.30 или выше

    Если вы начинаете как минимум с версии 2.30:

    1. Пожалуйста, прочтите все примечания по обновлению вашей текущей версии до целевой версии, опубликованной на нашем веб-сайте. Убедитесь, что ваша среда соответствует всем требованиям
    2. Если вы не сделали этого на шаге 1, создайте копию базы данных
    3. Удалить все материализованные представления SQL из базы данных
    4. Остановить сервер
    5. Загрузить военный файл с целевой версией (не нужно обновляться до промежуточных версий, на самом деле не рекомендуется)
    6. Запустить сервер

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

    Мониторинг

    Руководство

    DHIS2 может экспортировать метрики, совместимые с Prometheus, для мониторинга узлов DHIS2.

    В этом разделе описываются шаги, необходимые для установки Prometheus и Grafana с использованием стандартной процедуры установки ( apt-get ) и Docker, а также для настройки Grafana для отображения показателей DHIS2.

    См. руководство по мониторингу на GitHub для получения списка метрик, предоставляемых экземплярами DHIS2.

    Установить

    В следующих разделах описано, как настроить Prometheus и Grafana, а также как настроить Prometheus для загрузки данных из одного или нескольких экземпляров DHIS2.

    Установка Prometheus + Grafana на Ubuntu и Debian

    Загрузите Prometheus с официальной страницы загрузки.

    Не забудьте отфильтровать операционную систему и архитектуру процессора (Linux и amd64).

    Убедитесь, что вы выбрали последнюю стабильную версию, а не «rc»,потому что в настоящее время он не считается достаточно стабильным.

    Скачать архив, нажав на ссылку или используя wget.

    В архиве много важных файлов, но вот основные, которые вам нужно знать.

    • prometheus.yml: файл конфигурации для Prometheus. Это файл, который вы собираетесь редактировать, чтобы настроить свой сервер Prometheus, например, чтобы изменить интервал очистки или настроить собственные оповещения;
    • prometheus: двоичный файл для сервера Prometheus. Это команда, которую вы собираетесь запустить, чтобы запустить экземпляр Prometheus на вашем компьютере с Linux;
    • promtool : это команда, которую вы можете запустить для проверки конфигурации Prometheus.

    Настройка Prometheus как службы

    • Создайте пользователя Prometheus с группой Prometheus.
    • Переместите двоичные файлы Prometheus в локальный каталог bin
    • Создайте папку в /etc для Prometheus и переместите файлы консоли, библиотеки консоли и файл конфигурации prometheus в эту только что созданную папку.

    Создайте папку данных в корневом каталоге с папкой prometheus uvnit™.

    Создайте сервис Prometheus

    Чтобы создать службу Prometheus systemd , перейдите в /lib/systemd/system и создайте новый файл systemd с именем prometheus.service .

    • Отредактируйте только что созданный файл и вставьте в него следующее содержимое:
    • Сохраните файл и включите службу Prometheus при запуске
    • Проверить, запущена ли служба
    • Теперь должна быть возможность получить доступ к пользовательскому интерфейсу Prometheus, открывhttp://локальный:9090 .

    Набор обратного прокси-сервера Nginx

    Prometheus изначально не поддерживает аутентификацию или шифрование TLS. Если Prometheus должен быть открыт за пределами локальной сети, важно включить аутентификацию и шифрование TLS. Следующие шаги показывают, как использовать Nginx в качестве обратного прокси-сервера.

    • Установите Nginx, если он еще не установлен

    По умолчанию Nginx начинает прослушивать HTTP-запросы на HTTP-порте по умолчанию, который равен 80.

    Если на вашем компьютере уже есть экземпляр Nginx и вы не уверены, какой порт он прослушивает, выполните следующую команду:

    В последнем столбце указан порт, используемый Nginx ( http -> 80 ).

    По умолчанию конфигурация Nginx находится в /etc/nginx/nginx.conf

    Убедитесь, что файл nginx.conf содержит раздел Virtual Host Config

    .

    • Создайте новый файл в /etc/nginx/conf.d с именем prometheus.conf
    • Отредактируйте только что созданный файл и вставьте в него следующее содержимое:
    • Перезапустите Nginx и перейдите по адресу http://localhost:1234
    • Настройте Prometheus для обратного прокси, справа /lib/systemd/system/prometheus.service и добавьте следующий аргумент в список аргументов, передаваемых исполняемому файлу Prometheus
    Читайте также:  Как форматировать флешку перед установкой windows 10

    Включить проверку подлинности обратного прокси-сервера

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

    • Убедитесь, что в вашей системе установлен htpasswd

    Выберите надежный пароль и проверьте, был ли он отправленфайл создан правильно.

    • Отредактируйте ранее созданный файл конфигурации Nginx ( /etc/nginx/conf.d/prometheus.conf ) и добавьте информацию для аутентификации.
    • http://localhost:1234 теперь должен запрашивать имя пользователя и пароль.

    Установка Grafana на Ubuntu и Debian

    • Передайте ключ gpg и установите пакет Grafana OSS из репозитория APT
    • Если в системе используется программа systemd, новый сервис grafana будет создан автоматически. Проверьте файл systemd для обзора установки Grafany
    • .

    Этот файл весьма полезен, так как содержит информацию о недавно установленном экземпляре Grafana.

    Двоичный файл сервера Grafana находится в /usr/sbin/grafana-server . Файл, определяющий все промежуточные , находится в /etc/default/grafana-server Файл конфигурации передается через промежуточный файл CONF_FILE. PID файла также определяется переменной среды PID_FILE_DIR. Пути log , data **, **plugin и start задаются переменными среды.

    • Перейдите в веб-консоль Grafana: http://localhost:3000

    Именем для входа в Grafana по умолчанию является admin, а паролем по умолчанию также является admin. При первом входе вам будет предложено изменить пароль.

    • Настройте Prometheus в качестве источника данных Grafana

    Для доступа к панели источника данных щелкните Конфигурация > Источники данных в левом меню.

    Нажмите Добавить источник данных

    В следующем окне выберите источник данных Prometheus.

    Настройте источник данных в соответствии с настройками Prometheus (используйте аутентификацию, TSL и т. д.)

    УстановкаPrometheus + Grafana с использованием Docker

    В этом разделе описывается, как запустить стек Prometheus, содержащий Prometheus и Grafana.

    Запустите папку Prometheus, используя:

    Эта команда может привести к следующей ошибке:

    Этот узел не является менеджером роя. Используйте «docker swarm init» или «docker swarm join», чтобы присоединить этот узел к рою, и повторите попытку

    Если это произойдет, вы должны запустить Swarm. Вы можете использовать следующую командную строку:

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

    Стек также включает средство экспорта узлов для мониторинга Docker. Если вас не интересует мониторинг Docker, вы можете закомментировать поддерживаемые разделы в файле docker-stack.yml:

    Папка Prometheus остановлена:

    Файл конфигурации Prometheus ( prometheus.yml ) находится в папке prometheus.

    • Перейдите в веб-консоль Grafana по адресу: http://localhost:3000 с именем пользователя: admin и паролем: foobar

    Настройте Prometheus для получения метрик из одного или нескольких экземпляров DHIS2

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

    .

    Файл конфигурации Prometheus написан на языке YAML, что строго запрещает использование вкладок. Если файл отформатирован неправильно, Prometheus не запустится. Будьте осторожны с этими исправлениями.

    Файл конфигурации Prometheus разделен на три части: глобальные, файлы правил и файлы scrape_configs.

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

    Блок rule_files содержит информацию о расположении всех правил, которые мы хотим загрузить на сервер Prometheus.

    Последний блок файла конфигурации называется scape_configs и содержит информацию о том, какие ресурсы отслеживает Prometheus.

    Простой файл мониторинга DHIS2 Prometheus выглядит следующим образом:

    Глобальный интервал очистки установлен на 15 секунд, что достаточно для большинства случаев использования.

    В разделе scrape_configs мы определили экспортер DHIS2. Блоки basic_auth содержат учетные данные, необходимые для доступа к API метрик: рассмотрите возможность создания специального пользователя только для доступа к конечной точке метрик.

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

    Настройте экспортер DHIS2

    Подсистема мониторинга отключена по умолчанию в DHIS2.

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

    Аудит

    Руководство

    DHIS2 поддерживает новую службу аудита на основе Apache ActiveMQ Artemis. Artemis используется в качестве асинхронной системы отчетности DHIS2.

    После того, как объект будет сохранен в базе данных, отчет об аудите будет отправлен в службу поддержки клиентов Artemis. Затем отчет будет обработан в другом потоке.

    Протоколы аудита можно найти вБаза данных DHIS2. В настоящее время нет доступного пользовательского интерфейса или конечной точки API для получения журнала аудита.

    Одна таблица аудита

    Все элементы аудита будут храниться в одной таблице с именем аудит

    Столбец Тип
    auditid full
    тип аудита текст ЧИТАТЬ, СОЗДАТЬ, ОБНОВИТЬ, УДАЛИТЬ, ПОИСК
    область аудита текст МЕТАДАТА, АГРЕГАТ, ТРЕКЕР
    класс текст Java-имя объекта аудита
    attributes jsonb Перечислитель Json хранит атрибуты объекта аудита, используемые для поиска. Пример:
    данные bytea Сжатый объект аудита Е™etД›cec Json. В настоящее время он имеет формат байтового массива и не читается человеком.
    создано в Временная метка без часового пояса
    создано текст
    uid текст
    код текст

    В новой службе аудита используются две новые концепции: области аудита и тип аудита.

    Область аудита

    Область аудита — это логическая область приложения, которую можно проверить. В настоящее время существует три области аудита:

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

    Все объекты «метаданные» проверяются на наличие области метаданных.

    Для агрегированной области проверяются объекты агрегированных значений данных.

    Тип аудита

    Тип аудита — это действие, запускающее операцию аудита. В настоящее время мы поддерживаем следующие типы:

    Можно привести пример, когдаСоздает новый экземпляр отслеживаемого объекта и, если он настроен соответствующим образом, использует действие CREATE для вставки новой записи аудита в таблицу аудита базы данных.

    Примечание. Тип аудита READ создает много данных в базе данных и может повлиять на производительность.

    Установить

    Система аудита автоматически настраивается для аудита следующих областей и типов:

    СОЗДАТЬ, ОБНОВИТЬ, УДАЛИТЬ

    МЕТАДАТА, ТРЕКЕР, АГРЕГАТ

    Для активации аудита не требуется никаких действий. Аудит по-прежнему можно настроить с помощью «матрицы аудита». Матрица аудита определяется 3-мя свойствами в dhis.conf:

    Каждое свойство принимает список допустимых типов аудита, разделенных запятыми:

    Например, чтобы иметь возможность проверять только созданные и удаленные объекты, связанные с Trasova, в dhis.conf необходимо добавить следующее свойство:

    Если вы хотите полностью отключить аудит, используйте следующую конфигурацию:

    Использование коммуникационных шлюзов для мониторинга SMS

    DHIS2 поддерживает получение данных через SMS, но для защиты информации SMS должны быть зашифрованы. Приложение DHIS2 для Android работает как прозрачный слой для отправки информации через SMS, где пользователю не нужно беспокоиться о написании SMS. Для отправки SMS с помощью Android-приложения необходимо правильно настроить SMS-шлюз. В этом разделе объясняются различные доступные параметры и способы их достижения.

    Отправлено SMS

    Важно сначала уточнить, что эта часть в основном настроена на получение SMS (с мобильных устройств на сервер DHIS2), что необходимо при рассмотрении возможности использования приложения для отправки (синхронизации) информации, записанной в приложениена сервер DHIS2 через SMS. Это можно настроить в приложении в разделе Настройки > Настройки SMS

    Отправку SMS, т. е. с сервера DHIS2 на мобильное устройство, настроить относительно просто. Если требуется только отправка уведомлений на телефоны пользователей из DHIS2 при возникновении определенных событий (отправленные отчеты, пороговые значения и т. д.), требуется только SMS.

    Все это можно настроить на странице «Конфигурация службы SMS» в разделе «Конфигурация мобильного устройства».

    Поддержка популярных провайдеров, таких как Bulk SMS и Clickatell , является стандартной, и оба провайдера поддерживают отправку SMS на адреса в большинстве стран.

    Также можно использовать другой SMS-шлюз для отправки и получения SMS. Таким образом, даже если вы настроите свои предпочтительные настройки получения SMS ниже, вы все равно можете использовать одну из перечисленных настроек отправки SMS.

    Использование устройства Android в качестве SMS-шлюза

    Самый простой вариант — использовать выделенное устройство Android в качестве SMS-шлюза. Подойдет любой телефон или планшет с ОС Android (4.4, Kitkat или новее). Для пересылки сообщений на сервер DHIS2 по-прежнему потребуется подключение к Интернету, а также потребуется SIM-карта для получения входящих SMS.

    Вам необходимо загрузить и установить приложение DHIS2 Android SMS Gateway на свое мобильное устройство. Проверьте список выпусков, чтобы загрузить последний APK-файл для установки. На самой странице приложения есть инструкции, но в основном просто запустите приложение и введите данные своего сервера DHIS2 (URL, имя пользователя ипароль).

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

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

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

    Отправка SMS с помощью шлюза Android

    Этот параметр в настоящее время не поддерживается и не задокументирован.

    Зарезервированный шлюз SMS

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

    Эти пользователи могут использовать длинный пароль или короткий код . Длинный код — это стандартный код мобильного телефона, который используется большинством частных лиц, т. е. +61 400123123. Короткий код — это просто короткий код, например 311. Настройка и обслуживание коротких кодов — это обычно 3 кода.

    Обеспечить правильное форматирование входящих SMS насервер DHIS2

    При отправке входящих SMS-сообщений на сервер DHIS2 через API используйте следующий URL-адрес: https:// /api/sms/inbound

    В DHIS2 версии 2.34 и ниже этой конечной точке требуются SMS-сообщения в особом формате, т. е. само сообщение должно быть параметром с именем text, номер телефона отправителя должен быть параметром с именем originator.

    При использовании всех перечисленных ниже параметров SMS-шлюза, когда вы настраиваете их для перенаправления SMS-трафика на другую веб-службу, каждый из них будет иметь собственный формат, отличный от ожидаемого2 в интерфейсе API DHIS. По этой причине необходимо переформатировать их перед отправкой на сервер DHIS2.

    Одним из вариантов является запуск собственной очень простой веб-службы, которая просто получает входящие SMS от провайдера шлюза, преобразует их в требуемый DHIS2 и перенаправляет на ваш DHIS2 API. Разработчик программного обеспечения должен был бы написать такую ​​услугу.

    В DHIS2 версии 2.35 планируется поддерживать эти случаи с помощью системы шаблонов для SMS-трафика, чтобы вы могли указать формат сообщений, которые будут отправляться от вашего провайдера. Таким образом, вы можете настроить сервер DHIS2 для приема сквозных SMS-сообщений от любого другого провайдера шлюза SMS, и они смогут напрямую отправлять сквозные SMS-сообщения в API DHIS2 без необходимости в такой службе веб-форматирования.

    Использовать RapidPro

    RapidPro — это служба, предоставляемая ЮНИСЕФ более чем в 50 странах мира. Это набор программного обеспечения, которое работает с местными телефонными операторами и позволяет организациям разрабатывать индивидуальные SMS-сообщения.для своих проектов, таких как SMS-сообщения или информационные кампании.

    Услуга RapidPro будет включать SMPP-подключение к одному или нескольким телефонным операторам в стране, обычно с использованием сокращенного кода, потенциально предназначенного для работы в области здравоохранения для неправительственных организаций. Затем можно добавить веб-перехватчик, чтобы SMS-сообщения перенаправлялись на другую веб-службу, такую ​​как веб-служба форматирования, описанная выше. Если короткий номер используется и для других устройств, возможно, потребуется добавить телефонные номера ваших сообщающих устройств в отдельную группу, чтобы на вебхук передавались только SMS-сообщения с этих устройств.

    В настоящее время RapidPro запущен и работает примерно в половине стран, которые в настоящее время используют или тестируют DHIS2. Прежде чем принять одну из следующих мер, которые могут потребовать как финансовых, так и временных затрат, стоит связаться с ЮНИСЕФ, чтобы узнать, доступен ли RapidPro и может ли он использоваться для мониторинга состояния здоровья в вашей стране.

    Использование коммерческих провайдеров SMS-шлюзов

    Из-за изменения поставщика коммерческого SMS-шлюза в разделе «Отправленные SMS» они обычно могут отправлять SMS в большинстве стран, но могут поддерживать только получение SMS на ограниченное количество m. стран. Большинство стран, поддерживающих прием SMS, не используют DHIS2. Часть стран, использующих DHIS2, уже охвачена службой RapidPro, работающей в стране.

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

    Использование телефонных операторов

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

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

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

    Я могу читать женские и мужские SMS

    При синхронизации данных через SMS с приложением DHIS2 для Android оно использует сжатый формат, чтобы использовать как можно меньше пробелов (текстовых символов). Несмотря на это, часто случается, что сообщение превышает лимит в 160 символов одной стандартной СМС. На большинстве современных мобильных устройств эти сообщения по-прежнему будут отправляться как одно прочитанное или несколько SMS и приниматься как одно сообщение. При отправке между двумя мобильными устройствами, когда устройство Android используется в качестве шлюза, это должно обрабатываться без проблем.

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

    Советы
    Adblock
    detector