Привет товарищи! Ни у кого не вываливалось подобное сообщение в Кибане (1 of 21 shards failed)? Оно возникает когда включаю визуализацию 3х таблиц с логами nginx с выборкой за +-3 часа (не только с ним проблема) и когда загружается большой объем данных (на самом деле не такой большой) . Если делать выборку за 15 минут, то все работает нормально. Пробовал уже гуглить проблему, но у других была совсем другая проблема.
Такое ощущение, что кластер эластика просто не справляется с нагрузкой.
Если у кого-нибудь было что то подобное, подскажите как решить..
Спасибо!
Версия стэка 7.1.0 (jvm 12.0.1)
В кластере 4 ноды. В логах эластика ничего интересного нет кроме старых ворнингов, которые там лежат с момента последнего перезапуска.
На визулизациях есть ... в правом верхнем углу. Надо на них нажать, переключиться в "Inspect", поменять "View: Data" на "View: Requests", потом на закладку "Response".
{
"took": 14329,
"timed_out": false,
"_shards": {
"total": 21,
"successful": 17,
"skipped": 0,
"failed": 4,
"failures": [
{
"shard": 0,
"index": "logfiles-2021.06.10-000382",
"node": "JwiLljduSh29Ewylchi_OA",
"reason": {
"type": "too_many_buckets_exception",
"reason": "Trying to create too many buckets. Must be less than or equal to: [10000] but was [10001]. This limit can be set by changing the [search.max_buckets] cluster level setting.",
"max_buckets": 10000
}
},
UPD Кажется понял куда смотреть попробую найти место, где нужно поменять значение "max_buckets"
Расширил лимиты (max_buckets: "99999999")
Возникли новые сообщения и тут я задумался. Не будет ли опасно, если я сейчас все эти лимиты расширю и может быть данные действительно большие исходя из "лога"? Что вы сможете порекомендовать мне в данном случае?
{
"took": 10317,
"timed_out": false,
"_shards": {
"total": 21,
"successful": 18,
"skipped": 0,
"failed": 3,
"failures": [
{
"shard": 0,
"index": "logfiles-2021.06.14-000386",
"node": "l-lT1JOcTFuyTjBu-JwsKA",
"reason": {
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [<reused_arrays>] would be [5035054240/4.6gb], which is larger than the limit of [5034029875/4.6gb], real usage: [5035054168/4.6gb], new bytes reserved: [72/72b]",
"bytes_wanted": 5035054240,
"bytes_limit": 5034029875,
"durability": "TRANSIENT"
}
},
{
"shard": 0,
"index": "logfiles-2021.06.15-000387",
"node": "IKiHiGakQTC56cgIV6Jlsw",
"reason": {
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [<reused_arrays>] would be [5034959704/4.6gb], which is larger than the limit of [5034029875/4.6gb], real usage: [5034959632/4.6gb], new bytes reserved: [72/72b]",
"bytes_wanted": 5034959704,
"bytes_limit": 5034029875,
"durability": "PERMANENT"
}
},
{
"shard": 0,
"index": "logfiles-2021.06.22-000394",
"node": "uFcIxSADQ72BxfmvoJQzQg",
"reason": {
"type": "too_many_buckets_exception",
"reason": "Trying to create too many buckets. Must be less than or equal to: [10000] but was [10001]. This limit can be set by changing the [search.max_buckets] cluster level setting.",
"max_buckets": 10000
}
}
]
},
Если в визуализациях посмотреть на X-Axis, то там, скорее всего, будет Date Histogram стоять. Посмотрите в поле "Minimum interval" если там секунды стоят, то переставьте на auto. Вы, похоже, слишком много результатов запрашиваете.
Не лимиты надо менять, а интервалы. Если у вас они в секундах - это пустая трата ресурсов. В 3-х часах 10,800 секунд, если у вас гистограмма с шагом в секунду - вы получаете информацию для 10,000+ точек. У вас экране только максимум половину от этих точек может показать - и то если у вас 5К дисплей и вы этот график смотрите в полный экран. В реальности среднее разрешение экрана сейчас не больше 2000 точек и обычно размешают 2 графика на экран, то есть вы 9 из 10 полученных результатов просто выбрасываете, так как отразить их не можете,
Сама Кибана иногда виснет при отображении дашборда. Пишет следующее:
{"statusCode":429,"error":"Too Many Requests","message":"[circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be [5035760144/4.6gb], which is larger than the limit of [5034029875/4.6gb], real usage: [5035760144/4.6gb], new bytes reserved: [0/0b], with { bytes_wanted=5035760144 & bytes_limit=5034029875 & durability=\"PERMANENT\" }"}
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.