ES error : Request Timeout after 3000 ms

Bonjour à tous, depuis quelque jours mon serveur ELK en 5.2.2 m'indique une erreur de manière aléatoire sur l'état de ES.

Premièrement l'erreur afficher sur l'interface de Kibana :

Error: Request Timeout after 30000ms ErrorAbstract@https://X.X.X.X:5601/bundles/kibana.bundle.js?v=14723:13:30086 StatusCodeError@https://X.X.X.X:5601/bundles/kibana.bundle.js?v=14723:14:645 Transport.prototype.request/requestTimeoutId<@https://X.X.X.X:5601/bundles/kibana.bundle.js?v=14723:14:8629 Transport.prototype._timeout/id<@https://X.X.X.X:5601/bundles/kibana.bundle.js?v=14723:14:9050

Deuxièmement dans les événements d'ES :

[2017-06-26T14:13:46,607][INFO ][o.e.m.j.JvmGcMonitorService] [debianSELKS] [gc][old][417467][61442] duration [6s], collections [1]/[6.4s], total [6s]/[7.8h], memory [1.8gb]->[1.8gb]/[1.9gb], all_pools {[you

ng] [3kb]->[36.3mb]/[133.1mb]}{[survivor] [0b]->[0b]/[16.6mb]}{[old] [1.8gb]->[1.8gb]/[1.8gb]}

Et troisièmement voici l'état de santé de mon ES :

root@SELKS:/etc/elasticsearch# curl -XGET 'X.X.X.X:9200/_cluster/health?pretty'
{
"cluster_name" : "logging-prod",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 3124,
"active_shards" : 3124,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
Si vous avez des pistes je suis à votre écoute.

3124 shards. 1 noeud...

Well... C'est comme essayer de faire tourner 3214 instances de MySQL sur la même machine physique... A un moment, c'est plus vraiment raisonnable. Même si tu avais 64 Gb de RAM ça serait trop. Et là, tu as 2 gb de RAM?

Réduit la pression.

Supprime les index dont tu n'as plus besoin, limite le nombre de shards à 1 par index, et/ou ajoute plus de ressources (plus de RAM, plus de noeuds).

David

1 Like

C'est quelle commande qui permet de limité le nombre de shards à 1 par index si vous plait. Je comprend mieux les lenteurs.

Vous conseiller combien d'instances par noeud ?

Encore merci pour votre réponse.

PUT twitter
{
    "settings" : {
        "index" : {
            "number_of_shards" : 1
        }
    }
}

Vous conseiller combien d'instances par noeud ?

Ca dépend. Faut tester. Regarde éventuellement cette vidéo Quantitative Cluster Sizing | Elastic

Après, je commencerai avec un shard par processeur disponible sur la machine (règle pifométrique). Ca peut évidemment être plus que ça.

La commande donner permet la création ou la modification d'un index ? Car après exécution de ma commande curl :

curl -XPUT 'X.X.X.X:9200/logstash-2017.06.26/_settings?pretty'  -d'
{
    "index" : {
        "number_of_shards" : 1
    }
}'

L'erreur suivante apparait :

"error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "can't change the number of shards for an index"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "can't change the number of shards for an index"
  },
  "status" : 400
}

Du coup après quelques recherches, je pense qu'il faut crée un nouveau index de cette manière :

curl -XPUT 'X.X.X.X:9200/logstash_new-/_settings?pretty'  -d'
{
    "index" : {
        "number_of_shards" : 1,
        "number_of_replicas" : "0"
    }
}'

Puis je réindex sur le nouveau index de cette manière :

curl -XPOST 'X.X.X.X:9200/_reindex?pretty' -d'
{
  "source": {
    "index": "logstash-*"
  },
  "dest": {
    "index": "logstash_new-*"
  }
}
'

La méthode est-elle bonne ?

Oui.

BTW je reformate ton texte pour que ce soit plus "joli".

Merci pour le formatage. La création d'index c'est bien dérouler, mais pour réindexer j'ai l'erreur suivante:

"index" : "logstash-2017.06.27",
  "shard" : 4,
  "node" : "We9ZucQBSWO2nXebS42Q8g",
  "reason" : {
    "type" : "search_context_missing_exception",
    "reason" : "No search context found for id [622]"

Je ne comprends pas d'où vient mon erreur...

Hum... C'est étrange. Je ne connais pas cette erreur.
Qu'as-tu fait exactement? Dans quel contexte est arrivée cette erreur?
Quels sont les logs complets ou le message d'erreur complet?

C'est la syntaxe de ma commande qui ma crée l'erreur car après avoir ré-exécuter la commande j'ai eu une nouvelle erreur :

curl -XPOST 'X.X.X.X:9200/_reindex?pretty' -d'
{
  "source": {
    "index": "logstash-*"
  },
  "dest": {
    "index": "logstash_new-"
  }
}
{
  "took" : 309102,
  "timed_out" : false,
  "total" : 13217221,
  "updated" : 0,
  "created" : 77999,
  "deleted" : 0,
  "batches" : 78,
  "version_conflicts" : 0,
  "noops" : 0,
  "retries" : {
    "bulk" : 0,
    "search" : 0
  },
  "throttled_millis" : 0,
  "requests_per_second" : -1.0,
  "throttled_until_millis" : 0,
  "failures" : [
    {
      "index" : "logstash_new-",
      "type" : "utm",
      "id" : "AVzTkvN2V72i4515IqMu",
      "cause" : {
        "type" : "process_cluster_event_timeout_exception",
        "reason" : "failed to process cluster event (put-mapping) within 30s"
      },
      "status" : 503
    }
  ]
}

Je pense que tu réindexes (donc tu crées un nouvel index) sur un cluster qui est déjà surchargé. Il n'y arrive pas.
Il faut soit que tu supprimes des vieux index, soit que tu ajoutes des machines elasticsearch et éventuellement diminuer d'abord le nombre de replicas à 0. Ou augmenter la RAM sur ta machine.

J'ai supprimé une bonne partie de mes index logstash, j'ai configuré mes index pour ne pas avoir de réplique pour réaliser l'opération de réindexation. Mais après cette opération, je dois indiquer à ES le nouvel index au travers de la configuration de logstash, dans l'output c'est bien ça ?

Je ne suis pas certain d'avoir compris.

Néanmoins, je pense que tu dois vérifier si il y a un index template qui existe. Peut-être faut-il le modifier ou le supprimer puis juste redémarrer logstash pour qu'il pousse à nouveau le index template (je suppose que c'est ce que tu as modifié).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.