Remediază prăbușirea serviciului Python al motorului de căutare Kopano

Începeți cu jurnalul de erori, nu cu indexul de căutare. Pe un server Kopano Core clasic, motorul de căutare este kopano-searchserviciul. Pachetul sursă Debian descrie această generație ca un indexator bazat pe procese, construit pe python-kopano. Se conectează la kopano-server, menține indexuri de căutare per depozit și poate apela opțional instrumente de analiză a atașamentelor. Consultați pachetul sursă Kopano Search . Un modul Python lipsă, o nepotrivire server-socket, o problemă de permisiuni sau spațiu pe disc sau un parser de atașamente defect pot cauza simptome diferite. Repornirea sau ștergerea întregului index înainte de identificarea erorii poate ascunde dovezi utile și poate crea mai multă muncă.

Acest ghid acoperă instalările care rulează daemonul clasic kopano-search, inclusiv pachetele Kopano Core mai vechi. Documentația Kopano disponibilă în prezent pentru acest serviciu este versionată pentru Kopano Core 8.0, în timp ce paginile de manual arhivate ale Ubuntu acoperă versiunile mai vechi de pachete, cum ar fi 8.7. Confirmați versiunea de Kopano instalată și manualul local al acesteia înainte de a aplica comenzi specifice versiunii. Implementările Kopano Cloud sau containerele pot utiliza nume de servicii și proceduri de gestionare diferite.

Ce ar trebui să verifici înainte să schimbi ceva?

Aveți nevoie de acces la shell cu permisiune pentru a citi jurnalele și configurația Kopano. Înainte de a edita configurația sau de a atinge fișierele index, înregistrați versiunea pachetului și faceți o copie de rezervă a configurației relevante. Nu copiați o cale de index de pe un alt server: căile implicite și cele configurate diferă în funcție de versiunea pachetului. Manualul de administrare Kopano descrie /etc/kopano/search.cfgfișierele index per depozit, socketul de serviciu și analizarea atașamentelor; de asemenea, avertizează împotriva modificării fișierelor index în timp ce serviciul rulează. Secțiunea de configurare Căutare din Kopano este referința principală pentru aceste setări.

1. Confirmați că kopano-search se blochează efectiv

Pe un sistem care folosește systemd, verificați unitatea și intrările recente în jurnal:

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

Căutați încercări repetate de pornire, un cod de ieșire, un traceback Python sau o excepție finală specifică. Ultima linie a unui traceback este adesea mai utilă decât prima linie, deoarece denumește eroarea care a oprit procesul. Dacă instalarea dvs. utilizează scripturile de inițializare SysV mai vechi, verificați sudo service kopano-search statusși inspectați fișierul jurnal configurat sau jurnalul de sistem. Serviciul se poate înregistra într-un fișier sau jurnal syslog, în funcție de search.cfg, deci un jurnal gol nu dovedește că nu a apărut nicio eroare.

Terminal care afișează starea systemctl kopano-search cu o stare ilustrativă a serviciului eșuat
Verificați mai întâi starea serviciului Kopano Search. Starea de eșec din acest exemplu este ilustrativă; comparați-o cu rezultatul propriu al serverului.

Salvați liniile de jurnal relevante înainte de a reporni. Dacă serviciul se închide și systemd îl pornește din nou, doriți să știți dacă fiecare încercare eșuează în aceeași etapă sau dacă un eveniment a declanșat eroarea.

2. Verificați dacă serviciul de căutare poate ajunge la serverul Kopano

Daemonul de căutare trebuie să se conecteze la socketul corect al serverului Kopano. Verificați ambele servicii și comparați valorile socketului configurate:

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

