Configuration Agent는 정책 캐싱 및 전달 응용 프로그램입니다. Configuration Agent는 데스크탑 클라이언트 응용 프로그램과 해당 응용 프로그램이 실행되는 호스트의 성능에 심각한 영향을 주지 않고 중앙에서 구성할 수 있도록 설계되었습니다. 이 작업은 다음과 같이 수행됩니다.
향후의 클라이언트 사용을 위해 로컬로 사용 가능한 캐시에 다운로드한 정책 캐싱
공유 가능하고 공유해야 하는 부담이 큰 리소스 공유(예: 정책이 호스팅되는 LDAP 서버에 연결)
클라이언트 응용 프로그램과 Configuration Agent 간의 상호 작용이 발생하는 일반적인 시나리오는 매우 간단하며 다음과 같이 설명될 수 있습니다.
사용자가 관련 데스크탑 클라이언트 응용 프로그램(gconfd, Mozilla 또는 StarSuite) 중 하나를 시작합니다.
클라이언트 응용 프로그램이 Configuration Agent에 연결됩니다.
클라이언트 응용 프로그램이 Configuration Agent로부터 필요한 정책 데이터를 요청합니다.
Configuration Agent는 캐시에서 요청된 정책 데이터를 검색합니다.
정책 데이터가 캐시에 없는 경우 Configuration Agent는 미리 구성된 정책 리포지토리에서 필요한 데이터를 다운로드하여 캐시에 저장합니다.
정책 데이터가 요청한 클라이언트 응용 프로그램으로 전송됩니다.
Configuration Agent는 정책 리포지토리에서 정책 데이터에 대한 수정 사항을 모니터링합니다.
수정 사항이 감지되면 Configuration Agent는 캐시를 새로 고쳐 최신 상태로 업데이트하고 클라이언트 응용 프로그램에 수정 사항을 알립니다.
Configuration Agent는 기본적으로 Solaris 10과 함께 사용 가능하고 설치됩니다.
Configuration Agent는 기본적으로 비활성화되어 있고 구성되어 있지 않습니다. Configuration Agent를 사용하려면 최소 수준 이상으로 구성하여 활성화해야 합니다. 이 단계를 완료하면 데스크탑 클라이언트 응용 프로그램이 자동으로 시작되고 다음 번에 시작될 때부터 사용자가 제공한 정책이 사용됩니다.
Configuration Agent를 올바르게 구성하려면 Configuration Agent 마법사를 사용합니다. 루트로 /usr/bin/apoc-config 명령을 실행하여 마법사를 시작할 수 있습니다. 마법사는 에이전트를 올바르게 구성하는 데 필요한 단계를 안내합니다. 대부분의 경우 마법사를 완료하는 데 절대적으로 필요한 유일한 정보는 정책 리포지토리의 위치입니다.
구성 파일을 수동으로 편집하여 Configuration Agent를 구성할 수도 있습니다. 수동으로 편집하여 구성하면 에이전트가 잘못 구성되기 쉬우므로 이 방법은 사용하지 않는 것이 좋습니다. 또한, Configuration Agent 마법사에는 에이전트를 다시 시작하거나 다시 로드하기 위해 특정 구성 변경이 필요한지 여부를 결정하는 추가 논리가 포함되어 있습니다.
다음과 같은 세 가지 기법을 사용하여 에이전트를 활성화할 수 있습니다.
Configuration Agent 마법사( /usr/bin/apoc-config)를 사용하여 에이전트 상태를 활성으로 설정합니다.
Configuration Agent 컨트롤러 프로그램(/usr/lib/apoc/apocd)을 사용하여 루트로 다음을 실행합니다.
/usr/lib/apoc/apocd enable |
smf(5)를 사용하여 수퍼유저로 다음을 실행합니다.
/usr/sbin/svcadm enable svc:/network/apocd/udp |
Configuration Agent가 올바르게 구성되어 있고 작동하는지 확인하는 가장 쉬운 방법은 Desktop Manager를 사용하여 정책을 만들고 해당 정책을 사용자에게 할당한 다음 데스크탑 컴퓨터에 해당 사용자로 로그인하여 정책 설정이 사용 중인지 확인하는 것입니다. 데스크탑 세션에는 배경, 주제 등과 같이 쉽게 감지될 수 있는 다양한 정책 설정이 있습니다.
Configuration Agent는 smf(5) 호환 서비스이므로 에이전트 활성화 알림이 smf(5)에서 제공됩니다. 에이전트가 활성화되면 서비스를 제공할 준비가 된 것입니다. 에이전트를 활성화하면 다음과 같은 동작이 나타납니다.
에이전트가 시작됩니다.
에이전트가 활성화된 후 시작된 모든 데스크탑 클라이언트 응용 프로그램에서 정책 데이터를 검색할 수 있습니다.
에이전트는 시스템이 부트하는 동안에 자동으로 다시 시작됩니다.
다음 방법 중 하나를 사용하여 Configuration Agent가 활성화되는지 여부를 확인할 수 있습니다.
Configuration Agent의 컨트롤러 프로그램을 사용합니다. 수퍼유저로 다음 명령을 입력합니다.
/usr/lib/apoc/apocd is-enabled |
에이전트가 활성화되는 경우 컨트롤러 프로그램이 다음과 같은 메시지를 반환합니다.
Checking Configuration Agent enabled status ... Enabled |
그렇지 않으면 컨트롤러 프로그램이 다음과 같은 메시지를 반환합니다.
Checking Configuration Agent enabled status ... Not enabled |
smf(5)를 사용하여 다음 명령을 실행합니다.
/usr/bin/svcs svc:/network/apocd/udp:default |
에이전트가 활성화되면 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
에이전트가 비활성화되면 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
에이전트가 유지 관리 모드인 경우 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
다음 방법 중 하나를 사용하여 Configuration Agent가 실행 중인지 확인할 수 있습니다.
수퍼유저로 Configuration Agent 컨트롤러 프로그램을 실행합니다.
/usr/lib/apoc/apocd status |
에이전트가 활성화되는 경우 컨트롤러 프로그램이 다음과 같은 메시지를 반환합니다.
Checking Configuration Agent status ... Running |
그렇지 않으면 컨트롤러 프로그램이 다음과 같은 메시지를 반환합니다.
Checking Configuration Agent status ... Not running |
다음 명령을 실행합니다.
/usr/bin/svcs svc:/network/apocd/udp:default |
에이전트가 실행 중이면 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI online 8:36:04 svc:/network/apocd/udp:default |
에이전트가 실행 중이 아니면 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI disabled 15:58:34 svc:/network/apocd/udp:default |
에이전트가 유지 관리 모드인 경우 svcs는 다음과 같은 메시지를 반환합니다.
STATE STIME FMRI maintenance 8:38:42 svc:/network/apocd/udp:default |
다음 명령을 실행합니다.
ps -ef | grep apoc |
Configuration Agent가 실행 중이면 ps 출력에 다음과 같은 연관된 Java 프로세스가 표시되어야 합니다.
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 |
Configuration Agent 문제를 해결해야 하는 경우 다음 로그 파일을 참조할 수 있습니다.
smf(5) 로그 파일:
/var/svc/log/network-apocd-udp:default.log 파일은 Configuration Agent의 특정 인스턴스를 시작/중지하려는 시도와 관련된 이벤트를 기록합니다. 또한, 이 파일에는 Configuration Agent 컨트롤러 프로그램인 /usr/lib/apoc/apocd가 표준 출력에 쓰는 메시지와 JVM 또는 Configuration Agent의 출력 메시지가 포함되어 있습니다.
/var/svc/log/svc.startd.log 로그 파일에는 상위 수준의 smf(5) 이벤트 레코드가 보관됩니다. 예를 들어, Configuration Agent를 시작하려는 시도가 연속해서 여러 번 실패할 경우 smf(5)는 Configuration Agent를 시작할 수 없는 것으로 결정할 수 있습니다. 이 경우 smf(5)는 Configuration Agent를 유지 관리 모드로 전환하고 해당 효과를 로그 항목에 씁니다.
이 두 로그 파일은 Configuration Agent 시작 관련 문제가 발생하는 경우에 유용합니다.
Configuration Agent 로그:
Configuration Agent는 기본 로그 디렉토리인 /var/opt/apoc/Logs에 있는 로그 파일에 로그 메시지를 씁니다. Configuration Agent의 "데이터 디렉토리"는 /var/opt/apoc입니다. Configuration Agent 마법사(/usr/bin/apoc-config) 응용 프로그램을 사용하여 이 디렉토리 위치를 변경할 수 있습니다. Configuration Agent 마법사에서 "로그 수준"을 변경하여 로그 메시지의 세분성을 변경할 수 있습니다. Configuration Agent를 잘못 구성했거나 다른 유형의 에이전트 오류가 발생하는 경우 에이전트 로그 파일을 참조하기 전에 Configuration Agent 마법사를 사용하여 로그 수준을 "Finest"로 설정합니다. 이 단계에서는 사용 가능한 로깅 정보를 최대한 수집할 수 있습니다.
시스템 로그:
/var/adm/messages 로그 파일 또는 SunRay 시스템의 /var/opt/SUNWut/log/messages 로그 파일을 확인하여 Configuration Agent 관련 문제를 진단할 수도 있습니다.
로그 파일의 위치는 어디입니까?를 참조하십시오.
smf(5)는 에이전트 시작 또는 다시 시작 문제가 감지될 경우 Configuration Agent를 유지 관리 모드로 전환합니다. smf(5)는 에이전트를 시작하지 못할 경우 에이전트가 성공적으로 시작되거나 smf(5)가 에이전트를 시작할 수 없다고 결정할 때까지 여러 번 다시 시작합니다. 후자의 경우 smf(5)는 에이전트를 유지 관리 모드로 전환하여 발생한 문제를 해결해야 함을 나타냅니다. 문제를 해결한 경우 에이전트의 smf(5) 상태를 지우고 일반 모드로 전환할 수 있습니다.
수퍼유저로 /usr/sbin/svcadm clear svc:/network/apocd/udp 명령을 실행합니다.
smf(5)는 에이전트의 중지를 감지하고 다시 시작하려고 시도합니다. 어떠한 이유로 인해 연속적인 몇 번의 시도에도 다시 시작되지 않을 경우 smf(5)는 에이전트를 유지 관리 모드로 전환합니다. 에이전트가 성공적으로 다시 시작될 경우 실행 중인 데스크탑 클라이언트 응용 프로그램은 영향을 받지 않습니다. 이러한 클라이언트 응용 프로그램은 에이전트가 다시 시작되면 자동으로 다시 연결됩니다.
실제로 수행할 작업은 특정 데스크탑 클라이언트 응용 프로그램이 시작될 때 에이전트가 활성/실행 중이었는지 여부에 따라 다릅니다. 에이전트가 활성/실행 중이었으면 클라이언트 응용 프로그램이 에이전트에 연결된 상태이며 연결이 끊어지면 다시 연결하려고 시도합니다. 즉 에이전트를 시작, 활성화 또는 비활성화할 때마다 클라이언트 응용 프로그램은 실행 중인 에이전트에 다시 연결하려고 항상 시도합니다. 클라이언트 응용 프로그램을 시작할 때 에이전트가 활성/실행 중이 아니면 클라이언트 응용 프로그램은 Configuration Agent를 사용하지 않고 에이전트가 시작되더라도 연결하려고 시도하지 않습니다. 요약하면 다음과 같습니다.
에이전트가 활성/실행 중일 때 시작된 데스크탑 클라이언트 응용 프로그램은 다시 시작할 필요가 없습니다.
에이전트가 활성/실행 중이 아닐 때 시작된 데스크탑 클라이언트 응용 프로그램은 다시 시작해야 합니다.
Configuration Agent와 관련한 가장 일반적인 문제는 데스크탑 클라이언트 응용 프로그램에 구성된 정책의 효과가 나타나지 않는 것입니다. 이 문제의 가장 일반적인 이유는 에이전트 또는 정책 리포지토리를 잘못 구성했거나 정책 리포지토리를 사용할 수 없기 때문입니다. 이런 경우의 문제는 다음 지침에 따라 찾아서 해결할 수 있습니다.
에이전트가 구성되어 있는지 확인합니다.
에이전트가 활성/실행 중인지 확인합니다. 에이전트를 시작해야 하는 경우 현재 열려 있는 데스크탑 클라이언트 응용 프로그램도 다시 시작해야 합니다.
문제가 지속되면 에이전트가 시작된 시간부터 전체 로그 메시지가 세분화되어 표시되도록 에이전트 로깅 메커니즘의 세분성을 일시적으로 늘리고, 가능하면 에이전트를 다시 시작하십시오.
에이전트가 제대로 시작되지 않으면 Configuration Agent 시작 문제를 참조하십시오.
에이전트가 제대로 시작되지만 데스크탑 클라이언트 응용 프로그램이 사용 가능한 정책을 사용하지 않는 경우 "실행 중인 Configuration Agent에서 정책 가져오기 문제" 절을 참조하십시오.
그래도 문제를 해결할 수 없는 경우 기술 지원 부서에 문의하십시오.
Configuration Agent를 시작할 수 없지만 Configuration Agent를 제대로 구성하여 활성화한 경우 로그 파일을 참조해야 합니다. 다음 절에서는 이 문제의 가장 일반적인 오류에 대해 설명합니다.
Configuration Agent 데이터 디렉토리는 에이전트가 로그 파일, 정책 캐시 등을 만들고 저장하는 데 사용합니다. 이 디렉토리의 기본 위치는 /var/opt/apoc입니다.
Configuration Agent는 데이터 디렉토리가 액세스할 수 없는 위치(즉, /dev/null/cant/write/here)로 설정되어 있는 경우 smf(5) 로그에 다음과 같은 오류 메시지를 표시합니다. 이 문제를 해결하려면 Configuration Agent 마법사(/usr/bin/apoc-config)를 사용하여 데이터 디렉토리를 액세스 가능한 위치로 지정합니다.
[ 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는 TCP/IP 소켓 연결을 사용하여 데스크탑 클라이언트 응용 프로그램과 통신합니다. 기본적으로 이러한 연결은 포트 38900을 통해 설정됩니다.
다른 서비스에서 이미 사용 중인 포트 1234를 사용하도록 Configuration Agent를 구성할 경우 다음과 같은 오류 메시지가 표시됩니다. 오류 메시지는 Configuration Agent 로그에 기록됩니다. 이 문제를 해결하려면 Configuration Agent 마법사(/usr/bin/apoc-config)를 사용하여 에이전트 포트 설정을 사용 중이 아닌 포트 번호로 변경합니다.
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는 TCP/IP 소켓 연결을 사용하여 Configuration Agent 컨트롤러 프로그램(/usr/lib/apoc/apocd)과 통신합니다. 기본적으로 이러한 연결은 포트 38901을 통해 설정됩니다.
다른 서비스에서 이미 사용 중인 포트 1234를 사용하도록 Configuration Agent를 구성할 경우 다음과 같은 오류 메시지가 Configuration Agent 로그에 표시됩니다. 이 문제를 해결하려면 Configuration Agent 마법사(/usr/bin/apoc-config)를 사용하여 관리 포트 설정을 사용 중이 아닌 포트 번호로 변경합니다.
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를 유효한 구성 리포지토리에 연결해야 합니다. 에이전트 구성에서 구성 리포지토리를 올바르게 식별하지 않은 경우(예: 잘못된 형식을 사용했거나 리포지토리를 지정하지 않은 경우) 데스크탑 클라이언트 응용 프로그램을 시작하면 Configuration Agent 로그에 다음과 유사한 오류 메시지가 기록됩니다. 이 문제를 해결하려면 Configuration Agent 마법사(/usr/bin/apoc-config)를 사용하여 사용할 구성 리포지토리를 식별합니다.
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를 유효한 구성 리포지토리에 연결해야 합니다. 연결을 설정할 수 없는 경우 데스크탑 클라이언트 응용 프로그램을 시작하면 Configuration Agent 로그에 다음과 유사한 오류 메시지가 기록됩니다. 다음과 같은 경우 sobuild 호스트가 없거나 연결되지 않거나, 포트 389를 통해 LDAP 서버에 액세스할 수 없습니다. 이 문제를 해결하려면 에이전트 구성 마법사(/usr/bin/apoc-config)를 사용하여 정책 리포지토리를 올바르게 식별했는지 확인하고, 올바르게 식별한 경우 정책 리포지토리에 액세스 가능한지 확인합니다. 예를 들어, LDAP 리포지토리의 경우 LDAP 서버가 실행 중이고 LDAP 서버를 호스트하는 시스템이 네트워크에서 사용 가능하며, 지정한 포트가 LDAP 서버에 사용 중인지 확인해야 합니다.
SSL 연결을 사용하여 LDAP 서버에 액세스할 경우 Configuration Agent를 실행하는 데 사용되는 Java 런타임 환경과 연관된 키 저장소에서 적절한 인증서를 사용할 수 있는지 확인합니다. apoc-config에 대한 자세한 내용은 Configuration Agent 절을 참조하십시오.
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 |
Configuration Agent에서 정책 리포지토리의 정책 데이터를 찾으려면 먼저 정책 리포지토리를 올바르게 구성해야 합니다. 구성되지 않았거나 잘못 구성된 정책 리포지토리를 지정하면 데스크탑 클라이언트 응용 프로그램을 시작할 때 Configuration Agent 로그에 다음과 유사한 오류 메시지가 기록됩니다. 이 문제를 해결하려면 해당 절을 참조하십시오.
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) |
Configuration Agent에서 활성화되는 각 데스크탑 클라이언트 응용 프로그램(gconfd, Mozilla, StarSuite)을 실행하는 경우 Configuration Agent에 연결합니다. 에이전트 구성에 해당 연결 수 제한이 지정되어 있습니다. 기본 연결 제한은 50입니다. 한 시스템을 여러 사용자가 사용하는 경우에는 Configuration Agent 마법사(/usr/bin/apoc-config)에서 "최대 클라이언트 연결 수" 설정을 변경하여 이 제한을 늘려야 할 수도 있습니다. Configuration Agent가 최대 연결 수에 도달하면 Configuration Agent 로그에 다음과 유사한 오류 메시지가 기록됩니다.
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. |
Desktop Manager에서 만든 정책 데이터는 상대적으로 정적이기 때문에 자주 변경할 수 없다는 가정하에 Configuration Agent를 설계했습니다. 이 가정에 따라 에이전트는 정책 리포지토리를 자주 참조하여 수정 사항이 있는지를 확인합니다. 기본적으로 에이전트는 실행 중인 모든 데스크탑 응용 프로그램에서 한 시간에 한 번씩 리포지토리를 확인합니다. 따라서, Desktop Manager를 사용하여 변경한 경우 실행 중인 데스크탑 응용 프로그램에서 변경 사항을 알려면 최대 1시간까지 기다려야 합니다. 원하는 경우 Agent Configuration 마법사(/usr/bin/apoc-config)를 사용하여 "일반 감지 간격" 값을 늘려 리포지토리 확인 빈도를 늘릴 수도 있습니다. 또는 수퍼유저로 /usr/lib/apoc/apocd change-detect 명령을 실행하여 Configuration Agent에서 연결된 모든 응용 프로그램에 대한 정책 데이터를 강제로 새로 고칠 수 있습니다.