Установка и настройка диаграмм
Предварительные требования
- архив с файлами модуля
smartMonitorDrawioдля OpenSearch Dashboards - доступ в Интернет
Процесс установки модуля Smart Monitor
Установка на серверы Smart Monitor Dashboards выполняется следующей командой:
sudo -u opensearch /app/opensearch-dashboards/bin/opensearch-dashboards-plugin install file://<путь до архива модуля>
После установки модуля требуется выполнить действия, перечисленные в статье Управление плагинами.
Процесс установки draw.io
Для использования Диаграмм необходимо установить и подключить веб-приложение draw.io.
В рамках данной статьи приводится пример развертывания через Tomcat.
Установка Java и Tomcat
Для использования Tomcat необходимо предварительно установить Java, после чего установить и запустить Tomcat:
sudo apt update
sudo apt install -y openjdk-17-jre tomcat10
sudo apt install tomcat10
systemctl enable tomcat10
systemctl start tomcat10
По умолчанию Tomcat использует порт 8080. При необходимости порт можно изменить в конфигурационном файле сервера server.xml:
/etc/tomcat10/server.xml
Установка draw.io
Для установки draw.io выполните следующие действия:
- Загрузите веб-архив приложения (WAR-файл) любым удобным способом
- Разместите загруженный WAR-файл в директорию деплоя Tomcat (например,
/var/lib/tomcat10/webapps/)
sudo cd /<удобная директория>
sudo wget https://github.com/jgraph/drawio/releases/latest/download/draw.war
sudo mv ./draw.war ./drawio.war
sudo cp ./drawio.war /var/lib/tomcat10/webapps/
После этого Tomcat автоматически развернет приложение. Оно станет доступно по адресу: http://<ip-адрес хоста>:8080/drawio
Настройка HTTPS
Для корректной работы диаграмм draw.io должен быть доступен по безопасному соединению (HTTPS). Для этого необходимо настроить SSL-сертификат.
В данной статье приведена настройка на основе самоподписанных сертификатов Smart Monitor.
Порядок настройки:
- Сгенерирвать ключ и CSR:
sudo cd /<удобная директория>
sudo openssl genrsa -out drawio.key 2048
sudo openssl req -new -key drawio.key -out drawio.csr -subj "/CN=<любое доменное имя>"
- Настроить файл SAN:
sudo cat > san.cnf <<'EOF'
subjectAltName = DNS:<доменное имя>,IP:<ip-адрес-хоста>
extendedKeyUsage = serverAuth
keyUsage = digitalSignature, keyEncipherment
EOF
- Подписать сертификат удостоверяющим центром (CA):
sudo openssl x509 -req -in drawio.csr -CA /<путь до ca>/ca-cert.pem -CAkey /<путь до ca>/ca-key.pem -CAcreateserial -out drawio.crt -days 825 -sha256 -extfile san.cnf
- Настроить Keystore (PKCS12) для Tomcat:
sudo openssl pkcs12 -export -in drawio.crt -inkey drawio.key -certfile /<путь до ca>/ca-cert.pem -out drawio.p12 -name tomcat -passout pass:<любой пароль для keystore>
- Настрооить Tomcat на использование созданного keystore:
sudo mkdir -p /etc/tomcat10/ssl
sudo cp drawio.p12 /etc/tomcat10/ssl/drawio.p12
sudo chown tomcat:tomcat /etc/tomcat10/ssl/drawio.p12
sudo chmod 600 /etc/tomcat10/ssl/drawio.p12
Включение HTTPS в Tomcat
Для подключения HTTPS в Tomcat измените параметр <Connector> в файле конфигурации сервера /etc/tomcat10/server.xml внутри тега <Service>:
<Connector port="<любой удобный порт>"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
maxThreads="200">
<SSLHostConfig>
<Certificate
certificateKeystoreFile="/etc/tomcat10/ssl/drawio.p12"
certificateKeystorePassword="<пароль от keystore>"
certificateKeystoreType="PKCS12"/>
</SSLHostConfig>
</Connector>
После изменения конфигурации перезапустить Tomcat:
systemctl restart tomcat10
При успешной настройке доступ к draw.io откроется по адресу: https://<ip-адрес хоста|заданное доменное имя>:<заданный в Connector-е порт>/drawio.
При использовании самоподписанного сертификата (как в примере выше) перед началом работы необходимо один раз перейти по прямому адресу draw.io в браузере и подтвердить доверие к сертификату.
Подключение draw.io к Smart Monitor Dashboards
Для подключения draw.io к Smart Monitor Dashboards добавьте в файл конфигурации /<путь до SMD>/config/opensearch-dashboards.yml параметр:
smart_monitor.drawIoUri: "https://<ip хоста|выбранное доменное имя>:<выбранный порт>"
И перезапустить сервис:
sudo systemctl restart opensearch-dashboards