Mavericks Server: nulla abilitato, ma i servizi sono ancora in esecuzione e registrano i messaggi

6

Ho un server Mavericks con TUTTI i servizi disabilitati in Server.app nel tentativo di capire cosa sta causando un numero enorme di messaggi di registro. Quando controllo per vedere quali servizi sono in esecuzione, vedo l'output alla fine di questa domanda.

Implica che il server Wiki ( com.apple.collabd ), il server Xcode ( com.apple.xcs* e com.apple.servermgr.xcode.* ), il server di calendario ( org.calendarserver.* ), Profile Manager ( com.apple.DeviceManagement.* ) e altri siano tutti in esecuzione, o almeno parti di essi sono in esecuzione.

Il problema principale è migliaia di messaggi al minuto che assomigliano a questo:

Jan 18 02:59:25 domain.com collabd[84733]: [CSODService.m:78 f0a3000 +0ms] Failed to convert user externalID servermgr_xcode to uuid_t for membership check
Jan 18 02:59:25 --- last message repeated 1 time ---
Jan 18 02:59:25 domain.com serveradmin[44306]: [XcodeRequestHandler+DeviceSupport.m:183 73552310 +0ms] Filtering device because it does not have a serial number (e.g. mac or simulator device)
Jan 18 02:59:25 domain.com collabd[84733]: [CSODService.m:78 f0a3000 +0ms] Failed to convert user externalID servermgr_xcode to uuid_t for membership check
Jan 18 02:59:25 --- last message repeated 1 time ---
Jan 18 02:59:25 domain.com serveradmin[44306]: [XcodeRequestHandler+DeviceSupport.m:183 73552310 +0ms] Filtering device because it does not have a serial number (e.g. mac or simulator device)

Questi sembrano provenire dai servizi disabilitati Wiki e Xcode. Diventano fastidiosi e causano anche I / O di file di registro eccessivo, per non parlare degli altri effetti dei servizi in esecuzione che non sono necessari o richiesti.

La mia domanda è triplice:

  1. Perché vengono eseguiti se sono disabilitati in Server.app?
  2. Esiste un elenco completo dei processi e delle descrizioni dei server, preferibilmente forniti da Apple?
  3. Come posso disabilitarli e quali sono fondamentali per continuare a funzionare?

Sto esaminando in particolare quelli come SCEPHelper per i quali non esiste una manpage e non sembra avere alcuna descrizione online. Alcuni, come apspd , sono utilizzati per le notifiche push del server e quindi dovrebbero rimanere in esecuzione. Sono principalmente interessato a quali debbano rimanere in esecuzione per cose come l'amministrazione remota. Ho già provato serveradmin stop X per i servizi Xcode e di calendario, e anche se posso fermarli e avviarli in questo modo, quei pochi servizi vaganti continuano a essere in esecuzione.

Inoltre, una domanda bonus: dov'è la pagina man o il documento di aiuto per serverctl ?

Servizi disabilitati e abilitati mostrati qui:

$ sudo serverctl list
{
    disabledServices =     (
        "com.apple.AccountsConfigService",
        "com.apple.afctl",
        "com.apple.AssetCache",
        "com.apple.collabd.expire",
        "com.apple.collabd.notifications",
        "com.apple.collabd.preview",
        "com.apple.collabd.quicklook",
        "com.apple.collabd.scm_poller",
        "com.apple.collabd.stats",
        "com.apple.DeviceManagement.dmrunnerd",
        "com.apple.DeviceManagement.php-fpm",
        "com.apple.ftpserver",
        "com.apple.list_server_mgr",
        "com.apple.mail_exclusion",
        "com.apple.mail_status_init",
        "com.apple.mail_status_periodic",
        "com.apple.ppp.l2tp",
        "com.apple.ppp.pptp",
        "com.apple.push_notify",
        "com.apple.Rooms",
        "com.apple.salearn",
        "com.apple.saupdate",
        "com.apple.server.filesharing",
        "com.apple.server.mail.alerts",
        "com.apple.server.netboot",
        "com.apple.server.opendirectory",
        "com.apple.swupdate.host",
        "com.apple.swupdate.sync",
        "com.apple.xcs.stats",
        "com.apple.xcsbuildd",
        "com.apple.xcscgsessiond",
        "org.amavis.amavisd",
        "org.amavis.amavisd_cleanup",
        "org.calendarserver.calendarserver",
        "org.clamav.clamd",
        "org.clamav.freshclam-init",
        "org.clamav.freshclam",
        "org.dovecot.dovecotd",
        "org.dovecot.fts.update",
        "org.freeradius.radiusd",
        "org.isc.named",
        "org.jabber.jabberd",
        "org.jabber.proxy65",
        "org.postgresql.postgres"
    );
    enabledServices =     (
        "com.apple.apspd",
        "com.apple.collabd",
        "com.apple.DeviceManagement.devicemgrd",
        "com.apple.DeviceManagement.postgres",
        "com.apple.DeviceManagement.SCEPHelper",
        "com.apple.opendirectorybackup",
        "com.apple.server.alertsd",
        "com.apple.server.eventsd",
        "com.apple.server.v2.stats",
        "com.apple.ServerEventAgent",
        "com.apple.servermgr_xcode.get_currently_connected_devices",
        "com.apple.servermgr_xcode.sync_adc",
        "com.apple.servermgrd",
        "com.apple.disks.smart.status",
        "com.apple.xcscredd",
        "com.apple.xcscredhandler",
        "com.apple.xcsdevicesnifferd",
        "com.apple.xcsxcodeappwatcher",
        "org.calendarserver.agent",
        "org.calendarserver.relocate"
    );
}
    