Setul exact de chei prezente poate varia în funcție de versiune. În configurația Core clasică, search_enabled = yesactivează căutarea full-text în server.cfg; search_socketindică serverului unde să contacteze serviciul de căutare. Setarea serviciului de căutare server_socketindică serverul Kopano. O nepotrivire, un socket lipsă sau un server oprit pot produce erori de conexiune care arată ca o blocare a căutării. Serverul poate reveni la căutarea directă în baza de date în timp ce socketul de căutare nu este disponibil, dar indexarea full-text nu este restabilită până când serviciul de căutare nu este funcțional.

Comandă terminală pentru vizualizarea intrărilor recente din jurnalul kopano-search cu o reamintire pentru inspectarea ultimei linii a traceback-ului
Folosește jurnalul de service pentru a identifica categoria de eroare. Comanda și memento-ul sunt afișate pentru orientare; rezultatul depinde de configurația de înregistrare în jurnal.

3. Potriviți pachetele Python cu versiunea Kopano

kopano-searchutilizează legăturile Python ale Kopano și componentele MAPI native. O ImportErroreroare de tip , o bibliotecă partajată lipsă sau o eroare de încărcare a modulului poate apărea după o actualizare parțială, o modificare a depozitului sau o instalare manuală a unui pachet Python. Înregistrați pachetele instalate și interpretorul utilizat de executabilul inclus în pachet:

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

A doua comandă este utilă numai dacă kopano-searchse găsește în calea shell-ului curent. Comparați aceste detalii cu instrucțiunile din repozitoriu și instalare pentru setul de pachete Kopano pe care îl utilizați de fapt. Dacă serverul este gestionat cu RPM, containere sau un dispozitiv al unui furnizor, utilizați instrumentele de pachet ale platformei respective în loc de comenzile Debian de mai sus.

Nu reparați un server Kopano integrat în pachete rulând sudo pip installPython în sistemul Python. Python-MAPI include componente native, iar combinarea lor cu pachete Python fără legătură poate face ca interpretorul să găsească module incompatibile. Restaurați sau reinstalați pachetele Kopano corespunzătoare din același depozit de încredere, apoi reporniți serviciul și verificați din nou jurnalul. Dacă mașina a fost actualizată între versiuni ale sistemului de operare, verificați dacă depozitul Kopano acceptă acea combinație de sistem de operare/Python înainte de a încerca o reinstalare a pachetului.

4. Verificați permisiunile, spațiul liber și analizarea atașamentelor

Citiți setările configurate index_path, log_file, tmp_path, și attachment-parser din /etc/kopano/search.cfg. Confirmați că sistemul de fișiere are spațiu liber și că contul de serviciu poate scrie acolo unde este așteptat de configurație. De exemplu:

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

Înlocuiți directorul index exemplu cu valoarea din propria configurație. Erori precum „permisiune refuzată”, „nu există spațiu rămas” sau o creare eșuată a unui fișier temporar indică accesul la spațiul de stocare, în loc de o eroare generală a Python. Restaurați proprietarul și permisiunile intenționate folosind valorile implicite documentate ale pachetului serverului; nu schimbați recursiv proprietatea pe întregul server /var/lib/kopanofără a verifica ce alte servicii îl utilizează.

Dacă urmărirea sau sincronizarea implică extragerea atașamentelor, verificați dacă index_attachments = yesși inspectați index_attachment_parserbaza de date a parserului și utilitarele externe pe care le apelează. Manualul Kopano explică faptul că, de asemenea, conținutul atașamentelor este convertit în text de către un script configurat și că se pot seta limitele dimensiunii atașamentelor, memoriei și CPU. Ca o diagnosticare, puteți seta temporar index_attachments = no, reporni serviciul și vedea dacă eroarea se oprește. Aceasta dezactivează căutarea în conținutul atașamentelor; nu dezactivează indexarea corpului mesajului. Dacă eroarea dispare, reparați parserul sau dependența specifică înainte de a activa din nou indexarea atașamentelor.

Editorul Nano afișează calea de configurare a căutării Kopano și indexarea atașamentelor este dezactivată
Exemplul de configurare arată calea indexului și setarea atașamentelor. Verificați manualul instalat și fișierul curent înainte de a modifica oricare dintre valori.

