Dieser Abschnitt geht auf einige Fragen ein, die Sie möglicherweise zur Funktionsweise von Configuration Agent haben, und gibt Tipps zur Behebung von Problemen bei der Arbeit mit Configuration Agent.
Configuration Agent ist eine Anwendung, die Richtlinien speichert und bereitstellt. Sie stellt sicher, dass Desktop-Client-Anwendungen zentral konfiguriert werden können, ohne dass die Leistung dieser Anwendungen auf den Hosts beträchtlich gemindert wird. Dies wird durch folgende Funktionen erreicht:
Zwischenspeichern aller heruntergeladenen Richtlinien in einem lokalen Cache für die Verwendung durch Clients
Gemeinsames Nutzen teurer Ressourcen, bei denen dies möglich und sinnvoll ist (beispielsweise Verbindungen mit einem LDAP-Server, auf dem sich die Richtlinie befindet)
Der typische Anwendungsfall, bei dem die Interaktion zwischen den Client-Anwendungen und Configuration Agent abläuft, ist sehr einfach und kann wie folgt beschrieben werden:
Ein Benutzer startet eine der relevanten Desktop-Client-Anwendungen ( gconfd, Mozilla oder StarOffice ).
Die Client-Anwendung stellt eine Verbindung mit Configuration Agent her.
Die Client-Anwendung fordert von Configuration Agent die erforderlichen Richtliniendaten an.
Configuration Agent durchsucht seinen Cache nach den angeforderten Richtliniendaten.
Werden die Richtliniendaten nicht im Cache gefunden, lädt Configuration Agent die erforderlichen Daten aus einer zuvor konfigurierten Datensammlung herunter und speichert sie im Cache.
Die Richtliniendaten werden an die entsprechende Client-Anwendung gesendet.
Configuration Agent überwacht die Richtliniensammlung auf Änderungen an den Richtliniendaten.
Wird eine Änderung erkannt, aktualisiert Configuration Agent seinen Cache-Speicher, sodass dieser auf dem neuesten Stand ist, und benachrichtigt die Client-Anwendung von der Änderung.
Configuration Agent ist standardmäßig in Solaris 10 enthalten und wird mit diesem installiert.
Configuration Agent ist standardmäßig deaktiviert und nicht konfiguriert. Um Configuration Agent zu verwenden, müssen Sie eine Mindestkonfiguration durchführen und die Anwendung aktivieren. Nach Durchführung dieser Schritte wird automatisch die entsprechende Desktop-Client-Anwendung gestartet, sodass sie beim nächsten Starten automatisch die von Ihnen bereitgestellte Richtlinie verwenden.
Die korrekte Konfiguration von Configuration Agent erfolgt mit dem entsprechenden Assistenten (Configuration Agent Wizard). Diesen können Sie (als Root-Benutzer) mit dem Befehl /usr/bin/apoc-config starten. Configuration Agent Wizard führt Sie durch die Schritte, die zur korrekten Konfiguration von Configuration Agent erforderlich sind. In den meisten Fällen ist die einzige Angabe, die zum Abschluss des Assistenten erforderlich ist, der Speicherort der Richtliniensammlung.
Sie können Configuration Agent auch durch manuelles Bearbeiten der entsprechenden Konfigurationsdateien konfigurieren. Dies wird jedoch nicht empfohlen, da auf diese Weise eher eine Fehlkonfiguration vorgenommen wird. Außerdem prüft Configuration Agent Wizard, ob die vorgenommene Änderung an der Konfiguration einen Neustart oder ein erneutes Laden von Configuration Agent erfordert.
Configuration Agent kann auf drei Arten aktiviert werden:
Setzen Sie den Status von Configuration Agent mithilfe von Configuration Agent Wizard ( /usr/bin/apoc-config ) auf "Aktiv".
Führen Sie als Root-Benutzer den folgenden Befehl aus, um das Configuration Agent-Steuerprogramm ( /usr/lib/apoc/apocd ) zu verwenden:
/usr/lib/apoc/apocd enable |
Führen Sie als Superuser den folgenden Befehl aus, um smf(5) zu verwenden:
/usr/sbin/svcadm enable svc:/network/apocd/udp |
Die einfachste Art, die korrekte Funktionsweise von Configuration Agent zu prüfen, ist das Erstellen einer Richtlinie mit Desktop Manager und das Zuweisen der Richtlinie zu einem Benutzer. Nun können Sie sich am Desktop-Rechner als dieser Benutzer anmelden und überprüfen, ob die von Ihnen vorgenommenen Einstellungen verwendet werden. Hierzu eignen sich Richtlinieneinstellungen, deren Änderungen in einer Desktop-Sitzung einfach erkannt werden können, beispielsweise der Hintergrund oder das Motiv.
Configuration Agent ist ein smf(5)-kompatibler Dienst und wird daher für smf(5) aktiviert. Nach der Aktivierung von Configuration Agent kann die Anwendung eingesetzt werden. Beim Aktivieren von Configuration Agent geschieht Folgendes:
Configuration Agent wird gestartet.
Alle Desktop-Client-Anwendungen, die nach der Aktivierung von Configuration Agent gestartet werden, können Richtliniendaten abrufen.
Configuration Agent wird beim Neustart des Systems automatisch erneut gestartet.
Es gibt mehrere Möglichkeiten festzustellen, ob Configuration Agent aktiviert ist:
Verwenden Sie das Steuerprogramm für Configuration Agent. Melden Sie sich als Superuser an und geben Sie den folgenden Befehl ein:
/usr/lib/apoc/apocd is-enabled |
Ist Configuration Agent aktiviert, gibt das Steuerprogramm die folgende Meldung aus:
Checking Configuration Agent enabled status ... Enabled |
Anderenfalls gibt es die folgende Meldung aus:
Checking Configuration Agent enabled status ... Not enabled |
Führen Sie mit smf(5) den folgenden Befehl aus:
/usr/bin/svcs svc:/network/apocd/udp:default |
Ist Configuration Agent aktiviert, gibt svcs die folgende Meldung aus:
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
Ist Configuration Agent deaktiviert, gibt svcs die folgende Meldung aus:
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
Befindet sich Configuration Agent im Wartungsmodus, gibt svcs die folgende Meldung aus:
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
Sie haben mehrere Möglichkeiten festzustellen, ob Configuration Agent läuft:
Melden Sie sich als Superuser an und führen Sie das Steuerprogramm für Configuration Agent aus:
/usr/lib/apoc/apocd status |
Ist Configuration Agent aktiviert, gibt das Steuerprogramm die folgende Meldung aus:
Checking Configuration Agent status ... Running |
Anderenfalls gibt das Steuerprogramm die folgende Meldung aus:
Checking Configuration Agent status ... Not running |
Führen Sie folgenden Befehl aus:
/usr/bin/svcs svc:/network/apocd/udp:default |
Wird Configuration Agent gerade ausgeführt, gibt svcs die folgende Meldung aus:
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
Wird Configuration Agent nicht ausgeführt, gibt svcs die folgende Meldung aus:
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
Befindet sich Configuration Agent im Wartungsmodus, gibt svcs die folgende Meldung aus:
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
Führen Sie folgenden Befehl aus:
ps -ef | grep apoc |
Wird Configuration Agent ausgeführt, sollte die Ausgabe des Befehls ps den folgenden Java-Prozess enthalten:
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 |
Sie können zur Problemsuche für Configuration Agent die folgenden Protokolldateien zurate ziehen:
smf(5)-Protokolldateien:
In der Datei /var/svc/log/network-apocd-udp:default.log werden alle Ereignisse aufgezeichnet, die sich auf das Starten und Anhalten von Configuration Agent-Instanzen beziehen. Diese Datei enthält außerdem die Meldungen, die das Configuration Agent-Steuerprogramm ( /usr/lib/apoc/apocd) in seine Standardausgabe schreibt, und die Ausgabemeldungen von JVM oder Configuration Agent.
Die Protokolldatei /var/svc/log/svc.startd.log zeichnet smf(5)-Ereignisse höherer Ebene auf. Schlagen mehrere kurz aufeinander folgende Startversuche Configuration Agent fehl, entscheidet smf(5) möglicherweise, dass Configuration Agent nicht gestartet werden kann. In diesem Fall versetzt smf(5) Configuration Agent in den Wartungsmodus und schreibt einen entsprechenden Eintrag in das Protokoll.
Diese beiden Protokolldateien sind in der Regel nützlich, wenn Sie Probleme beim Starten von Configuration Agent haben.
Configuration Agent-Protokolle:
Configuration Agent schreibt die Protokollmeldungen in Protokolldateien im Standardverzeichnis für Protokolle (/var/opt/apoc/Logs ). Das "Datenverzeichnis" für Configuration Agent ist /var/opt/apoc . Sie können den Speicherort für dieses Verzeichnis mithilfe von Configuration Agent Wizard (/usr/bin/apoc-config) ändern. Wie detailliert die Protokollmeldungen sind, können Sie durch Ändern der "Protokollgenauigkeit" mithilfe von Configuration Agent Wizard anpassen. Wenn Sie glauben, dass Sie Configuration Agent nicht korrekt konfiguriert haben, oder falls Sie andere Probleme mit der Anwendung haben, können Sie die Protokollgenauigkeit mit Configuration Agent Wizard auf "Max. Details" stellen, bevor Sie die Protokolldateien der Anwendung auswerten. So stellen Sie sicher, dass Sie die größtmögliche Menge an Protokollinformationen erhalten.
Systemprotokolle:
Sie können außerdem die Protokolldateien /var/adm/messages und /var/opt/SUNWut/log/messages (SunRay) prüfen, um eine Diagnose von Problemen mit Configuration Agent durchzuführen.
Siehe Wo sind die Protokolldateien?
smf(5) versetzt Configuration Agent in den Wartungsmodus, wenn es Probleme beim Starten oder erneuten Starten von Configuration Agent erkennt. Kann smf(5) Configuration Agent nicht starten, unternimmt es mehrere Versuche, bis der Start erfolgreich ist oder smf(5) entscheidet, dass Configuration Agent nicht gestartet werden kann. In letzterem Fall versetzt smf(5) Configuration Agent in den Wartungsmodus, um anzuzeigen, dass Sie die erkannten Probleme beheben müssen. Wurden die Probleme behoben, können Sie den smf(5)-Status von Configuration Agent aufheben, um zum Normalbetrieb zu wechseln.
Melden Sie sich als Superuser an und führen Sie den Befehl /usr/sbin/svcadm clear svc:/network/apocd/udp aus.
smf(5) erkennt, dass die Anwendung nicht mehr ausgeführt wird und versucht, sie erneut zu starten. Sollten mehrere aufeinander folgende Versuche fehlschlagen, versetzt smf(5) Configuration Agent in den Wartungsmodus. Laufende Desktop-Client-Anwendungen sind nicht betroffen, wenn Configuration Agent erfolgreich erneut gestartet wird. Diese Client-Anwendungen stellen automatisch erneut eine Verbindung zu Configuration Agent her, wenn diese Anwendung neu gestartet wird.
Welche Maßnahmen Sie ergreifen, hängt davon ab, ob Configuration Agent zum Zeitpunkt des Starts der entsprechenden Desktop-Client-Anwendung aktiviert war und ausgeführt wurde. Wurde Configuration Agent aktiviert und wird die Anwendung ausgeführt, stellte die Client-Anwendung eine Verbindung mit Configuration Agent her und versucht, die Verbindung bei einer Trennung wiederherzustellen. Das heißt, dass die Client-Anwendungen bei jedem Starten, Aktivieren oder Deaktivieren von Configuration Agent versuchen, die Verbindung mit Configuration Agent wiederherzustellen, sobald diese Anwendung wieder ausgeführt wird. War Configuration Agent beim Starten der Client-Anwendung nicht aktiviert bzw. wurde nicht ausgeführt, verwendet die Client-Anwendung Configuration Agent nicht und versucht auch nicht, beim Start von Configuration Agent eine Verbindung herzustellen. Dies führt zu folgendem Verhalten:
Desktop-Client-Anwendungen, die gestartet wurden, während Configuration Agent aktiviert war und ausgeführt wurde, müssen nicht erneut gestartet werden.
Desktop-Client-Anwendungen, die gestartet wurden, während Configuration Agent nicht aktiviert war bzw. nicht ausgeführt wurde, müssen erneut gestartet werden.
Das gängigste Problem im Zusammenhang mit Configuration Agent ist, dass die Auswirkungen von konfigurierten Richtlinien für Desktop-Client-Anwendungen nicht gesehen werden können. Die häufigsten Ursachen hierfür sind eine fehlerhafte Konfiguration von Configuration Agent, eine fehlerhafte Konfiguration der Richtliniensammlung und eine nicht erreichbare Richtliniensammlung. Die folgenden Schritte unterstützen Sie beim Auffinden und Beheben von Problemen:
Stellen Sie sicher, dass Configuration Agent konfiguriert ist.
Stellen Sie sicher, dass Configuration Agent aktiviert ist und ausgeführt wird. Wenn Sie Configuration Agent starten müssen, müssen Sie auch die aktuell geöffneten Desktop-Client-Anwendungen erneut starten.
Bestehen die Probleme weiterhin, erhöhen Sie vorübergehend die Detailstufe der Configuration Agent-Protokolle und starten Sie Configuration Agent nach Möglichkeit erneut, sodass Sie ein vollständiges und detailliertes Protokoll ab dem Startzeitpunkt von Configuration Agent haben.
Wird Configuration Agent nicht korrekt gestartet, lesen Sie den Abschnitt Probleme beim Starten von Configuration Agent.
Wird Configuration Agent korrekt gestartet, aber die Desktop-Client-Anwendungen verwenden eine verfügbare Richtlinie nicht, lesen Sie den Abschnitt "Probleme beim Abrufen einer Richtlinie von Configuration Agent".
Sollte Ihr Problem weiterhin bestehen, wenden Sie sich an den technischen Support.
Kann Configuration Agent nicht gestartet werden, obwohl Sie sicher sind, dass Sie Configuration Agent konfiguriert und aktiviert haben, müssen Sie die Protokolldateien prüfen. In den folgenden Abschnitten werden die häufigsten Fehler erläutert, die dieses Problem verursachen können.
Das Configuration Agent-Datenverzeichnis wird von Configuration Agent erstellt und zum Speichern von Protokolldateien, Richtlinien-Caches usw. verwendet. Der standardmäßige Pfad für dieses Verzeichnis ist /var/opt/apoc.
Configuration Agent gibt die folgende Meldung in den smf(5)-Protokollen aus, wenn als Pfad für das Datenverzeichnis ein nicht verfügbarer Speicherort ( /dev/null/cant/write/here) bestimmt wurde. Um dieses Problem zu beheben, können Sie mithilfe von Configuration Agent Wizard (/usr/bin/apoc-config) einen verfügbaren Speicherort als Datenverzeichnis festlegen.
[ 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 kommuniziert über TCP/IP-Socketverbindungen mit Desktop-Client-Anwendungen. Diese Verbindungen werden standardmäßig über Port 38900 hergestellt.
Die folgende Fehlermeldung wird ausgegeben, wenn Configuration Agent für den Port 1234 konfiguriert wird und dieser bereits von einem anderen Dienst verwendet wird. Die Fehlermeldung wird in den Configuration Agent-Protokollen aufgezeichnet. Um dieses Problem zu beheben, können Sie die Einstellung "Agent-Port" mithilfe von Configuration Agent Wizard (/usr/bin/apoc-config) auf einen nicht verwendeten Port einstellen.
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 kommuniziert über TCP/IP-Socketverbindungen mit dem Configuration Agent-Steuerprogramm (/usr/lib/apoc/apocd). Diese Verbindungen werden standardmäßig über Port 38901 hergestellt.
Die folgende Fehlermeldung wird in den Configuration Agent-Protokollen aufgezeichnet, wenn Configuration Agent für den Port 1234 konfiguriert wird und dieser bereits von einem anderen Dienst verwendet wird. Um dieses Problem zu beheben, können Sie die Einstellung "Administrations-Port" mithilfe von Configuration Agent Wizard (/usr/bin/apoc-config ) auf einen nicht verwendeten Port einstellen.
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 |
Configuration Agent muss eine Verbindung zu einer gültigen Konfigurationsdatensammlung herstellen, um die Richtlinieninformationen herunterzuladen und im Cache zu speichern. Ist die Angabe der Konfigurationsdatensammlung in der Konfiguration von Configuration Agent nicht korrekt (beispielsweise durch Verwendung eines ungültigen Formats oder Unterlassen der Angabe), werden beim Start der Desktop-Client-Anwendungen in den Configuration Agent-Protokollen Fehler wie die folgenden aufgezeichnet. Um dieses Problem zu beheben, können Sie mithilfe von Configuration Agent Wizard (/usr/bin/apoc-config ) die zu verwendende Konfigurationsdatensammlung angeben.
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 |
Configuration Agent muss eine Verbindung zu einer gültigen Konfigurationsdatensammlung herstellen, um die Richtlinieninformationen herunterzuladen und im Cache zu speichern. Kann keine Verbindung hergestellt werden, werden beim Start von Desktop-Client-Anwendungen Fehler ähnlich der folgenden in den Configuration Agent-Protokollen aufgezeichnet. Im folgenden Fall existiert der Host "sobuild" nicht, es kann keine Verbindung zum Host hergestellt werden oder der Host kann nicht über Port 389 auf einen LDAP-Server zugreifen. Sie können dieses Problem beheben, indem Sie mithilfe von Agent Configuration Wizard (/usr/bin/apoc-config) überprüfen, ob die Richtliniensammlung korrekt angegeben ist, und - sollte dies der Fall sein - sicherstellen, dass der Zugriff auf die Richtliniensammlung möglich ist. Beispielsweise müssen Sie bei einer LDAP-Datensammlung sicherstellen, dass ein LDAP-Server ausgeführt wird, der Rechner, auf dem der LDAP-Server läuft, im Netzwerk verfügbar ist und dass der von Ihnen angegebene Port mit dem übereinstimmt, den der LDAP-Server verwendet.
Wenn Sie über eine SSL-Verbindung auf einen LDAP-Server zugreifen möchten, müssen Sie sicherstellen, dass im Schlüsselspeicher das Zertifikat für die Java-Laufzeitumgebung enthalten ist, auf die Configuration Agent zurückgreift. Lesen Sie den Abschnitt Configuration Agent, um detaillierte Informationen zu apoc-config zu erhalten.
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 |
Damit Configuration Agent die Richtliniendaten in einer Richtliniensammlung finden kann, muss die Richtliniensammlung ordnungsgemäß konfiguriert sein. Wenn Sie eine Richtliniensammlung angeben, die überhaupt nicht oder falsch konfiguriert ist, werden beim Start von Desktop-Client-Anwendungen Fehlermeldungen ähnlich der folgenden in den Configuration Agent-Protokollen aufgezeichnet. Informationen zur Behebung dieses Problems finden Sie im entsprechenden Abschnitt.
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) |
Jede Desktop-Client-Anwendung (gconfd, Mozilla, StarOffice), die von Configuration Agent aktiviert ist, stellt eine Verbindung zu Configuration Agent her, wenn sie ausgeführt wird. Die maximale Anzahl dieser Verbindungen wird in der Konfiguration von Configuration Agent festgelegt. Standardmäßig ist diese Zahl auf 50 Verbindungen beschränkt. Auf einem Rechner mit mehreren Benutzern müssen Sie diesen Wert möglicherweise erhöhen, indem Sie mit Configuration Agent Wizard (/usr/bin/apoc-config) die Einstellung "Max. Client-Verbindungen" ändern. Erreicht Configuration Agent die maximale Anzahl von Verbindungen, werden in den Configuration Agent-Protokollen Fehlermeldungen ähnlich der folgenden aufgezeichnet:
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. |
Bei der Entwicklung von Configuration Agent wurde unter anderem davon ausgegangen, dass mit Desktop Manager erstellte Richtliniendaten relativ statisch sind, das heißt, dass sie sich nicht häufig ändern. Hieraus ergibt sich ein Ansatz, der dazu führt, dass Configuration Agent periodisch die Richtliniensammlung auf durchgeführte Änderungen prüft. Standardmäßig prüft Configuration Agent die Datensammlung stündlich für alle Desktop-Anwendungen. Wenn Sie mit Desktop Manager eine Änderung durchführen, müssen Sie daher bis zu eine Stunde warten, bevor laufende Desktop-Anwendungen Kenntnis von der Änderung erhalten. Bei Bedarf können Sie den Wert von "Allgemeines Erkennungsintervall" mithilfe von Agent Configuration Wizard (/usr/bin/apoc-config ) erhöhen, um die Datensammlung häufiger zu prüfen. Alternativ können Sie in Configuration Agent die Aktualisierung der Richtliniendaten für alle verbundenen Anwendungen erzwingen, indem Sie sich als Superuser anmelden und den Befehl /usr/lib/apoc/apocd change-detect ausführen.