Servidor Mavericks: no hay nada habilitado, pero los servicios siguen ejecutándose y registrando mensajes

6

Tengo un servidor Mavericks con TODOS los servicios deshabilitados en Server.app para intentar averiguar qué está causando una gran cantidad de mensajes de registro. Cuando verifico qué servicios se están ejecutando, veo el resultado al final de esta pregunta.

Implica que el servidor Wiki ( com.apple.collabd ), el servidor Xcode ( com.apple.xcs* y com.apple.servermgr.xcode.* ), el servidor de calendario ( org.calendarserver.* ), Profile Manager ( com.apple.DeviceManagement.* ) y otros están funcionando, o al menos partes de ellos se están ejecutando.

La principal preocupación es miles de mensajes por minuto que tienen este aspecto:

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)

Estos parecen provenir de los servicios deshabilitados de Wiki y Xcode. Se vuelven molestos y también causan una E / S de archivo de registro excesiva, por no mencionar otros efectos de la ejecución de servicios que no son necesarios o deseados.

Mi pregunta es triple:

  1. ¿Por qué se ejecutan si están deshabilitados en Server.app?
  2. ¿Existe una lista completa de procesos y descripciones del servidor, preferiblemente proporcionada por Apple?
  3. ¿Cómo los deshabilito y cuáles son críticos para seguir funcionando?

Estoy mirando específicamente a aquellos como SCEPHelper para los que no hay una página de manual y no parece tener ninguna descripción en línea. Ciertos, como apspd , se usan para las notificaciones push del servidor y, por lo tanto, deben permanecer en ejecución. Me preocupa principalmente cuáles deben seguir funcionando para cosas como la administración remota. Ya he probado serveradmin stop X para Xcode y los servicios de calendario, y aunque puedo detenerlos e iniciarlos de esa manera, esos pocos servicios perdidos siguen funcionando.

También, una pregunta adicional: ¿dónde está la página de manual o el documento de ayuda para serverctl ?

Los servicios deshabilitados y habilitados se muestran aquí:

$ 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"
    );
}
    
pregunta Justin Mrkva 18.01.2014 - 20:47

3 respuestas

4

Su lista de servicios activos se refleja en un servidor con solo DNS ejecutado por la aplicación del servidor:

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"
);

En su caso, el collabd debería estar ejecutándose y se está quejando del número de serie de la máquina. Verifique que su número de serie de hardware sea, de hecho, legible a través del software:

system_profiler SPHardwareDataType | grep 'Serial'

La mejor manera de solucionar problemas del servidor cuando no confía en la aplicación gráfica del servidor (o si desea más detalles) es usar el comando serveradmin en lugar del comando serverctl. Como ha notado, serverctl no está documentado, por lo que querrá mantener la interfaz estable serveradmin si es posible.

Este es un comando de bucle corto que muestra el estado de ejecución / detención de los diversos subsistemas que serveradmin conoce:

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

Puede cambiar fácilmente el comando grep para detener solo los servicios en ejecución ...

sudo serveradmin status $service | grep "RUNNING" && sudo serveradmin stop $service
    
respondido por el bmike 25.01.2014 - 23:50
2

Veo lo mismo en mi servidor, que es lo que me trajo aquí. Lo siento, no puedo ayudar mucho, pero para apuntar a este hilo con el comando serverctl, por ejemplo,

sudo serverctl disable service=com.apple.collabd.notifications
    
respondido por el user68589 25.01.2014 - 22:28
0

Hay una pequeña cantidad de demonios que se requieren para la administración remota y local.

También hay una cantidad aún menor de procesos que están tan vinculados al sistema operativo que es más fácil dejarlos en ejecución que apagarlos.

en cuál de las tres posibilidades cae cualquier daemon dado es casi imposible de saber. El hilo apuntado a en otra respuesta le brinda una lista de procesos que puede ser descargado de manera segura por launchctl para ir incluso más atrás a nada que la aplicación de servidor o la herramienta de línea de comandos serveradmin. Hace un tiempo probé y están bien para descargar.

La mejor pregunta es por qué está recibiendo miles de errores por minuto escritos en el registro. Debe haber algún problema con su configuración, ya que mi servidor no hace nada de eso.

Veamos si podemos solucionar el problema .

¿Ya intentaste configurar este servidor como un maestro de Open Directory? Solo pregunto porque conseguir que funcione significa que una serie de problemas de certificados, DNS y tabla de host deben ser del 100% para que aparezca un maestro OD y, al parecer de la salida del registro, puede haber un problema con la seguridad del servidor. estar sobre celo roto. Mi otra pregunta, en el registro que ha proporcionado, literalmente dice 'dominio.com' o ¿le da a su dominio y lo cambió por razones de seguridad?

    
respondido por el Tony Williams 26.01.2014 - 01:05

Lea otras preguntas en las etiquetas