5. Reconstruiți doar indexul magazinului afectat atunci când jurnalele indică deteriorarea indexului

Reindexarea este potrivită atunci când serviciul pornește corect, dar eșuează în mod repetat la deschiderea sau actualizarea indexului unui magazin sau când jurnalele Kopano identifică acel index specific ca fiind deteriorat. Nu este prima soluție pentru o eroare de import Python, o nepotrivire de socket sau un disc plin.

Manualul de administrare al programului Kopano recomandă oprirea kopano-searchînainte de a șterge fișierul index al unui anumit magazin. De asemenea, descrie un fișier de stare din directorul index, așa că nu eliminați întregul director sau toți indexurile utilizatorilor ca o reparație de rutină. Mai întâi, faceți o copie de rezervă a fișierului index relevant și confirmați identitatea și calea utilizatorului sau magazinului. Dacă versiunea locală man kopano-searchdocumentează --reindexopțiunea, preferați sintaxa acceptată de pachet pentru reconstruirea unui magazin; formatul opțiunii diferă între versiunile arhivate. Manualul Ubuntu Focal, de exemplu, documentează o opțiune de reindexare direcționată și menționează că daemonul trebuie să ruleze deja.

O reconstrucție extinsă poate consuma mult spațiu pe disc și procesor, iar rezultatele căutării pot fi incomplete în timp ce indexarea recuperează. Dacă nu sunteți sigur ce fișier de stocare este afectat, opriți-vă înainte de a șterge ceva și colectați jurnalul de service, versiunile pachetului și configurația index_pathpentru un administrator Kopano sau un canal de asistență.

Linie de terminal care afișează opțiunea de reindexare kopano-search și îi sfătuiește pe administratori să verifice manualul instalat
Sintaxa de reindexare depinde de versiunea Kopano instalată. Folosește manualul local și vizează un magazin confirmat în loc să ștergi întregul director de indexare.

6. Reporniți și verificați rezultatul

După ce ați corectat cauza, reporniți doar serviciul de căutare:

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

Pentru o instalare SysV, utilizați comanda service documentată de pachetul respectiv. Confirmați că procesul rămâne activ, că aceeași traceback nu se mai repetă și că socket-ul de căutare apare după indexarea inițială. Kopano notează că socket-ul nu poate fi creat până când indexul inițial nu a fost construit. Testați o căutare normală de e-mailuri și, dacă indexarea atașamentelor este activată, testați un atașament cunoscut numai după ce parserul a fost reparat.

Ghid rapid de diagnosticare

Jurnal simptomPrima verificare
Python ImportErrorsau modul lipsăVersiuni de legături de pachete și Python; anulează sursele de pachete mixte
Conexiune refuzată sau priză lipsăkopano-serverstare și configurația socketului corespunzătoare
Eroare de permisiune sau de discCăi configurate pentru jurnal, temporare și index; spațiu liber și acces al utilizatorilor de servicii
Se produce o eroare la un atașamentComanda parserului de atașamente, dependențele parserului și limitele de dimensiune
Eroare repetată la deschiderea unui index de magazinFaceți o copie de rezervă și reindexați doar acel magazin confirmat folosind sintaxa versiunii locale

Cea mai fiabilă soluție urmează erorii din jurnal: reparați mediul pachetului pentru erorile de import Python, restaurați socketul corect pentru erorile de conexiune, remediați calea specifică sau parserul pentru erorile de acces și extragere și reindexați doar atunci când dovezile indică date de index deteriorate. Manualele Kopano disponibile acoperă versiunile Core mai vechi, așa că folosiți-le alături de manualul propriu al pachetului, în loc să presupuneți că fiecare implementare curentă folosește același manager de servicii sau aceeași sintaxă de opțiuni.

Lasă un comentariu

10 cele mai bune instrumente Ping Sweep pentru găsirea dispozitivelor în rețeaua dvs.

