Behebung des Absturzes des Kopano-Suchmaschinen-Python-Dienstes

Beginnen Sie mit dem Absturzprotokoll, nicht mit dem Suchindex. Auf einem klassischen Kopano Core-Server ist die Suchmaschine der kopano-searchDienst selbst. Das Debian-Quellpaket beschreibt diese Generation als prozessbasierten Indexer, der auf python-kopano basiert. Er stellt eine Verbindung zum Dienst her kopano-server, verwaltet Suchindizes pro Geschäft und kann optional Tools zum Parsen von Anhängen aufrufen. Sehen Sie sich das Kopano Search-Quellpaket an . Ein fehlendes Python-Modul, eine Inkompatibilität zwischen Server-Socket, ein Problem mit Berechtigungen oder Speicherplatz oder ein fehlerhafter Anhangparser können jeweils unterschiedliche Symptome verursachen. Ein Neustart oder das Löschen des gesamten Indexes, bevor der Fehler identifiziert wurde, kann wichtige Hinweise verschleiern und zusätzlichen Aufwand verursachen.

Diese Anleitung beschreibt Installationen, die den klassischen kopano-searchDaemon ausführen, einschließlich älterer Kopano Core-Pakete. Die aktuell verfügbare Kopano-Dokumentation für diesen Dienst ist für Kopano Core 8.0 versioniert, während die archivierten Manpages von Ubuntu ältere Paketversionen wie 8.7 abdecken. Prüfen Sie Ihre installierte Kopano-Version und deren lokales Handbuch, bevor Sie versionsspezifische Befehle anwenden. Kopano Cloud- oder Container-Bereitstellungen verwenden möglicherweise andere Dienstnamen und Verwaltungsprozeduren.

Was sollten Sie überprüfen, bevor Sie irgendetwas ändern?

Sie benötigen Shell-Zugriff mit Leseberechtigung für Kopano-Protokolle und -Konfiguration. Notieren Sie sich vor dem Bearbeiten der Konfiguration oder dem Ändern von Indexdateien die Paketversion und erstellen Sie eine Sicherungskopie der relevanten Konfiguration. Kopieren Sie keinen Indexpfad von einem anderen Server: Die Standardpfade und die konfigurierten Pfade unterscheiden sich je nach Paketversion. Das Kopano-Administratorhandbuch beschreibt die /etc/kopano/search.cfgIndexdateien pro Geschäft, den Service-Socket und das Parsen von Anhängen. Es warnt außerdem davor, Indexdateien während des laufenden Betriebs des Dienstes zu ändern. Der Abschnitt „Suchkonfiguration“ von Kopano ist die primäre Referenz für diese Einstellungen.

1. Bestätigen Sie, dass kopano-search tatsächlich abstürzt.

Auf einem System, das systemd verwendet, sollten Sie die Unit und die letzten Logeinträge überprüfen:

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

Achten Sie auf wiederholte Startversuche, einen Exit-Code, einen Python-Traceback oder eine spezifische letzte Ausnahme. Die letzte Zeile eines Tracebacks ist oft hilfreicher als die erste, da sie den Fehler benennt, der den Prozess beendet hat. Wenn Ihre Installation die älteren SysV-Init-Skripte verwendet, überprüfen Sie sudo service kopano-search statusstattdessen die konfigurierte Protokolldatei oder das Systemprotokoll. Der Dienst kann je nach Konfiguration in eine Datei oder in das Syslog schreiben search.cfg; ein leeres Protokoll beweist daher nicht, dass kein Fehler aufgetreten ist.

Terminalausgabe mit dem Befehl `systemctl status kopano-search` und einem beispielhaften Fehlerzustand des Dienstes
Überprüfen Sie zunächst den Status des Kopano-Suchdienstes. Der Fehlerstatus in diesem Beispiel dient lediglich der Veranschaulichung; vergleichen Sie ihn mit der Ausgabe Ihres Servers.

Speichern Sie die relevanten Protokollzeilen vor dem Neustart. Wenn der Dienst beendet und von systemd neu gestartet wird, möchten Sie wissen, ob jeder Versuch an derselben Stelle fehlschlägt oder ob ein bestimmtes Ereignis den Absturz ausgelöst hat.

2. Prüfen Sie, ob der Suchdienst den Kopano-Server erreichen kann.

Der Suchdienst muss sich mit dem korrekten Kopano-Server-Socket verbinden. Überprüfen Sie beide Dienste und vergleichen Sie deren konfigurierte Socket-Werte:

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