posta Justin Mrkva 18.01.2014 - 20:47
fonte

3 risposte

4

L'elenco dei servizi attivi esegue il mirroring dei miei su un server con solo DNS in esecuzione per l'app del server:

enabledServices =     (
    "com.apple.apspd",
    "com.apple.collabd",
    "com.apple.DeviceManagement.devicemgrd",
    "com.apple.DeviceManagement.postgres",
    "com.apple.DeviceManagement.SCEPHelper",
    "com.apple.opendirectorybackup",
    "com.apple.server.alertsd",
    "com.apple.server.eventsd",
    "com.apple.server.v2.stats",
    "com.apple.ServerEventAgent",
    "com.apple.servermgrd",
    "com.apple.disks.smart.status",
    "com.apple.xcscredd",
    "com.apple.xcscredhandler",
    "org.calendarserver.agent",
    "org.calendarserver.relocate",
    "org.isc.named"
);

Nel tuo caso, il collabd dovrebbe essere in esecuzione e si lamenta del numero di serie della macchina. Verifica che il tuo numero di serie hardware sia effettivamente leggibile tramite software:

system_profiler SPHardwareDataType | grep 'Serial'

Il modo migliore per risolvere i problemi del server quando non si ha fiducia nell'app del server grafico (o se si vogliono maggiori dettagli) è di usare il comando serveradmin invece del comando serverctl. Come avrai notato, serverctl non è documentato, quindi ti consigliamo di rimanere con l'interfaccia serveradmin stabile, se possibile.

Ecco un breve comando di loop che scarica solo lo stato di esecuzione / arresto dei vari sottosistemi di cui serveradmin conosce:

for service in 'sudo serveradmin list'
do
  sudo serveradmin status $service | egrep "RUNNING|STOPPED"
done

Potresti facilmente cambiare il comando grep per fermare solo i servizi in esecuzione ...

sudo serveradmin status $service | grep "RUNNING" && sudo serveradmin stop $service
    
risposta data 25.01.2014 - 23:50
fonte
2

Vedo la stessa cosa sul mio server, che è quello che mi ha portato qui. Mi dispiace non posso aiutarti molto, ma per indicare questo thread con il comando serverctl, ad esempio

sudo serverctl disable service=com.apple.collabd.notifications
    
risposta data 25.01.2014 - 22:28
fonte
0

Ci sono un piccolo numero di demoni che sono richiesti per l'amministrazione remota e locale.

Ci sono anche un numero ancora minore di processi che sono così legati al sistema operativo che è più facile lasciarli in esecuzione piuttosto che disattivarli.

Quale delle tre possibilità in cui cade un dato demone è quasi impossibile da sapere. Il thread puntato a in un'altra risposta ti dà un elenco di processi che possono essere tranquillamente scaricati da launchctl per andare anche più indietro rispetto all'app Server o allo strumento da riga di comando serveradmin. Un po 'di tempo fa ho provato e sono in grado di scaricare.

La domanda migliore è perché ricevi migliaia di errori al minuto scritti nel registro. Ci deve essere qualcosa di sbagliato nel tuo setup perché il mio server non fa nulla del genere.

Vediamo se possiamo risolvere il problema che .

Hai già provato ad impostare questo server come un master di Open Directory? Mi chiedo solo se ottenere quel lavoro significa che un numero di problemi di certificati, DNS e tabella host devono essere al 100% per un master OD e dall'aspetto di quell'output del log potrebbe esserci un problema con la sicurezza sul server essere troppo zelanti. La mia altra domanda, nel log che hai fornito, letteralmente dì "dominio.com" o ti dà il tuo dominio e lo hai cambiato per motivi di sicurezza?

    
risposta data 26.01.2014 - 01:05
fonte

Leggi altre domande sui tag