10 cele mai bune instrumente Ping Sweep pentru găsirea dispozitivelor în rețeaua dvs.

Comparați 10 instrumente de scanare ping pentru descoperirea rapidă a rețelelor LAN, scanarea multi-platformă și gestionarea adreselor IP. Aflați ce vă poate spune o scanare (sweep).

6 Cele mai bune instrumente de gestionare a rețelei pentru urmărirea performanței

6 Cele mai bune instrumente de gestionare a rețelei pentru urmărirea performanței

Comparați șase instrumente de gestionare a rețelei pentru monitorizarea performanței, inclusiv acoperirea SNMP, maparea, alertele, modelele de implementare și compromisurile de costuri.

QoS în rețele: Ce face calitatea serviciilor și cum funcționează

QoS în rețele: Ce face calitatea serviciilor și cum funcționează

Aflați ce înseamnă QoS în rețele, cum marcajele DSCP și cozile de trafic prioritizează aplicațiile vocale, video și de business și ce nu poate remedia QoS.

Cel mai bun software de server SFTP pentru transferuri securizate de fișiere

Cel mai bun software de server SFTP pentru transferuri securizate de fișiere

Compară software-ul de server SFTP fiabil pentru Windows și Linux, inclusiv OpenSSH, Bitvise, SolarWinds și SFTPGo. Găsește soluția potrivită pentru nevoile tale de securitate și transfer de fișiere.

Cele mai bune practici de monitorizare a rețelei: Ce să urmăriți și ce instrumente să utilizați

Cele mai bune practici de monitorizare a rețelei: Ce să urmăriți și ce instrumente să utilizați

Construiți o monitorizare practică a rețelei cu o acoperire clară a dispozitivelor, indicatori de performanță utili, alerte acționabile și o comparație între SolarWinds NPM, PRTG și OpManager.

Cele mai bune 7 instrumente de gestionare a adreselor IP pentru echipele de rețea

Cele mai bune 7 instrumente de gestionare a adreselor IP pentru echipele de rețea

Comparați șapte instrumente de gestionare a adreselor IP pentru descoperirea subrețelelor, coordonarea DNS și DHCP, inventarul rețelei și IPAM open-source.

10 cele mai bune instrumente de scanare a rețelei pentru descoperirea dispozitivelor și a adreselor IP

10 cele mai bune instrumente de scanare a rețelei pentru descoperirea dispozitivelor și a adreselor IP

Comparați instrumentele de scanare a rețelei pentru descoperirea rapidă a dispozitivelor, scanări IP pe mai multe platforme și IPAM pentru întreprinderi, cu îndrumări privind potrivirea fiecărei opțiuni la rețeaua dvs.

Cum se utilizează Nmap pentru Traceroute și citirea căii de rețea

Cum se utilizează Nmap pentru Traceroute și citirea căii de rețea

Folosește opțiunea --traceroute din Nmap pentru a mapa salturi la o gazdă autorizată, a înțelege ieșirea saltului și a RTT-ului și a depana răspunsurile lipsă fără a suprascana.

6 Cele mai bune instrumente de monitorizare a serverelor Windows pentru o disponibilitate și o performanță mai bune

6 Cele mai bune instrumente de monitorizare a serverelor Windows pentru o disponibilitate și o performanță mai bune

Comparați șase instrumente de monitorizare Windows Server în funcție de colectarea datelor Windows, vizibilitatea aplicațiilor, modelul de implementare și licențierea pentru a găsi instrumentul potrivit.

6 instrumente de monitorizare a rețelei Linux pentru dispozitive, gazde și trafic

6 instrumente de monitorizare a rețelei Linux pentru dispozitive, gazde și trafic

Comparați șase instrumente de monitorizare a rețelei Linux pentru descoperirea dispozitivelor SNMP, grafice de interfață, metrici gazdă, verificări de servicii și fluxuri de trafic.