Die genaue Tastenkombination kann je nach Version variieren. In der klassischen Core-Konfiguration search_enabled = yesaktiviert sie die Volltextsuche server.cfg; search_socketsie teilt dem Server mit, wo er den Suchdienst kontaktieren soll. Die server_socketEinstellung des Suchdienstes verweist auf den Kopano-Server. Eine Diskrepanz, ein fehlender Socket oder ein angehaltener Server können Verbindungsfehler verursachen, die wie ein Suchabsturz aussehen. Der Server kann auf die direkte Datenbanksuche zurückgreifen, solange der Such-Socket nicht verfügbar ist. Die Volltextindizierung wird jedoch erst wiederhergestellt, wenn der Suchdienst wieder betriebsbereit ist.

Terminalbefehl zum Anzeigen der letzten Einträge im Kopano-Suchjournal mit einem Hinweis, die letzte Zeile des Tracebacks zu überprüfen.
Nutzen Sie das Serviceprotokoll, um die Fehlerkategorie zu ermitteln. Der Befehl und die Erinnerung dienen nur zur Orientierung; die Ausgabe hängt von Ihrer Protokollierungskonfiguration ab.

3. Python-Pakete an den Kopano-Build anpassen

kopano-searchVerwendet die Python-Bindings von Kopano und native MAPI-Komponenten. ImportErrorNach einem Teil-Upgrade, einer Änderung des Repositorys oder der manuellen Installation eines Python-Pakets kann ein Fehler aufgrund einer fehlenden gemeinsam genutzten Bibliothek oder eines Modulladefehlers auftreten. Notieren Sie sich die installierten Pakete und den vom Paket verwendeten Interpreter:

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

Der zweite Befehl ist nur dann sinnvoll, wenn kopano-searcher sich im Suchpfad der aktuellen Shell befindet. Vergleichen Sie diese Angaben mit dem Repository und den Installationsanweisungen für das von Ihnen verwendete Kopano-Paketset. Wenn der Server mit RPM, Containern oder einer Appliance eines Drittanbieters verwaltet wird, verwenden Sie die Paketverwaltungstools dieser Plattform anstelle der oben genannten Debian-Befehle.

Reparieren Sie einen vorinstallierten Kopano-Server nicht, indem Sie sudo pip installdas System-Python ausführen. Python-MAPI enthält native Komponenten. Die Kombination dieser Komponenten mit nicht zugehörigen Python-Paketen kann dazu führen, dass der Interpreter inkompatible Module findet. Stellen Sie die passenden Kopano-Pakete aus demselben vertrauenswürdigen Repository wieder her oder installieren Sie sie neu. Starten Sie anschließend den Dienst neu und überprüfen Sie das Protokoll erneut. Wurde das System zwischen verschiedenen Betriebssystemversionen aktualisiert, stellen Sie sicher, dass das Kopano-Repository diese Betriebssystem-/Python-Kombination unterstützt, bevor Sie versuchen, Pakete neu zu installieren.

4. Berechtigungen, freien Speicherplatz und Anhangsanalyse prüfen.

Lesen Sie die konfigurierten Einstellungen für `<filesystem> index_path`, log_file`<filesystem> tmp_path`, `<attachment-parser>` und `<attachment-parser>` in der Datei `<filesystem>` /etc/kopano/search.cfg. Stellen Sie sicher, dass das Dateisystem über freien Speicherplatz verfügt und dass das Dienstkonto Schreibzugriff auf die in der Konfiguration vorgesehenen Verzeichnisse hat. Zum Beispiel:

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

Ersetzen Sie das Beispielverzeichnis durch den Wert Ihrer eigenen Konfiguration. Fehler wie „Zugriff verweigert“, „Kein Speicherplatz mehr verfügbar“ oder das Fehlschlagen der Erstellung temporärer Dateien deuten auf ein Speicherzugriffsproblem und nicht auf einen allgemeinen Python-Absturz hin. Stellen Sie den beabsichtigten Eigentümer und die Berechtigungen mithilfe der dokumentierten Standardeinstellungen Ihres Serverpakets wieder her. Ändern Sie die Eigentümerschaft nicht rekursiv für alle Verzeichnisse, /var/lib/kopanoohne vorher zu prüfen, welche anderen Dienste diese verwenden.

Wenn der Traceback oder die Zeitmessung auf die Extraktion von Anhängen hindeutet, überprüfen Sie index_attachments = yesdie index_attachment_parserParserdatenbank und die von ihr aufgerufenen externen Hilfsprogramme. Das Kopano-Handbuch erklärt, dass der Inhalt von Anhängen durch ein konfiguriertes Skript in Text umgewandelt wird und dass die Anhangsgröße sowie die Speicher- und CPU-Beschränkungen festgelegt werden können. Zur Diagnose können Sie vorübergehend die Option `--include` aktivieren index_attachments = no, den Dienst neu starten und prüfen, ob der Absturz weiterhin auftritt. Dadurch wird die Suche im Anhangsinhalt deaktiviert; die Indizierung des Nachrichtentextes bleibt jedoch aktiv. Wenn der Fehler nicht mehr auftritt, reparieren Sie den betreffenden Parser oder die Abhängigkeit, bevor Sie die Anhangsindizierung wieder aktivieren.

Der Nano-Editor zeigt den Kopano-Suchkonfigurationspfad an; die Indexierung von Anhängen ist deaktiviert.
Das Konfigurationsbeispiel zeigt den Indexpfad und die Einstellung für Anhänge. Überprüfen Sie Ihr Installationshandbuch und die aktuelle Datei, bevor Sie einen der Werte ändern.

5. Erstellen Sie nur den betroffenen Store-Index neu, wenn die Protokolle auf eine Indexbeschädigung hinweisen.

Eine Neuindizierung ist angebracht, wenn der Dienst zwar korrekt startet, aber wiederholt beim Öffnen oder Aktualisieren des Index eines bestimmten Shops fehlschlägt oder wenn die Kopano-Protokolle diesen Index als beschädigt kennzeichnen. Sie ist jedoch nicht die erste Lösung für einen Python-Importfehler, eine Socket-Inkompatibilität oder eine volle Festplatte.

Das Administratorhandbuch von Kopano rät dringend kopano-searchdavon ab, die Indexdatei eines einzelnen Shops zu löschen. Es beschreibt außerdem eine Statusdatei im Indexverzeichnis. Löschen Sie daher nicht das gesamte Verzeichnis oder alle Benutzerindizes im Rahmen einer routinemäßigen Reparatur. Sichern Sie zunächst die relevante Indexdatei und überprüfen Sie die Benutzer- bzw. Shopidentität und den Pfad. Falls Ihre lokale man kopano-searchDokumentation die --reindexOption beschreibt, verwenden Sie die vom Paket unterstützte Syntax zum Wiederherstellen eines einzelnen Shops; das Optionsformat kann zwischen archivierten Versionen variieren. Das Ubuntu-Focal-Handbuch dokumentiert beispielsweise eine gezielte Reindexierungsoption und weist darauf hin, dass der Daemon bereits ausgeführt werden muss.

Ein umfassender Neuaufbau kann Speicherplatz und CPU-Leistung beanspruchen, und die Suchergebnisse können unvollständig sein, während die Indizierung abgeschlossen wird. Wenn Sie nicht sicher sind, welche Speicherdatei betroffen ist, halten Sie an, bevor Sie etwas löschen, und erfassen Sie das Dienstprotokoll, die Paketversionen und die Konfigurationsdaten. Wenden Sie sich index_pathan einen Kopano-Administrator oder den Support.

Terminal-Eingabeaufforderung mit Anzeige der Option zur Neuindizierung der kopano-Suche und dem Hinweis an Administratoren, das installierte Handbuch zu überprüfen.
Die Syntax für die Neuindizierung hängt von der installierten Kopano-Version ab. Verwenden Sie die lokale Anleitung und wählen Sie einen bestätigten Store aus, anstatt das gesamte Indexverzeichnis zu löschen.

6. Neustart und Überprüfung des Ergebnisses

Sobald Sie die Ursache behoben haben, starten Sie nur den Suchdienst neu:

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

Verwenden Sie bei einer SysV-Installation den im Paket dokumentierten Dienstbefehl. Stellen Sie sicher, dass der Prozess aktiv bleibt, der gleiche Traceback nicht mehr auftritt und der Such-Socket nach der ersten Indizierung angezeigt wird. Kopano weist darauf hin, dass der Socket möglicherweise erst nach dem Aufbau des ersten Index erstellt wird. Testen Sie eine normale E-Mail-Suche und, falls die Anhangsindizierung aktiviert ist, einen bekannten Anhang erst nach der Reparatur des Parsers.

Kurzanleitung zur Diagnose

Log-SymptomZuerst prüfen
Python ImportErroroder fehlendes ModulPaket- und Python-Bindungsversionen; gemischte Paketquellen rückgängig machen
Verbindung abgelehnt oder Socket fehltkopano-serverStatus und passende Socket-Konfiguration
Berechtigungs- oder FestplattenfehlerKonfigurierte Protokoll-, temporäre und Indexpfade; freier Speicherplatz und Zugriff für Dienstbenutzer
Der Absturz tritt bei einem Anschluss auf.Befehle zum Parsen von Anhängen, Abhängigkeiten des Parsers und Größenbeschränkungen
Wiederholtes Fehlschlagen beim Öffnen eines FilialindexSichern und indizieren Sie nur diesen bestätigten Store mithilfe der lokalen Versionssyntax neu.

Die zuverlässigste Lösung folgt dem Fehler im Protokoll: Beheben Sie Probleme mit der Paketumgebung bei Python-Importfehlern, stellen Sie den korrekten Socket bei Verbindungsfehlern wieder her, korrigieren Sie den spezifischen Pfad oder Parser bei Zugriffs- und Extraktionsfehlern und führen Sie eine Neuindizierung nur dann durch, wenn die Indizien auf beschädigte Indexdaten hinweisen. Die verfügbaren Kopano-Handbücher decken ältere Core-Versionen ab. Verwenden Sie diese daher zusammen mit dem Handbuch des jeweiligen Pakets, anstatt anzunehmen, dass jede aktuelle Bereitstellung denselben Service Manager oder dieselbe Optionssyntax verwendet.

Einen Kommentar hinterlassen

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Vergleichen Sie 10 Ping-Sweep-Tools für die schnelle LAN-Erkennung, plattformübergreifende Scans und IP-Adressverwaltung. Erfahren Sie, was ein Sweep liefern kann – und was nicht.

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Vergleichen Sie sechs Netzwerkmanagement-Tools für die Leistungsüberwachung, einschließlich SNMP-Abdeckung, Mapping, Warnmeldungen, Bereitstellungsmodelle und Kosten-Nutzen-Verhältnisse.

Die besten WLAN-Analysatoren für Windows, iOS und Android

Die besten WLAN-Analysatoren für Windows, iOS und Android

Vergleichen Sie die besten Wi-Fi-Analyseprogramme für Windows, iPhone und Android, einschließlich Tools für Kanalüberlastung, Signalabdeckung, Heatmaps und Netzwerk-Fehlerbehebung.

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

Erfahren Sie, was QoS in der Netzwerktechnik bedeutet, wie DSCP-Markierungen und Datenverkehrswarteschlangen Sprach-, Video- und Geschäftsanwendungen priorisieren und was QoS nicht beheben kann.

Beste SFTP-Server-Software für sichere Dateiübertragungen

Beste SFTP-Server-Software für sichere Dateiübertragungen

Vergleichen Sie zuverlässige SFTP-Server-Software für Windows und Linux, darunter OpenSSH, Bitvise, SolarWinds und SFTPGo. Finden Sie die passende Lösung für Ihre Sicherheits- und Dateitransferanforderungen.

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Vergleichen Sie 10 Tools zum Scannen und Analysieren drahtloser Netzwerke für Windows, iOS und Android mit klaren Hinweisen zu Wi-Fi-Kanälen, Abdeckungskarten, LAN-Prüfungen und Plattformbeschränkungen.

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Erstellen Sie eine praktische Netzwerküberwachung mit klarer Geräteabdeckung, nützlichen Leistungskennzahlen, umsetzbaren Warnmeldungen und einem Vergleich von SolarWinds NPM, PRTG und OpManager.

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Vergleichen Sie sieben IP-Adressverwaltungstools für Subnetzerkennung, DNS- und DHCP-Koordination, Netzwerkinventarisierung und Open-Source-IPAM.

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Vergleichen Sie Netzwerk-Scanner-Tools für die schnelle Geräteerkennung, plattformübergreifende IP-Scans und Enterprise IPAM mit Hinweisen zur Auswahl der passenden Option für Ihr Netzwerk.

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Verwenden Sie die Option --traceroute von Nmap, um Hops einem autorisierten Host zuzuordnen, die Hop- und RTT-Ausgabe zu verstehen und fehlende Antworten zu beheben, ohne übermäßig zu scannen.