Maison  >  Questions et réponses  >  le corps du texte

mongodb分片集群日志的连接定位

如何从mongodb的日志片段“I COMMAND [conn10217]” 中的conn10217定位到是那个mongos连接过来的发起的command请求,能定位到是哪个服务器(ip)上过来的请求。

phpcn_u1582phpcn_u15822749 Il y a quelques jours525

répondre à tous(1)je répondrai

  • 怪我咯

    怪我咯2017-05-02 09:27:04

    1. En regardant le code source de mongodb, il existe un tel code dans l'initialisation du thread client.

    string fullDesc = desc;
    if ( str::equals( "conn" , desc ) && mp != NULL )
        fullDesc = str::stream() << desc << mp->connectionId();

    2. Il ressort du code source que le numéro après conn est l'ID de connexion alloué en interne, et en observant le journal de démarrage de mongodb, on constate que cet ID commence à 1 et augmente de 1 à chaque fois, et les informations sur les homologues sont imprimées dans le journal (ip:port) et le connectionId après #.

    3. En résumé, il vous suffit de filtrer le journal mongodb mongod.log (mon nom de fichier journal ici est : mongod.log) pour localiser quel hôte a envoyé la commande. La commande est la suivante :

    cat mongod.log | grep accept | grep "#10217"

    répondre
    0
  • Annulerrépondre