En esta sección se facilitan respuestas a cuestiones que puedan surgir debido a la naturaleza y el uso de Configuration Agent. Asimismo, se brindan consejos para la resolución de problemas del agente.
Configuration Agent es una aplicación de distribución y puesta en memoria caché de normas. Se ha concebido y realizado para garantizar que las aplicaciones cliente del escritorio se configuren de manera centralizada sin que ello repercuta negativamente en su rendimiento y ni en los sistemas que las ejecutan. Tal cosa se consigue mediante:
La colocación en memoria caché de las normas que se descargan en una memoria caché local a la que puedan acceder los clientes.
Compartiendo los recursos costosos (por ejemplo, las conexiones al servidor LDAP en que se alojan las normas) que se pueden y deben compartir.
Las circunstancias habituales en que interactúan las aplicaciones cliente y Configuration Agent son muy sencillas y se resumen a continuación:
Un usuario inicia una de las aplicaciones cliente del escritorio (Gconf, Mozilla o StarOffice).
La aplicación cliente se conecta con Configuration Agent.
Dicha aplicación solicita los datos de normas que necesita de Configuration Agent.
Configuration Agent busca en su memoria caché los datos solicitados.
Si los datos de normas no están en la memoria caché, Configuration Agent los descarga de un depósito de normas preconfigurado y los almacena en la memoria caché.
Los datos de normas se envían a la aplicación cliente que los había solicitado.
Configuration Agent supervisa el depósito de normas para detectar los cambios que pudiera haber en los datos.
Si hay modificaciones, Configuration Agent actualiza la memoria caché para ponerla al día e informa a la aplicación cliente.
Configuration Agent se suministra e instala de forma predeterminada con el sistema operativo Solaris 10.
Configuration Agent se suministra sin habilitar ni configurar. Para poder utilizarlo se debe habilitar y efectuar una configuración mínima. Una vez realizados estos pasos, las aplicaciones cliente del escritorio usan de forma automática cualquier norma que se proporcione la próxima vez que se inicien.
Para configurar correctamente Configuration Agent, utilicel el Asistente de Configuration Agent. El asistente se inicia (como superusuario) mediante el comando /usr/bin/apoc-config . El asistente guía al usuario por los pasos necesarios para la correcta configuración del agente. En muchos casos, el único dato que debe proporcionarse para que el asistente finalice el proceso es la ubicación del depósito de normas.
Configuration Agent también puede configurarse editando manualmente sus archivos de configuración. No es algo recomendable, ya que de esta forma Configuration Agent se suele configurar incorrectamente con facilidad. Asimismo, el Asistente de Configuration Agent tiene lógica adicional que establece si un cambio determinado implica o no reiniciar o volver a cargar Configuration Agent.
Hay tres maneras de habilitarlo:
Mediante el Asistente de Configuration Agent ( /usr/bin/apoc-config ), el estado se cambia a activo.
Con el programa del controlador de Configuration Agent ( /usr/lib/apoc/apocd ), ejecute lo siguiente como superusuario:
/usr/lib/apoc/apocd enable |
Mediante smf(5), ejecute lo siguiente como superusuario:
/usr/sbin/svcadm enable svc:/network/apocd/udp |
La manera más fácil de cerciorarse de que Configuration Agent esté bien configurado y que funcione correctamente es crear una norma con Desktop Manager, asignarla a un usuario, iniciar sesión en el escritorio como dicho usuario y comprobar los valores de las normas establecidas para que se utilicen. En una sesión de escritorio pueden detectarse fácilmente muchos valores de normas, por ejemplo fondo y tema.
Configuration Agent es un servicio que se ajusta a la función de administración de servicios smf(5); el concepto de habilitarlo procede de esa función. Una vez habilitado, Configuration Agent ya puede funcionar. El proceso de habilitación del agente se compone de las fases siguientes:
Se inicia Configuration Agent.
Las aplicaciones cliente del escritorio que se hayan iniciado tras la habilitación del agente pueden recuperar datos de normas.
Configuration Agent se reinicia automáticamente durante el arranque del sistema.
Se puede saber si está o no habilitado aplicando uno de los procedimientos siguientes:
Mediante el programa del controlador de Configuration Agent. Ejecute el comando siguiente como superusuario:
/usr/lib/apoc/apocd is-enabled |
Si está habilitado el agente, el programa del controlador genera el mensaje siguiente:
Checking Configuration Agent enabled status ... Enabled |
Si no lo está, el programa del controlador genera el mensaje siguiente:
Checking Configuration Agent enabled status ... Not enabled |
Utilice smf(5) para ejecutar el comando siguiente:
/usr/bin/svcs svc:/network/apocd/udp:default |
Si está habilitado el agente, svcs genera el mensaje siguiente:
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
Si no lo está, svcs genera el mensaje siguiente:
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
Si Configuration Agent está en modo de mantenimiento, svcs genera el mensaje siguiente:
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
Para verificar si Configuration Agent está funcionando, aplique uno de los métodos siguientes:
Inicie sesión como superusuario y ejecute el programa del controlador de Configuration Agent:
/usr/lib/apoc/apocd status |
Si está habilitado el agente, el programa del controlador genera el mensaje siguiente:
Checking Configuration Agent status ... Running |
Si no lo está, el programa del controlador genera el mensaje siguiente:
Checking Configuration Agent status ... Not running |
Ejecute el comando siguiente:
/usr/bin/svcs svc:/network/apocd/udp:default |
Si Configuracion Agent está ejecutándose, svcs genera el mensaje siguiente:
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
Si no lo está, svcs genera el mensaje siguiente:
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
Si Configuration Agent está en modo de mantenimiento, svcs genera el mensaje siguiente:
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
Ejecute el comando siguiente:
ps -ef | grep apoc |
Si Configuration Agent está ejecutándose, en la salida de ps debe haber el siguiente proceso de Java asociado:
daemon 29295 29294 0 13:05:22? 0:03 java -Djava.library.path=/usr/lib/apoc -cp /usr/share/lib/apoc/apocd.jar:/usr/s daemon 29294 1 0 13:05:22? 0:00 sh -c java -Djava.library.path=/usr/lib/apoc -cp /usr/share/lib/apoc/apocd.jar: root 29345 28134 0 13:08:59 pts/1 0:00 grep apoc |
Cuando deba resolver un problema de Configuration Agent, consulte los archivos de registro siguientes:
Archivos de registro de smf(5):
El archivo de registro /var/svc/log/network-apocd-udp:default.log recopila eventos relativos a casos concretos de intento de inicio y parada de Configuration Agent. Asimismo, el archivo contiene los mensajes que el programa del controlador de Configuration Agent, /usr/lib/apoc/apocd, genera en su salida estándar para JVM o Configuration Agent.
El archivo de registro /var/svc/log/svc.startd.log almacena un registro de cinco eventos de smf(5) de nivel superior. Por ejemplo, si en un lapso temporal muy breve se suceden varios intentos no válidos de inicio de Configuration Agent, smf(5) puede decidir que no se puede iniciar. En tal caso, smf(5) coloca Configuration Agent en modo de mantenimiento y escribe una entrada en el registro para dejar constancia de ello.
Estos dos archivos de registro se usan habitualmente si el inicio de Configuration Agent da problemas.
Registros de Configuration Agent:
Configuration Agent escribe mensajes de registro en los archivos de registro del directorio predeterminado /var/opt/apoc/Logs. El "directorio de datos" de Configuration Agent es /var/opt/apoc . La ubicación de este directorio se puede cambiar con el Asistente de Configuration Agent (/usr/bin/apoc-config). El nivel de detalle de los mensajes de registro se puede modificar cambiando el "nivel de registro" con el Asistente de Configuration Agent. Si sospecha que no ha configurado correctamente Configuration Agent, o el agente falla en algún otro caso, use el Asistente de Configuration Agent y establezca el nivel de registro en "Máximo detalle" antes de consultar los archivos de registro del agente. De esta forma, dispondrá de la información de registro más exhaustiva posible.
Registros del sistema:
Para realizar un diagnóstico de los problemas de Configuration Agent, también puede consultar los archivos de registro /var/adm/messages o /var/opt/SUNWut/log/messages de una máquina SunRay.
Consulte ¿Dónde se ubican los archivos de registro?
smf(5) coloca Configuration Agent en modo de mantenimiento al detectar problemas en los inicios o reinicios. Si smf(5) no consigue iniciarlo, lo intenta varias veces más hasta lograrlo o termina determinando que Configuration Agent no se puede iniciar. Si sucede eso, smf(5) coloca el agente en modo de mantenimiento para indicar al usuario que se debe solucionar el problema detectado. Una vez resuelta la situación, se puede anular el estado establecido por smf(5) para que Configuration Agent reanude el funcionamiento normal.
Inicie sesión como superusuario y ejecute el comando /usr/sbin/svcadm clear svc:/network/apocd/udp.
smf(5) detecta que se ha parado e intenta reiniciarlo. Si por algún motivo los intentos de reinicio sucesivos no son válidos, smf(5) coloca Configuration Agent en modo de mantenimiento. Si se logra reiniciar el agente, las aplicaciones cliente del escritorio que están en ejecución no resultan afectadas. Las aplicaciones cliente se vuelven a conectar automáticamente con el agente en cuanto se reinicia.
Depende de si el agente estaba habilitado o en ejecución al iniciarse una determinada aplicación cliente. Si Configuration Agent estaba habilitado o ejecutándose, la aplicación cliente había establecido una conexión con él; si la conexión se pierde, intenta restablecerla. Es decir, cada vez que Configuration Agent se inicia, habilita o deshabilita, las aplicaciones cliente siempre intentan restablecer la conexión en cuanto el agente vuelve a ejecutarse. Si el agente no estaba habilitado ni ejecutándose al iniciarse la aplicación cliente, ésta no usa Configuration Agent ni intenta conectarse con él en cuanto se inicia. Teniendo en cuenta todo lo dicho, puede afirmarse lo siguiente:
Las aplicaciones cliente del escritorio iniciadas cuando Configuration Agent estaba habilitado o ejecutándose no se deben reiniciar.
Las aplicaciones cliente del escritorio iniciadas cuando Configuration Agent no estaba habilitado o en ejecución se deben reiniciar.
El problema más habitual relacionado con Configuration Agent es la imposibilidad de observar los efectos de una norma configurada en las aplicaciones cliente del escritorio. Los motivos más comunes son un agente configurado incorrectamente, un depósito de normas de configuración mal configurado o no disponible. Las indicaciones siguientes pueden ayudar a diagnosticar y solucionar estos problemas:
Compruebe que Configuration Agent esté configurado.
Compruebe que esté habilitado o ejecutándose. Si debe iniciar el agente, reinicie también las aplicaciones cliente del escritorio que estén abiertas.
Si los problemas siguen sin solucionarse, de forma temporal aumente el nivel de detalle del mecanismo de registro de Configuration Agent y, si es posible, reinícielo a fin de que, desde que se inicie el agente, en los mensajes de registro disponga de información lo más detallada posible.
Si Configuration Agent no se inicia, consulte la sección Problemas al iniciar Configuration Agent.
Si se inicia pero las aplicaciones cliente del escritorio no emplean una norma, consulte la sección "Problemas en la obtención de normas cuando Configuration Agent está en ejecución".
Si no ha podido solucionar los problemas, consulte a los responsables de asistencia técnica.
Si no se puede iniciar Configuration Agent y considera que lo ha configurado y habilitado correctamente, consulte los archivos de registro. En las secciones siguientes se explican los errores más habituales relativos a este problema.
El agente crea y utiliza el directorio de datos para almacenar archivos de registro, memorias caché de normas, etcétera. La ubicación predeterminada de este directorio es /var/opt/apoc.
Configuration Agent genera el mensaje de error siguiente en los registros de smf(5) si el directorio de datos se establece en una ubicación inaccesible, es decir, /dev/null/cant/write/here. Para resolver este problema, use el asistente de Configuration Agent (/usr/bin/apoc-config) para que el directorio de datos apunte a una ubicación a la que se pueda acceder.
[ Nov 17 14:35:38 Executing start method ("/usr/lib/apoc/apocd svcStart") ] Starting Configuration Agent ... Warning: Cannot create Log directory '/dev/null/cant/write/here/Logs' Warning:Failed to create log file handler Nov 17, 2005 2:35:39 PM com.sun.apoc.daemon.misc.APOCLogger config CONFIG: Daemon configuration: MaxRequestSize = 4096 DaemonAdminPort = 38901 ThreadTimeToLive = 5 DaemonChangeDetectionInterval = 10 IdleThreadDetectionInterval = 15 PROVIDER_URL = DataDir = /dev/null/cant/write/here ApplyLocalPolicy = true ChangeDetectionInterval = 60 MaxClientConnections = 50 GarbageCollectionInterval = 10080 InitialChangeDetectionDelay = 10 TimeToLive = 10080 ConnectionReadTimeout = 5000 DaemonPort = 38900 LogLevel = FINEST MaxClientThreads = 5 Nov 17, 2005 2:35:39 PM Daemon main FINER: THROW com.sun.apoc.daemon.misc.APOCException at com.sun.apoc.daemon.apocd.Daemon.initAuthDir(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.init(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.main(Unknown Source) [ Nov 17 14:36:08 Method or service exit timed out. Killing contract 980 ] [ Nov 17 14:36:08 Method "start" failed due to signal KILL ] |
Configuration Agent utiliza conexiones de zócalo TCP/IP para comunicarse con las aplicaciones cliente del escritorio. De forma predeterminada, estas conexiones se efectúan a través del puerto 38900.
Si Configuration Agent se ajusta para utilizar el puerto 1234, que ya lo ocupa otro servicio, se genera el mensaje de error siguiente. Este mensaje aparece en los registros de Configuration Agent. Para solucionar este problema, use el Asistente de Configuration Agent (/usr/bin/apoc-config) para asignar al agente un número de puerto disponible.
Nov 17, 2005 2:50:59 PM com.sun.apoc.daemon.misc.APOCLogger config CONFIG: Daemon configuration: MaxRequestSize = 4096 DaemonAdminPort = 38901 ThreadTimeToLive = 5 DaemonChangeDetectionInterval = 10 IdleThreadDetectionInterval = 15 PROVIDER_URL = DataDir = /var/opt/apoc ApplyLocalPolicy = true ChangeDetectionInterval = 60 MaxClientConnections = 50 GarbageCollectionInterval = 10080 InitialChangeDetectionDelay = 10 TimeToLive = 10080 ConnectionReadTimeout = 5000 DaemonPort = 1234 LogLevel = FINEST MaxClientThreads = 5 Nov 17, 2005 2:50:59 PM com.sun.apoc.daemon.misc.APOCLogger info INFO: Daemon starting Nov 17, 2005 2:50:59 PM com.sun.apoc.daemon.misc.APOCLogger fine FINE: Garbage collection scheduled ( interval = 10080 minutes ) Nov 17, 2005 2:50:59 PM Daemon main FINER: THROW com.sun.apoc.daemon.misc.APOCException: java.net.BindException: Address already in use at com.sun.apoc.daemon.transport.ChannelManager.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.run(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.main(Unknown Source) Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) |
Configuration Agent utiliza conexiones de zócalo TCP/IP para comunicarse con su programa del controlador (/usr/lib/apoc/apocd). De forma predeterminada, estas conexiones se efectúan a través del puerto 38901.
En los registros de Configuration Agent aparece el mensaje de error siguiente si el agente se ha ajustado para utilizar el puerto 1234, que ya lo ocupa otro servicio. Para solucionar este problema, use el Asistente de Configuration Agent (/usr/bin/apoc-config ) para asignar al agente otro puerto de administración que esté disponible.
ONFIG: Daemon configuration: MaxRequestSize = 4096 DaemonAdminPort = 1234 ThreadTimeToLive = 5 DaemonChangeDetectionInterval = 10 IdleThreadDetectionInterval = 15 PROVIDER_URL = DataDir = /var/opt/apoc ApplyLocalPolicy = true ChangeDetectionInterval = 60 MaxClientConnections = 50 GarbageCollectionInterval = 10080 InitialChangeDetectionDelay = 10 TimeToLive = 10080 ConnectionReadTimeout = 5000 DaemonPort = 38900 LogLevel = FINEST MaxClientThreads = 5 Nov 17, 2005 2:55:11 PM com.sun.apoc.daemon.misc.APOCLogger info INFO: Daemon starting Nov 17, 2005 2:55:11 PM com.sun.apoc.daemon.misc.APOCLogger fine FINE: Garbage collection scheduled ( interval = 10080 minutes ) Nov 17, 2005 2:55:11 PM com.sun.apoc.daemon.misc.APOCLogger fine FINE: Client manager started Nov 17, 2005 2:55:11 PM com.sun.apoc.daemon.misc.APOCLogger fine FINE: Channel manager started Nov 17, 2005 2:55:11 PM Daemon main FINER: THROW com.sun.apoc.daemon.misc.APOCException: java.net.BindException: Address already in use at com.sun.apoc.daemon.admin.AdminManager.initChannel(Unknown Source) at com.sun.apoc.daemon.admin.AdminManager.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.run(Unknown Source) at com.sun.apoc.daemon.apocd.Daemon.main(Unknown Source) Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) ... 4 more |
Para descargar y poner en memoria caché la información de normas, Configuration Agent debe conectarse con un depósito de configuración válido. Si identifica incorrectamente dicho depósito en la configuración del agente, por ejemplo mediante un comando no válido o porque no especifica un depósito, en los registros de Configuration Agent aparecen errores parecidos al siguiente cuando se inician las aplicaciones cliente del escritorio. Para solucionar este problema, use el Asistente de Configuration Agent (/usr/bin/apoc-config ) para identificar el depósito de configuración que va a utilizar.
FINER: New client added Nov 18, 2005 1:59:22 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: CreateSession transaction started Nov 18, 2005 1:59:22 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: Creating new client session Nov 18, 2005 1:59:22 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authenticating user geoffh Nov 18, 2005 1:59:22 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authentication successful Nov 18, 2005 1:59:23 PM PolicyBackend openPolicyBackend FINER: THROW com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.spi.environment.InvalidParameterException: The parameter organisation PROVIDER_URL#protocol (null) is not valid, the value must be comprised in {ldaps,ldap,https,http,file}. at com.sun.apoc.daemon.apocd.PolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.HostPolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.PolicyBackendFactory.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.open(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.createDataSources(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.createNewCache(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.openCache(Unknown Source) at com.sun.apoc.daemon.apocd.Session.<init>(Unknown Source) at com.sun.apoc.daemon.transaction.CreateSessionTransaction.executeTransaction (Unknown Source) at com.sun.apoc.daemon.transaction.Transaction.execute(Unknown Source) at com.sun.apoc.daemon.apocd.ClientEventHandler.handleEvent(Unknown Source) at com.sun.apoc.daemon.apocd.EventWorkerThread.run(Unknown Source) Caused by: com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.spi.environment.InvalidParameterException: The parameter organisation PROVIDER_URL#protocol (null) is not valid, the value must be comprised in {ldaps,ldap,https,http,file}. at com.sun.apoc.daemon.apocd.PolicyBackendFactory.openPolicyMgr(Unknown Source) ... 14 more Caused by: com.sun.apoc.spi.environment.InvalidParameterException: The parameter organisation PROVIDER_URL#protocol (null) is not valid, the value must be comprised in {ldaps,ldap,https,http,file}. at com.sun.apoc.spi.PolicyMgrFactoryImpl.createPolicyMgr(Unknown Source) ... 15 more Nov 18, 2005 1:59:23 PM PolicyBackend openPolicyBackend |
Para descargar y poner en memoria caché información de normas, Configuration Agent debe conectarse con un depósito de configuración válido. Si no puede establecerse la conexión, en los registros de Configuration Agent aparecen errores similares al siguiente cuando se inician las aplicaciones cliente del escritorio. En el caso siguiente, no existe la variable sobuild del sistema, no se puede contactar o no se puede acceder a un servidor LDAP a través del puerto 389. Para solucionar este problema, mediante el Asistente de Configuration Agent (/usr/bin/apoc-config) compruebe que haya identificado correctamente el depósito de normas y, en tal caso, asegúrese de que tenga acceso a dicho depósito. Por ejemplo, en un depósito LDAP, debe comprobar que haya en ejecución un servidor LDAP, que la máquina en que se aloja esté disponible en la red y que dicho servidor utilice el puerto especificado.
Si intenta acceder a un servidor LDAP mediante una conexión SSL, compruebe que el certificado pertinente esté disponible en el almacén de claves asociado con el Java Runtime Environment que se emplea para ejecutar Configuration Agent. Consulte la sección Configuration Agent para obtener más información sobre apoc-config.
FINER: New client added Nov 18, 2005 2:17:43 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: CreateSession transaction started Nov 18, 2005 2:17:43 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: Creating new client session Nov 18, 2005 2:17:43 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authenticating user geoffh Nov 18, 2005 2:17:43 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authentication successful Nov 18, 2005 2:17:43 PM PolicyBackend openPolicyBackend FINER: THROW com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.spi.OpenConnectionException: An error occured while connecting to ldap://sobuild:389. at com.sun.apoc.daemon.apocd.PolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.HostPolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.PolicyBackendFactory.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.open(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.createDataSources(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.createNewCache(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.openCache(Unknown Source) at com.sun.apoc.daemon.apocd.Session.<init>(Unknown Source) at com.sun.apoc.daemon.transaction.CreateSessionTransaction.executeTransaction (Unknown Source) at com.sun.apoc.daemon.transaction.Transaction.execute(Unknown Source) at com.sun.apoc.daemon.apocd.ClientEventHandler.handleEvent(Unknown Source) at com.sun.apoc.daemon.apocd.EventWorkerThread.run(Unknown Source) Caused by: com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.spi.OpenConnectionException: An error occured while connecting to ldap://sobuild:389. at com.sun.apoc.daemon.apocd.PolicyBackendFactory.openPolicyMgr(Unknown Source) ... 14 more Caused by: com.sun.apoc.spi.OpenConnectionException: An error occured while connecting to ldap://noSuchHost:389. at com.sun.apoc.spi.ldap.LdapClientContext.prepareConnection(Unknown Source) at com.sun.apoc.spi.ldap.LdapClientContext.connect(Unknown Source) at com.sun.apoc.spi.ldap.LdapConnectionHandler.openAuthorizedContext(Unknown Source) at com.sun.apoc.spi.ldap.LdapConnectionHandler.connect(Unknown Source) at com.sun.apoc.spi.ldap.entities.LdapOrganizationProvider.open(Unknown Source) at com.sun.apoc.spi.PolicyMgrFactoryImpl.createPolicyMgr(Unknown Source) ... 15 more Caused by: netscape.ldap.LDAPException: failed to connect to server sobuild:389 (91); Cannot connect to the LDAP server at netscape.ldap.LDAPConnSetupMgr.connectServer(LDAPConnSetupMgr.java:422) at netscape.ldap.LDAPConnSetupMgr.openSerial(LDAPConnSetupMgr.java:350) at netscape.ldap.LDAPConnSetupMgr.connect(LDAPConnSetupMgr.java:244) at netscape.ldap.LDAPConnSetupMgr.access$0(LDAPConnSetupMgr.java:241) at netscape.ldap.LDAPConnSetupMgr$1.run(LDAPConnSetupMgr.java:179) at java.lang.Thread.run(Thread.java:595) Nov 18, 2005 2:17:44 PM PolicyBackend openPolicyBackend |
Para que Configuration Agent pueda encontrar datos de normas en un depósito de normas, dicho depósito debe estar bien configurado. Si especifica un depósito que está mal configurado o que no lo está, en los registros de Configuration Agent aparecen errores similares al siguiente cuando se inician las aplicaciones cliente del escritorio. Para resolver este problema, consulte la sección .
FINER: New client added Nov 18, 2005 2:36:55 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: CreateSession transaction started Nov 18, 2005 2:36:55 PM com.sun.apoc.daemon.misc.APOCLogger finer FINER: Creating new client session Nov 18, 2005 2:36:55 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authenticating user geoffh Nov 18, 2005 2:36:55 PM com.sun.apoc.daemon.misc.APOCLogger finest FINEST: Authentication successful Nov 18, 2005 2:36:55 PM PolicyBackend openPolicyBackend FINER: THROW com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.daemon.misc.APOCException: com.sun.apoc.spi.environment.RemoteEnvironmentException: Error on reading the configuration data on LDAP server ldap://sobuild:389. at com.sun.apoc.daemon.apocd.PolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.HostPolicyBackend.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.PolicyBackendFactory.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.openPolicyBackend(Unknown Source) at com.sun.apoc.daemon.apocd.Cache$DataSource.open(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.createDataSources(Unknown Source) at com.sun.apoc.daemon.apocd.Cache.<init>(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.createNewCache(Unknown Source) at com.sun.apoc.daemon.apocd.CacheFactory.openCache(Unknown Source) at com.sun.apoc.daemon.apocd.Session.<init>(Unknown Source) at com.sun.apoc.daemon.transaction.CreateSessionTransaction.executeTransaction (Unknown Source) at com.sun.apoc.daemon.transaction.Transaction.execute(Unknown Source) at com.sun.apoc.daemon.apocd.ClientEventHandler.handleEvent(Unknown Source) at com.sun.apoc.daemon.apocd.EventWorkerThread.run(Unknown Source) |
Cada aplicación cliente del escritorio (Gconf, Mozilla, StarOffice) activada por Configuration Agent abre una conexión con el agente cuando se ejecuta. En los parámetros de Configuration Agent se establece el límite de las conexiones que se pueden realizar. El valor máximo predeterminado de conexiones es 50. En una máquina con varios usuarios, quizá deba aumentar el “límite de las conexiones del cliente” mediante el asistente de Configuration Agent (/usr/bin/apoc-config). Si Configuration Agent llega al máximo de conexiones permitidas, en los registros de Configuration Agent aparecen mensajes de error similares al siguiente:
Nov 18, 2005 3:20:55 PM com.sun.apoc.daemon.misc.APOCLogger warning WARNING: The maximum number of client connections ( 50 ) has been reached. No new client connections can be established at this time. |
Una de las premisas al diseñar Configuration Agent es que los datos de normas creados por Desktop Manager son relativamente estáticos, es decir, no son susceptibles de cambiarse con frecuencia. Esta premisa se refleja en el hecho de que el agente consulta de vez en cuando el depósito de normas para detectar posibles modificaciones. De forma predeterminada, Configuration Agent comprueba el depósito una vez cada hora para todas las aplicaciones que se ejecutan en el escritorio. Así, tras realizar un cambio con Desktop Manager, debe esperarse a que transcurra una hora para notificar el cambio a las aplicaciones que se ejecutan. Si lo desea, con el Asistente de Configuration Agent (/usr/bin/apoc-config ) puede cambiar el "intervalo de detección general" para incrementar la frecuencia de las comprobaciones en el depósito. Asimismo, puede establecer que Configuration Agent actualice los datos de normas de todas las aplicaciones conectadas iniciando sesión como superusuario y ejecutando el comando /usr/lib/apoc/apocd change-detect.