Commit 85b4fe9a authored by Valentin Skripnikov's avatar Valentin Skripnikov

-

parent 128aab6c
......@@ -985,3 +985,388 @@ Kibana предоставляет способы публикации дашбо
.. warning:: Все фильтры применяются только для текущего пользователя и только на время текущего
подключения. Каждый переход к внешнему модулю с диаграммами означает новое подключение
к Kibana, и при этом все ранее сохраненные условия будут сброшены.
Возможные проблемы и способы их решения
---------------------------------------
Status: Red
~~~~~~~~~~~
.. figure:: _static/img/dashboards/ES_status_red.png
Ошибка связана с невозможностью доступа к сервису Easticsearch (ES). При
ее возникновении сначала необходимо проверить статус ES. Для этого в
консоли сервера, на котором запущен ES, выполните команду:
.. code-block:: bash
# /etc/init.d/elasticsearsh status
Результатом выполнения команды должно быть сообщение:
.. code-block:: bash
[ ok ] elasticsearch is running.
Другой способ - проверить статус ES непосредственно:
.. code-block:: bash
# curl localhost:9200
`localhost:9200` - это [адрес ES по умолчанию].
Вывод должен быть таким:
.. code-block:: json
{
"name" : "RFSWkzt",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "r67YbmerQvyNHdxlzDIt3A",
"version" : {
"number" : "5.1.2",
"build_hash" : "c8c4c16",
"build_date" : "2017-01-11T20:18:39.146Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
Если при ошибке **Status: Red** результат выполнения этих команд совпадает
с ожидаемым, это значит, что сервис Elasticsearch запустился, но еще не
успел обработать все данных в индексах. Ошибка может возникать, если в
ES загружен большой объем данных. В этом случае рекомендуется дать ES
время на полную загрузку (до 30 минут).
Если спустя время статус Kibana не изменился, или в результате выполнения
команды `curl` появляется сообщение о невозможности подсоединения
к серверу, значит, необходимо перезапустить ES, выполнив команду::
# etc/init.d/elasticsearsh restart
2. **Русскоязычные данные импортировались в ES как "????"**
> ![](resources/img/integration/dashboards/error_coding.png)
> При возникновении такой проблемы рекомендуется:
> 2.1. Остановить запущенные сервисы, выполнив команды:
>> `# /etc/init.d/arta-synergy-jboss stop`
>> `# /etc/init.d/kibana stop`
>> `# /etc/init.d/elasticsearch stop`
> 2.2. Перейти к настройке локали сервера:
>> `# dpkg-reconfigure locales`
> 2.3. В качестве локали и локали по умолчанию установить локаль
`en_US.UTF-8`.
> 2.4. Запустить Synergy и Elasticsearch:
>> `# /etc/init.d/arta-synergy-jboss start`
>> `# /etc/init.d/elasticsearch start`
> 2.5. Выполнить полную переиндексацию данных форм в административном
приложении Synergy
([Управление индексом форм](../../admin-manual/html/administrative-application_system-management.html#administrative-application_update-form-index)).
> 2.6. Запустить Kibana:
>> `# /etc/init.d/kibana start`
3. **Записи в реестре не отображаются в Synergy, но видны в результатах**
**поиска по реестру и в данных Kibana**
> 3.1. Остановить все сервисы:
>> `# /etc/init.d/arta-synergy-jboss stop`
>> `# /etc/init.d/kibana stop`
>> `# /etc/init.d/elasticsearch stop`
> 3.2. Удалить существующие индексы ES:
>> `rm -r /var/lib/elasticsearch/nodes`
> 3.3. Запустить Synergy и Elasticsearch:
>> `# /etc/init.d/arta-synergy-jboss start`
>> `# /etc/init.d/elasticsearch start`
> 3.4. Выполнить полную переиндексацию данных форм в административном
приложении Synergy
([Управление индексом форм](../../admin-manual/html/administrative-application_system-management.html#administrative-application_update-form-index)).
> 3.5. Запустить Kibana:
>> `# /etc/init.d/kibana start`
4. **При публикации дашбордов/диаграмм пользователи видят слева панель Kibana**
> Диаграмма/дашборд были опубликованы в режиме редактирования. Чтобы
избежать такой проблемы, необходимо в параметры URL-ссылки или HTML-фрейма
добавить параметр `embed=true`. Этот параметр означает, что данные должны
публиковаться в режиме просмотра.
5. **При настроенной ссылке на дашборд/коду вставки HTML диаграммы не отображаются.**
> ![](resources/img/integration/dashboards/error_no_kibana.png)
> Проблема возникает в том случае, если отключена Kibana. Необходимо
проверить ее состояние:
>> - в браузере перейти по адресу `<server.host>:<server.port>`, где
`<server.host>` - адрес сервера, на котором запущена Kibana, а
`<server.port>` - номер порта (по умолчанию используется порт 5601)
>> - для проверки статуса из консоли сервера выполните команду:
>>> `# /etc/init.d/kibana status`
>>> Результатом выполнения должно быть сообщение:
>>> `kibana is running`
> В случае, если Kibana не запущена или вернула ошибку, необходимо
ее перезапустить, выполнив команду:
>> `# /etc/init.d/kibana restart`
6. **Вместо диаграммы отображается сообщение "No results found"**
> ![](resources/img/integration/dashboards/no_results.png)
> Kibana отображает в диаграммах только заполненные исходные данные.
Диаграмма может не отображаться в двух случаях:
>> 6.1. К диаграмме было применено условие, результаты которого не
используются в диаграмме.
>> 6.2. В исходных данных (в формах и реестрах Synergy) нет ни одного
документа, данные из которого должны отобразиться в диаграмме.
> Данное поведение не является ошибкой ни Kibana, ни Synergy, и при
обновлении данных диаграммы отобразятся автоматически.
7. **Диаграмма ссылается на недоступное поле**
> Проблема может возникнуть при импорте диаграмм из внешних источников
(в том числе при установке бизнес-приложений на базе Synergy, использующих
Kibana), и чаще всего связана с отсутствием в шаблоне индекса числового поля
с постфиксом `_double`. Проверить это можно, перейдя к настройке диаграммы:
в агрегациях по отсутствующим полям отображается ошибка.
> Индекс для поля `_double` создается только в том случае, если из содержимого
поля удалось выделить число. То есть если во всех документах поле не заполнено,
то и индекс с типом `double` для него создан не будет.
> Для того, чтобы исправить проблему, нужно хотя бы в одном документе по форме
заполнить числовое поле, на отсутствие которого ссылается Kibana, после чего
необходимо обновить шаблон индекса для диграммы, нажав на кнопку "Обновить"
(раздел **Management** - **Index patterns**).
> Для того, чтобы предотвратить возникновение такой ошибки, рекомендуется для
каждого поля, которое будет использовано в диаграммах Kibana как числовое,
сохранять значение по умолчанию в редакторе форм.
8. **При обновлении данных в Synergy не обновляются соответствующие диаграммы**
> Проблема возникает из-за отсутствия или неправильной настройки периода обновления
данных. Проверить эти настройки можно в Kibana:
>> 8.1. Открыть дашборд, требующий настройки автообновления.
>> 8.2. В панели меню выбрать настройки периода времени:
>> ![](resources/img/integration/dashboards/error_refresh_1.png)
>> 8.3. Выбрать пункт **Auto-refresh**:
>> ![](resources/img/integration/dashboards/error_refresh_2.png)
>> 8.4. Настроить **Refresh Interval** - периодичность обновления данных.
>>> **Примечание:**
>>> Не рекомендуется устанавливать периодичность обновления меньше, чем 30
секунд, поскольку на стороне пользователя может возникнуть проблема фризов
(секундных подергиваний или застываний изображения).
9. **После проведения индексации форм в Kibana отсутствуют данные форм**
> Возможно, не был переключен индексатор данных форм. По умолчанию в Synergy
для индексации данных используется система Lucene. Переключение индексаторов
между Lucene и ES осуществляется в файле
`/opt/synergy/jboss/standalone/configuration/arta/esb/formIndex.xml`.
Необходимо убедиться, что содержимое первого тэга `<handler>`, соответствующее
Lucene, закомментировано, и раскомментировать содержимое тэга после `<elastic>`
(относящееся к ES):
```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<system xmlns="http://www.arta.kz/xml/ns/ai"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.arta.kz/xml/ns/ai http://www.arta.kz/xml/ns/ai/ai.xsd">
<name>synergy</name>
<clusterName>synergy</clusterName>
<host>127.0.0.1</host>
<port>9001</port>
<master>false</master>
<local>false</local>
<seed>false</seed>
<handlers>
<!--handler>
<name>indexForm</name>
<classname>kz.arta.synergy.indexator.forms.IndexFormHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>deleteForm</name>
<classname>kz.arta.synergy.indexator.forms.DeleteIndexFormHandler</classname>
<max-number>10</max-number>
</handler>
<handler>
<name>searchForms</name>
<classname>kz.arta.synergy.indexator.forms.SearchFormHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>searchRegistries</name>
<classname>kz.arta.synergy.indexator.forms.SearchRegistryHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>indexInfo</name>
<classname>kz.arta.synergy.indexator.forms.IndexInfoHandler</classname>
<max-number>1</max-number>
<properties>configuration.path=/opt/synergy/jboss/standalone/configuration/arta/formIndex.xml</properties>
</handler-->
<!--elastic-->
<handler>
<name>indexForm</name>
<classname>kz.arta.synergy.indexator.elastic.ElasticIndexFormHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>deleteForm</name>
<classname>kz.arta.synergy.indexator.elastic.ElasticDeleteIndexFormHandler</classname>
<max-number>10</max-number>
</handler>
<handler>
<name>searchForms</name>
<classname>kz.arta.synergy.indexator.elastic.ElasticSearchFormHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>searchRegistries</name>
<classname>kz.arta.synergy.indexator.elastic.ElasticSearchRegistryHandler</classname>
<max-number>30</max-number>
</handler>
<handler>
<name>indexInfo</name>
<classname>kz.arta.synergy.indexator.elastic.ElasticIndexInfoHandler</classname>
<max-number>1</max-number>
<properties>configuration.path=/opt/synergy/jboss/standalone/configuration/arta/elasticConfiguration.xml</properties>
</handler>
</handlers>
</system>
```
10. **Не запускается Elasticsearch**
> 10.1. Необходимо проверить, что ES действительно не запустился, поскольку
возможна ситуация, что он еще не успел провести первичную обработку
данных (см. пункт 1).
>> Проверка статуса ES может быть осуществлена двумя способами:
>> - в консоли сервера, на котором запущен ES, выполните команду:
>>> `# /etc/init.d/elasticsearsh status`
>> Результатом выполнения команды должно быть сообщение:
>>> `[ ok ] elasticsearch is running.`
>> - проверьте статус ES непосредственно:
>>> `# curl localhost:9200`
>>>>`localhost:9200` - это [адрес ES по умолчанию](#sec.install_elasticserch).
>>> Вывод должен быть таким:
```
{
"name" : "RFSWkzt",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "r67YbmerQvyNHdxlzDIt3A",
"version" : {
"number" : "5.1.2",
"build_hash" : "c8c4c16",
"build_date" : "2017-01-11T20:18:39.146Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
```
> 10.2. Если вывод отличается, проверьте указание переменной `JAVA_HOME` в файле
`/etc/default/elasticsearch`:
```xml
################################
# Elasticsearch
################################
# Elasticsearch home directory
#ES_HOME=/usr/share/elasticsearch
# Elasticsearch Java path
JAVA_HOME=/usr/lib/jvm/java-8-oracle
# Elasticsearch configuration directory
#CONF_DIR=/etc/elasticsearch
# Elasticsearch data directory
#DATA_DIR=/var/lib/elasticsearch
# Elasticsearch logs directory
#LOG_DIR=/var/log/elasticsearch
# Elasticsearch PID directory
#PID_DIR=/var/run/elasticsearch
# Additional Java OPTS
#ES_JAVA_OPTS=
# Configure restart on package upgrade (true, every other setting will lead to not restarting)
#RESTART_ON_UPGRADE=true
```
>> **Примечание:**
>> В качестве `JAVA_HOME` используется полный путь к папке `bin` используемой
версии Java. Строка с переменной должна быть раскомментирована.
> 10.3. Перезапустите ES, выполнив команду:
>> `# etc/init.d/elasticsearsh restart`
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment