Résolution du problème de plantage du service Python du moteur de recherche Kopano

Commencez par consulter le journal des incidents, et non l'index de recherche. Sur un serveur Kopano Core classique, le moteur de recherche est un kopano-searchservice. Le paquet source Debian décrit cette génération comme un indexeur basé sur des processus et construit avec python-kopano. Il se connecte au serveur kopano-server, gère des index de recherche par magasin et peut, en option, appeler des outils d'analyse de pièces jointes. Consultez le paquet source de Kopano Search . Un module Python manquant, une incompatibilité de socket serveur, un problème d'autorisations ou d'espace disque, ou encore un analyseur de pièces jointes défaillant peuvent chacun provoquer différents symptômes. Redémarrer ou supprimer l'index entier avant d'identifier la panne peut masquer des informations utiles et engendrer du travail supplémentaire.

Ce guide concerne les installations utilisant le kopano-searchdémon classique, y compris les anciennes versions de Kopano Core. La documentation Kopano actuellement disponible pour ce service est versionnée pour Kopano Core 8.0, tandis que les pages de manuel archivées d'Ubuntu couvrent les versions antérieures, telles que la 8.7. Vérifiez votre version de Kopano installée et consultez sa documentation locale avant d'appliquer des commandes spécifiques à une version. Les déploiements Kopano Cloud ou conteneurisés peuvent utiliser des noms de service et des procédures de gestion différents.

Que devez-vous vérifier avant de modifier quoi que ce soit ?

Vous devez disposer d'un accès shell avec les permissions nécessaires pour consulter les journaux et la configuration de Kopano. Avant de modifier la configuration ou les fichiers d'index, notez la version du package et effectuez une sauvegarde de la configuration concernée. Ne copiez pas le chemin d'accès aux index depuis un autre serveur : les chemins par défaut et configurés diffèrent selon les versions du package. Le manuel d'administration de Kopano décrit /etc/kopano/search.cfgles fichiers d'index par boutique, le socket de service et l'analyse des pièces jointes ; il met également en garde contre toute modification des fichiers d'index pendant l'exécution du service. La section « Configuration de la recherche » de Kopano constitue la référence principale pour ces paramètres.

1. Confirmez que kopano-search plante effectivement.

Sur un système utilisant systemd, examinez l'unité et les entrées de journal récentes :

sudo systemctl status kopano-search --no-pager
sudo journalctl -u kopano-search -b -n 100 --no-pager

Recherchez les tentatives de démarrage répétées, un code de sortie, une trace d'exécution Python ou une exception finale spécifique. La dernière ligne d'une trace d'exécution est souvent plus utile que la première, car elle indique l'erreur qui a interrompu le processus. Si votre installation utilise les anciens scripts d'initialisation SysV, consultez sudo service kopano-search statusle fichier journal configuré ou le journal système. Le service peut consigner ses données dans un fichier ou dans syslog, selon la configurationsearch.cfg ; un journal vide ne garantit donc pas l'absence d'erreur.

Terminal affichant l'état de systemctl kopano-search avec un exemple d'état de service défaillant
Vérifiez d'abord l'état du service de recherche Kopano. L'état d'échec dans cet exemple est illustratif ; comparez-le avec la sortie de votre serveur.

Avant de redémarrer, sauvegardez les lignes de journal pertinentes. Si le service s'arrête et que systemd le redémarre, vous voudrez savoir si chaque tentative échoue à la même étape ou si un événement particulier a provoqué le plantage.

2. Vérifiez si le service de recherche peut accéder au serveur Kopano.

Le démon de recherche doit se connecter au socket approprié du serveur Kopano. Vérifiez les deux services et comparez leurs valeurs de socket configurées :

sudo systemctl status kopano-server --no-pager
sudo grep -E '^(server_socket|search_socket|search_enabled)[[:space:]]*='   /etc/kopano/server.cfg /etc/kopano/search.cfg

L'ensemble exact des clés présentes peut varier selon la version. Dans la configuration Core classique, search_enabled = yesla recherche plein texte est activéeserver.cfg ; search_socketle serveur doit se connecter au service de recherche. Ce server_socketdernier pointe vers le serveur Kopano. Une incompatibilité, une connexion manquante ou un serveur arrêté peuvent entraîner des erreurs de connexion similaires à une panne de la recherche. En cas d'indisponibilité de la connexion de recherche, le serveur peut effectuer une recherche directe dans la base de données, mais l'indexation plein texte n'est rétablie que lorsque le service de recherche est de nouveau opérationnel.

Commande du terminal pour afficher les entrées récentes du journal de kopano-search, avec un rappel pour examiner la dernière ligne de la trace d'exécution.
Utilisez le journal de service pour identifier la catégorie de panne. La commande et le rappel sont affichés à titre indicatif ; le résultat dépend de votre configuration de journalisation.

3. Associer les packages Python à la version de Kopano

kopano-searchUtilise les liaisons Python de Kopano et les composants MAPI natifs. Une ImportErrorerreur de type « bibliothèque partagée manquante » ou « erreur de chargement de module » peut survenir après une mise à niveau partielle, une modification du dépôt ou l'installation manuelle d'un paquet Python. Notez les paquets installés et l'interpréteur utilisé par l'exécutable :

dpkg-query -W 'kopano-search' 'python*kopano*' 'python*mapi*' 2>/dev/null
p=$(command -v kopano-search) && head -n 1 "$p"

La seconde commande n'est utile que si kopano-searchle répertoire se trouve dans le chemin d'accès du shell courant. Comparez ces informations avec les instructions d'installation et de gestion des paquets Kopano que vous utilisez. Si le serveur est géré par RPM, des conteneurs ou un dispositif propriétaire, utilisez les outils de gestion de paquets de cette plateforme plutôt que les commandes Debian mentionnées ci-dessus.

Ne réparez pas un serveur Kopano préinstallé en exécutant sudo pip installla commande Python système. Python-MAPI inclut des composants natifs ; les mélanger avec des paquets Python non compatibles peut entraîner des erreurs d'incompatibilité. Restaurez ou réinstallez les paquets Kopano correspondants depuis le même dépôt de confiance, puis redémarrez le service et vérifiez à nouveau le journal. Si la machine a été mise à niveau sur plusieurs versions du système d'exploitation, assurez-vous que le dépôt Kopano prend en charge cette combinaison système d'exploitation/Python avant de tenter une réinstallation de paquet.

4. Vérifier les autorisations, l'espace libre et l'analyse des pièces jointes

Lisez les paramètres configurés pour index_path, log_file, tmp_path, et attachment-parser dans /etc/kopano/search.cfg. Vérifiez que le système de fichiers dispose d'espace libre et que le compte de service a les droits d'écriture prévus par la configuration. Par exemple :

df -h /var/lib/kopano /var/log
sudo namei -l /var/lib/kopano/search

Remplacez le répertoire d'index d'exemple par la valeur correspondant à votre configuration. Les erreurs telles que « permission refusée », « espace insuffisant » ou l'échec de la création d'un fichier temporaire indiquent un problème d'accès au stockage plutôt qu'un plantage général de Python. Restaurez le propriétaire et les permissions d'origine en utilisant les valeurs par défaut documentées de votre serveur ; ne modifiez pas la propriété de manière récursive pour l'ensemble du répertoire /var/lib/kopanosans vérifier quels autres services l'utilisent.

Si la trace d'exécution ou le timing indiquent une extraction de pièce jointe, vérifiez index_attachments = yeset inspectez index_attachment_parserla base de données de l'analyseur syntaxique ainsi que les utilitaires externes qu'il appelle. Le manuel de Kopano explique que le contenu des pièces jointes est converti en texte par un script configuré et que la taille, la mémoire et le processeur des pièces jointes peuvent être limités. À titre de diagnostic, vous pouvez temporairement index_attachments = nodésactiver la recherche dans le contenu des pièces jointes, redémarrer le service et vérifier si le problème persiste. Cette action désactive la recherche dans le contenu des pièces jointes, mais pas l'indexation du corps des messages. Si l'erreur disparaît, réparez l'analyseur syntaxique ou la dépendance concernée avant de réactiver l'indexation des pièces jointes.

L'éditeur Nano affichant le chemin de configuration de la recherche Kopano et l'indexation des pièces jointes désactivée
L'exemple de configuration indique le chemin d'accès à l'index et le paramètre de pièce jointe. Consultez votre manuel d'installation et le fichier actuel avant de modifier ces valeurs.

5. Reconstruisez uniquement l'index du magasin concerné lorsque les journaux indiquent une corruption de l'index.

La réindexation est appropriée lorsque le service démarre correctement mais rencontre des échecs répétés lors de l'ouverture ou de la mise à jour de l'index d'une boutique, ou lorsque les journaux de Kopano indiquent que cet index est endommagé. Elle ne constitue pas la première solution à apporter en cas d'erreur d'importation Python, d'incompatibilité de socket ou de disque plein.

Le manuel d'administration de Kopano recommande de ne pas supprimer kopano-searchle fichier d'index d'un magasin individuel avant de procéder à la suppression. Il décrit également l'existence d'un fichier d'état dans le répertoire d'index ; par conséquent, ne supprimez pas l'intégralité du répertoire ni tous les index utilisateur lors d'une réparation de routine. Commencez par sauvegarder le fichier d'index concerné et vérifiez l'identité et le chemin d'accès de l'utilisateur ou du magasin. Si votre man kopano-searchdocumentation locale décrit l' --reindexoption, privilégiez la syntaxe fournie par le paquet pour la reconstruction d'un magasin ; le format de l'option diffère selon les versions archivées. Le manuel d'Ubuntu Focal, par exemple, documente une option de réindexation ciblée et précise que le démon doit déjà être en cours d'exécution.

