Я заметил проблемы с запросами, возвращающими 500 ответов при нажатии на пользовательский интерфейс APM на нашем Kibana GUI. Сервер делает запрос
GET /api/apm/ui_filters/local_filters/services?uiFilters=%7B%7D&start=2020-07-07T07%3A08%3A42.818Z&end=2020-07-08T07%3A08%3A42.818Z&filterNames=%5B%22host%22%2C%22agentName%22%5D
Я выполнил запрос в режиме отладки, чтобы получить запрос и запустить его в профилировщике поиска в Kibana. Я запустил это>
{
"size": 0,
"query": {
"bool": {
"filter": [
{
"terms": {
"processor.event": [
"transaction",
"error",
"metric"
]
}
},
{
"range": {
"@timestamp": {
"gte": 1594105722818,
"lte": 1594192122818,
"format": "epoch_millis"
}
}
},
{
"range": {
"observer.version_major": {
"gte": 7
}
}
}
]
}
},
"aggs": {
"host": {
"filter": {
"bool": {
"filter": []
}
},
"aggs": {
"by_terms": {
"terms": {
"field": "host.hostname",
"order": {
"_count": "desc"
}
},
"aggs": {
"bucket_count": {
"cardinality": {
"field": "service.name"
}
}
}
}
}
},
"agentName": {
"filter": {
"bool": {
"filter": []
}
},
"aggs": {
"by_terms": {
"terms": {
"field": "agent.name",
"order": {
"_count": "desc"
}
},
"aggs": {
"bucket_count": {
"cardinality": {
"field": "service.name"
}
}
}
}
}
}
}
}
Когда я запустил его, я снова получил тайм-аут, и мне нужно было сократить временной интервал запроса, но когда «aggs» удалены Я вижу, что запрос действительно быстрый. Основная проблема заключается в индексе транзакций для APM, и в течение 4 часов я получаю время отклика 3 секунды, в то время как без "aggs" у меня время отклика 50 мс для этого индекса. Основная задержка - это «next_do c» и «build_scorer».
Может быть, кто-нибудь даст мне знать, как я могу go включить и устранить эту неполадку, поскольку запрос не может быть изменен, возможно, что-то есть индекс APM или на самих узлах ES.
Кластер ELK работает в docker, и у нас есть 5 узлов (6 ЦП, 30 ГБ ОЗУ - 10 ГБ JVM, 1 ТБ SSD) с узлом координатора, где мы работаем как ну Кибана и сервер APM. Все это развернуто в GCP в той же зоне. Я измерил сетевую задержку, использование ресурсов и скорость ввода-вывода и не смог найти ничего, что могло бы блокировать скорость кластера.
APM загружает данные в течение 24 часов, если я изменяю временной диапазон на первой странице на 1h, а затем выберите услугу и переместитесь туда.