Une reconstruction complète peut consommer beaucoup d'espace disque et de ressources processeur, et les résultats de recherche peuvent être incomplets pendant l'indexation. En cas de doute sur le fichier concerné, arrêtez toute suppression et collectez le journal du service, les versions des paquets et les informations de configuration. Vous pouvez ensuite les transmettre index_pathà un administrateur Kopano ou au support technique.

Message d'invite du terminal affichant l'option de réindexation de kopano-search et conseillant aux administrateurs de consulter le manuel installé
La syntaxe de réindexation dépend de la version de Kopano installée. Consultez le manuel local et ciblez un seul magasin confirmé au lieu de supprimer l'intégralité du répertoire d'index.

6. Redémarrez et vérifiez le résultat

Une fois la cause corrigée, redémarrez uniquement le service de recherche :

sudo systemctl restart kopano-search
sudo systemctl status kopano-search --no-pager
sudo journalctl -u kopano-search -b -n 50 --no-pager

Pour une installation SysV, utilisez la commande de service documentée par ce paquet. Vérifiez que le processus reste actif, que la même trace d'erreur ne se répète plus et que le socket de recherche apparaît après l'indexation initiale. Kopano indique que le socket peut ne pas être créé avant la construction de l'index initial. Testez une recherche de courrier électronique classique et, si l'indexation des pièces jointes est activée, testez une pièce jointe connue uniquement après la réparation de l'analyseur syntaxique.

Guide de diagnostic rapide

Journal des symptômesPremier contrôle
Module Python ImportErrorou module manquantVersions des paquets et des liaisons Python ; annuler les sources de paquets mixtes
Connexion refusée ou prise manquantekopano-serverétat et configuration de socket correspondante
Erreur d'autorisation ou de disqueChemins d'accès configurés pour les journaux, les fichiers temporaires et les index ; espace libre et accès des utilisateurs du service
Le plantage se produit sur un accessoireCommande d'analyse des pièces jointes, dépendances de l'analyseur et limites de taille
Échec répété de l'ouverture d'un index de magasinSauvegardez et réindexez uniquement le magasin confirmé en utilisant la syntaxe de version locale

La solution la plus fiable consiste à corriger l'erreur consignée dans le journal : réparer l'environnement du paquet en cas d'échec d'importation Python, rétablir le socket approprié en cas d'échec de connexion, corriger le chemin ou l'analyseur syntaxique en cas d'erreur d'accès ou d'extraction, et réindexer uniquement si des indices indiquent des données d'index corrompues. Les manuels Kopano disponibles couvrent les anciennes versions de Core ; il est donc conseillé de les utiliser en complément du manuel du paquet plutôt que de supposer que chaque déploiement actuel utilise le même gestionnaire de services ou la même syntaxe d'options.

Laisser un commentaire

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Comparez 10 outils de balayage ping pour une découverte rapide du réseau local, une analyse multiplateforme et la gestion des adresses IP. Découvrez ce qu'un balayage peut – et ne peut pas – vous révéler.

6 outils de gestion de réseau performants pour le suivi des performances

6 outils de gestion de réseau performants pour le suivi des performances

Comparez six outils de gestion de réseau pour la surveillance des performances, notamment la couverture SNMP, la cartographie, les alertes, les modèles de déploiement et les compromis en matière de coûts.

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Comparez sept moniteurs de ping gratuits et open source, allant des suites réseau complètes aux sondes de latence ciblées, et choisissez celui qui convient le mieux à vos besoins en matière de disponibilité, de perte de paquets et d'historique.

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Comparez les meilleurs analyseurs Wi-Fi pour Windows, iPhone et Android, incluant des outils pour la congestion des canaux, la couverture du signal, les cartes thermiques et le dépannage réseau.

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

Découvrez ce que signifie la QoS dans le domaine des réseaux, comment les marquages ​​DSCP et les files d'attente de trafic priorisent la voix, la vidéo et les applications professionnelles, et ce que la QoS ne peut pas corriger.

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Comparez les logiciels serveurs SFTP fiables pour Windows et Linux, notamment OpenSSH, Bitvise, SolarWinds et SFTPGo. Trouvez la solution idéale pour vos besoins en matière de sécurité et de transfert de fichiers.

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Comparez sept outils de gestion d'adresses IP pour la découverte de sous-réseaux, la coordination DNS et DHCP, l'inventaire réseau et l'IPAM open source.

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Mettez en place une surveillance réseau pratique avec une couverture claire des périphériques, des indicateurs de performance utiles, des alertes exploitables et une comparaison de SolarWinds NPM, PRTG et OpManager.

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Comparez les outils d'analyse réseau pour la découverte rapide des périphériques, les analyses IP multiplateformes et la gestion des identités et des accès IP (IPAM) d'entreprise, avec des conseils pour adapter chaque option à votre réseau.

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Utilisez l'option --traceroute de Nmap pour associer les sauts à un hôte autorisé, comprendre les résultats des sauts et du RTT, et résoudre les problèmes de réponses manquantes sans sur-analyse.