Sun Java System Instant Messaging 7.2 관리 설명서

19장 Instant Messaging 문제 해결 및 모니터링

이 장에서는 Instant Messaging 설치 및 배포 중에 발생할 수 있는 일반적인 문제와 워치독의 개요에 대해 설명합니다. 다양한 시스템 구성 요소가 작동하는 동안 생성된 로그 정보는 문제를 제거하거나 해결하는 데 많은 도움이 됩니다. 또한 모니터링 프레임워크를 사용하면 Instant Messaging 프로세스의 일반적인 상태를 모니터링하여 문제가 발생하기 전에 미리 방지할 수 있으며, 사용 수준을 평가하여 배포 크기를 조정하고 시스템을 중단하지 않고 계속 유지하는 데 도움을 줄 수 있습니다. 이 장에서 다루는 내용은 다음과 같습니다.

서버, 멀티플렉서, 워치독, 캘린더 에이전트, 클라이언트 로깅에 대한 자세한 내용 및 기본 로그 파일 위치에 대한 내용은 13 장, Instant Messaging 로깅 관리을 참조하십시오.

Instant Messenger 문제 해결

Instant Messenger에서는 클라이언트 문제를 해결하는 데 유용한 두 가지 방법을 제공합니다. 클라이언트 시스템에 관한 런타임 정보를 수집하고 필요에 따라 Instant Messenger 로그 파일을 생성할 수 있습니다.

Instant Messenger 런타임 정보 얻기

Instant Messenger 클라이언트에서 시스템 관련 정보를 얻을 수 있습니다.

Procedure정보 대화 상자에서 Instant Messenger 런타임 정보를 얻으려면

  1. Instant Messenger에서 도움말 -> 정보를 누릅니다.

    정보 대화 상자가 표시됩니다.

  2. 세부 정보 탭을 선택합니다.

    세부 정보 탭에는 문제를 해결할 때 사용할 수 있는 클라이언트 시스템 관련 정보가 있습니다.

Instant Messenger 로그 얻기

필요한 경우 클라이언트 로그를 생성합니다. 기본적으로 로그는 생성되지 않습니다. 클라이언트 로깅 구성에 대한 내용은 Instant Messenger 로깅 관리를 참조하십시오.

문제 및 해결 방법

몇 가지 문제와 해당 문제의 가능한 원인 및 문제 해결에 유용한 정보는 다음과 같습니다.

클라이언트에서 Instant Messaging 리디렉션 서버에 연결할 수 없음

리디렉션 서버를 성공적으로 배포하려면 XMPP 리디렉션을 지원하는 클라이언트를 사용해야 합니다. Instant Messenger 2006Q1 이상을 사용하거나 타사 클라이언트를 사용할 경우 해당 클라이언트에서 XMPP 리디렉션을 지원하는지 확인하십시오.

XMPP/HTTP 게이트웨이를 통해 Instant Messenger에 로그인할 수 없음

XMPP/HTTP 게이트웨이에서 두 도메인을 지원하고 단 하나의 도메인에 대한 인수만 im.jnlp 파일에 있으면 나열된 도메인에 속하지 않은 사용자는 인증될 수 없습니다. 예를 들어 im.jnlp 파일에 포함된 인수가 다음과 같은 경우가 있습니다.


<argument>domain=mydomain.siroe.com</argument>

이때 mydomain이 아닌 도메인에서 로그인을 시도하는 사용자에게는 오류 메시지가 나타나고 인증받을 수 없습니다. 이 문제를 해결하려면 다른 도메인에서 인증받을 수 있도록 Instant Messenger를 구성해야 합니다.

Procedure특정 도메인에서 인증하도록 Instant Messenger를 구성하려면

  1. im.jnlp 자원 파일을 엽니다.

  2. 도메인 인수 항목을 제거합니다.

    예를 들어 다음과 같이 제거합니다.


    <argument>domain=mydomain.siroe.com</argument>
  3. Instant Messenger를 다시 다운로드합니다.

  4. Instant Messenger를 실행합니다.

    로그인 페이지가 표시됩니다.

  5. 자세히를 누릅니다.

    로그인 페이지가 확장되어 클라이언트의 연결 설정을 보여 줍니다.

  6. 서버 텍스트 상자에서 게이트웨이에 대한 URL을 입력하고 ?to=domain을 추가합니다.

    예를 들어 사용자가 mydomain.siroe.com에 속하면 URL에 다음과 같이 추가합니다.


    ?to=mydomain.siroe.com
  7. 유효한 사용자 아이디와 비밀번호로 로그인하여 이 구성을 테스트합니다.

Sun JavaTM System Portal Server 7 2006Q1 이상에서 메시지가 아카이브되지 않음

Sun Java System Portal Server 7 2006Q1 이상에 포털 아카이브를 설정했지만 메시지가 아카이브되지 않으면 iim.conf에서 iim_arch.portal.search 매개 변수가 다음과 같이 설정되었는지 확인하십시오.


iim_arch.portal.search="Portal Server Search URL"

여기서 Portal Server Search URL은 Portal Server의 검색 URL입니다. 예를 들면 다음과 같습니다.


iim_arch.portal.search="http://portal.siroe.com:8080/search1/search"

patchrmpatchadd 실행 후 Instant Messenger 자원 사용자 정의가 손실됨

(문제 번호: 6361796) patchrmpatchadd 프로세스는 클라이언트 자원을 다시 배포합니다. 이 경우 사용자 정의된 파일을 모두 덮어쓰게 됩니다. 따라서 저장할 필요가 있는 사용자 정의 파일을 백업한 후에 작업을 수행하십시오.

오프라인 사용자에게 메일을 전달할 수 없음

기본적으로 Instant Messaging은 mail 속성을 사용하여 수신자가 오프라인일 때 인스턴트 메시지를 전달할 전자 메일 주소를 결정합니다. 디렉토리에서 전자 메일 주소의 mail 속성이 사용되지 않으면 디렉토리와 같은 속성을 사용하도록 Instant Messaging을 구성해야 합니다.

Procedure사용자 전자 메일 주소에 사용되는 속성을 구성하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. iim_ldap.user.mailattr 매개 변수 값을 디렉토리에서 사용자 항목의 전자 메일 주소를 포함하는 데 사용되는 속성으로 변경합니다.

캘린더 팝업 미리 알림이 작동하지 않음

캘린더 팝업이 예상대로 전달되지 않으면 여기서 설명한 대로 구성 문제를 해결합니다. 캘린더 팝업 설정에 대한 지침은 16 장, 캘린더 팝업 미리 알림 사용을 참조하십시오.

캘린더 팝업 구성에서 가장 일반적인 오류는 구성 파일에 잘못 입력된 매개 변수 이름으로 인해 발생하는 것입니다. 여기에는 표기법 및 철자법에 어긋나는 매개 변수 이름이 해당됩니다. 따라서 iim.conf ics.conf에서 모든 구성 매개 변수와 해당 값을 올바르게 입력했는지 확인하십시오. 이미 팝업이 구성되어 있으면 표 A–11을 사용하여 필수 매개 변수와 해당 항목을 비교하십시오.

Instant Messaging 및 Calendar Server 구성 파일이 올바르게 구성되었어도 팝업이 예상대로 도착하지 않으면 캘린더 클라이언트와 Instant Messenger가 올바르게 구성되었는지 확인하십시오.

Procedure캘린더 클라이언트 및 Instant Messenger 구성에서 팝업 관련 문제를 해결하려면

  1. 캘린더 클라이언트에 로그인합니다.

  2. 시간대 설정이 올바른지 확인합니다.

    Calendar Express를 사용하는 경우 메뉴에서 도구 -> 옵션 -> 설정을 선택합니다.

  3. 전자 메일 미리 알림을 예약합니다.

    Calendar Express를 사용하는 경우 메뉴에서 도구 -> 옵션 -> 설정을 선택합니다.

  4. 설정을 저장합니다.

  5. 동일한 사용자로 Instant Messenger에 로그인합니다.

  6. 도구 -> 설정을 선택합니다.

    설정 대화 상자가 표시됩니다.

  7. 알림 탭을 선택합니다.

  8. 캘린더 미리 알림 표시 확인란을 선택하고 확인을 누릅니다.

  9. 로그인한 Instant Messenger 사용자를 그대로 둡니다.

  10. 사용자가 캘린더 클라이언트에서 구성한 시점에 전자 메일 알림 및 팝업을 받았는지 확인합니다.

    전자 메일 알림을 받지 않았으면 캘린더 클라이언트가 잘못 구성된 것입니다. 문제 해결에 대한 자세한 내용은 캘린더 클라이언트 설명서를 참조하십시오.

    전자 메일 알림을 받았지만 캘린더 팝업은 받지 못했고 서버와 클라이언트를 모두 올바르게 구성했다고 확신하는 경우 xmppd.log를 자세히 확인하십시오. DEBUG처럼 더 높은 세밀도로 로깅 수준을 설정해야 할 수도 있습니다. 로그 수준 변경에 대한 지침은 iim.conf 매개 변수를 사용하여 Instant Messaging 구성 요소의 로깅 수준을 설정하려면을 참조하십시오.

단일 사인 온(SSO)이 작동하지 않음

Sun Java System Access Manager에서 SSO를 사용하는 경우 Access Manager 서버와 Instant Messaging 서버에서 동일한 웹 컨테이너를 사용하도록 구성해야 합니다.

Instant Messenger가 로드되거나 시작되지 않음

이 문제에 가능한 원인은 다음과 같습니다.

필요한 정보를 가져올 수 있는 위치:

연결이 거부되거나 시간이 초과됨

이 문제에 가능한 원인은 다음과 같습니다.

진단 정보를 가져올 수 있는 위치:

인증 오류

이 문제에 가능한 원인은 다음과 같습니다.

진단 정보를 가져올 수 있는 위치:

Instant Messenger 채널 표시 오류

이 문제에 가능한 원인은 다음과 같습니다.

진단 정보를 가져올 수 있는 위치:

Instant Messaging 서버 및 Instant Messaging 채널 로그

Instant Messaging의 내용이 아카이브되지 않음

이 문제에 가능한 원인은 다음과 같습니다.

진단 정보를 가져올 수 있는 위치:

Instant Messaging 서버 및 아카이브 로그 파일

서버 간 통신을 시작할 수 없음

이 문제에 가능한 원인은 다음과 같습니다.

진단 정보를 가져올 수 있는 위치:

두 서버의 Instant Messaging 서버 로그 파일

치명적인 설치 오류로 인해 불안정한 서버 상태

Instant Messaging을 설치 또는 제거하는 도중 치명적인 오류가 발생하면 시스템 상태가 불안정하게 될 수 있습니다. 이로 인해 설치 및 제거 작업을 완료하지 못하게 됩니다. 이 경우 새로 설치할 수 있도록 모든 Instant Messaging 구성 요소를 수동으로 제거해야 합니다. 이러한 정리 절차는 패키지 및 레지스트리 정보의 제거 작업으로 구성됩니다.

Procedure모든 Instant Messaging 구성 요소를 수동으로 제거하려면

  1. 이후의 설치에서 필요한 모든 정보를 백업합니다.

    자세한 지침은 Instant Messaging 데이터 백업을 참조하십시오.

  2. 제품 레지스트리 정보를 수동으로 편집합니다.

    Solaris 9의 경우 다음 명령을 실행합니다.


    prodreg(1)
    

    기타 모든 운영 체제의 경우 다음을 수행합니다.

    1. productregistry.xml을 편집하고, 파일에서 모든 Instant Messaging XML 요소를 제거합니다.

      기본적으로 productregistry XML 파일은 다음 위치에 저장됩니다.

      • Solaris: /var/sadm/install/productregistry

      • Linux: /var/tmp/productregistry

    2. 다음 패키지나 RPM이 아직 남아 있으면 이를 제거합니다.

      • SUNWiim

      • SUNWiimc

      • SUNWiimd

      • SUNWiimid

      • SUNWiimin

      • SUNWiimjd

      • SUNWiimm

      • SUNWiimc-l10n

      • SUNWiimd-l10n

      • SUNWiimid-l10n

      • SUNWiimin-l10n

Access Manager 콘솔(amconsole)에 Instant Messaging 서비스가 표시되지 않음

Instant Messaging에서 Access Manager 정책을 Sun Java System Application Server 배포 환경에 사용할 경우 Instant Messaging 구성을 끝낸 후 Application Server를 다시 시작해야 합니다. Application Server를 다시 시작하지 않으면 Access Manager 콘솔(amconsole)에서 Instant Messaging 서비스가 표시되지 않습니다.

Instant Messaging 및 LDAP 문제 해결

다음에 나오는 LDAP 문제는 지정된 배포에서 발생할 수 있습니다. iim.conf 파일의 LDAP 매개 변수를 적절히 변경합니다.

익명 바인딩을 허용하지 않는 디렉토리 사용

기본적으로 Instant Messaging 서버는 LDAP 디렉토리의 익명 검색을 수행합니다. 그러나 사이트에서는 일반적으로 임의의 사용자가 모든 정보를 검색하고 읽어 들이지 못하도록 자신의 디렉토리에서 익명 검색을 방지합니다. 사이트의 디렉토리가 이러한 익명 검색을 차단하도록 구성되었고 사후 설치 구성에서 바인드 자격 증명을 제공하지 않았으면 바인드하고 검색할 때 사용할 수 있는 사용자 아이디와 비밀번호를 요구하도록 Instant Messaging 서버를 구성해야 합니다.

iim_ldap.usergroupbinddniim_ldap.usergroupbindcred 매개 변수를 사용하여 필요한 자격 증명을 구성하십시오.

ProcedureInstant Messaging 서버에 대한 바인드 자격 증명을 구성하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. 서버가 디렉토리 바인드에 사용할 DN을 iim_ldap.usergroupbinddn의 값으로 지정합니다.


    iim_ldap.usergroupbinddn=bind-DN
    
  3. 바인드 DN에 해당하는 비밀번호를 iim_ldap.usergroupbindcred의 값으로 지정합니다.


    iim_ldap.usergroupbindcred=password
    
  4. 파일을 저장하고 닫습니다.

cn 이외의 속성을 사용하여 대화 상대 이름 표시

Instant Messenger에서 대화 상대 이름을 표시하는 방법을 사용자 정의할 수 있습니다. Instant Messenger에서 대화 상대 이름을 표시하는 데 사용되는 기본 속성은 cn입니다. 대화 상대 목록은 이름, 으로 표시됩니다. 예를 들면 Frank Smith, Mary Jones 등입니다.

iim_ldap.userdisplayiim_ldap.groupdisplay 매개 변수를 사용하여 대화 상대 이름을 표시하는 데 사용할 속성을 지정하십시오.

Procedure대화 상대 이름을 표시하는 데 사용되는 속성을 변경하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. 사용자 이름을 표시하는 데 사용할 속성을 iim_ldap.userdisplay 값으로 지정합니다.


    iim_ldap.userdisplay=user-name-attribute
    
  3. 그룹 이름을 표시하는 데 사용할 속성을 iim_ldap.groupdisplay 값으로 지정합니다.


    iim_ldap.groupdisplay=group-name-attribute
    
  4. 파일을 저장하고 닫습니다.

와일드카드를 사용한 디렉토리 검색

와일드카드를 사용할 수 있도록 디렉토리가 색인화되고 대화 상대 이름을 검색할 때 와일드카드를 사용할 경우 와일드카드 검색을 허용하도록 Instant Messaging 서버를 구성해야 합니다. 그러나 와일드카드 검색을 허용할 때 하위 문자열 검색에 대해 사용자 아이디가 색인화되지 않으면 성능에 영향을 미칠 수 있습니다. Instant Messaging에 와일드카드 검색을 허용하기 위한 지침은 클라이언트 사용자 연락처 검색을 수정하는 방법을 참조하십시오.

사용자 및 그룹에 비표준 객체 클래스 사용

디렉토리에서 비표준 객체 클래스가 사용되어 사용자와 그룹을 정의하는 경우 해당 iim_ldap.* 매개 변수를 변경하여 inetorgpersongroupofuniquenames를 해당 값으로 대체해야 합니다.

LDAP 매개 변수 목록은 LDAP 및 사용자 등록 구성 매개 변수를 참조하십시오.

Procedure사용자와 그룹을 지정하는 데 사용되는 객체 클래스를 변경하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. inetorgperson을 찾아 디렉토리의 사용자를 정의하는 데 사용되는 객체 클래스로 대체합니다.

  3. groupofuniquenames를 찾아 디렉토리의 그룹을 정의하는 데 사용되는 객체 클래스로 대체합니다.

  4. 파일을 저장하고 닫습니다.

사용자 인증에 uid 이외의 속성 사용

디렉토리에서 사용자 인증에 uid 속성이 사용되지 않으면 디렉토리에서 사용되는 속성으로 Instant Messaging 서버를 구성해야 합니다. 기본적으로 Instant Messaging에는 uid가 사용됩니다. 값에 uid를 포함하는 각각의 필터 매개 변수도 변경해야 합니다.

iim_ldap.loginfilter 매개 변수를 사용하여 사용자 인증에 사용할 속성을 지정하십시오.

Procedure사용자 인증에 사용되는 속성을 변경하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. 다음 매개 변수에서 uid를 찾아 사용자 인증에 사용할 속성으로 대체합니다.

    • iim_ldap.loginfilter

    • iim_ldap.usergroupbyidsearchfilter

  3. 파일을 저장하고 닫습니다.

사용자 아이디에 uid 이외의 속성 사용

디렉토리에서 사용자 아이디에 uid 속성이 사용되지 않으면 디렉토리에서 사용되는 속성으로 Instant Messaging 서버를 구성해야 합니다. 기본적으로 Instant Messaging에는 uid가 사용됩니다. 또한 색인화되지 않는 속성에 대해 검색함으로써 발생되는 성능 저하를 보완할 수 있도록 디렉토리의 속성을 색인화해야 합니다.

iim_ldap.user.uidattr 매개 변수를 사용하여 사용자 아이디에 사용할 속성을 지정하십시오.

Procedure사용자 아이디에 사용되는 속성을 변경하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. 사용자 아이디에 사용할 속성을 iim_ldap.user.uidattr 값으로 지정합니다.

    기본값은 uid입니다.

    예를 들어 loginname 속성을 사용하려면 iim_ldap.user.uidattr 속성을 다음과 같이 설정합니다.

    iim_ldap.user.uidattr=loginname

  3. 파일을 저장하고 닫습니다.

  4. LDAP 색인 규칙에 색인 지시문을 추가합니다.

    index loginname eq

여러 노드 배포(서버 풀)의 연결 문제 해결

서버 풀 내 서버 간에 상태 확인이 공유되지 않을 때 오류 메시지가 표시되면 다음을 수행하십시오.

Instant Messaging 모니터링

Instant Messaging의 에이전트를 사용하면 작업을 모니터링할 수 있습니다. 이 에이전트는 모니터링 프레임워크 관리 에이전트, 즉 mfwk 에이전트라고 합니다. mfwk 에이전트는 CAC(Common Agent Container)에 포함되어 있습니다. mfwk 에이전트는 Instant Messaging과 함께 설치됩니다. CAC는 Java ES에 포함되어 있고 Java ES 설치 프로그램으로 설치됩니다. 모니터링 설치, 활성화 및 관리에 대한 내용과 모니터링되는 Instant Messaging 객체에 대한 개요는 Sun Java Enterprise System 5 Monitoring Guide를 참조하십시오.

워치독 프로세스 관리

워치독 프로세스는 서버와 멀티플렉서 구성 요소를 모니터링하고, 구성 요소가 실행 중이 아닌 것으로 확인될 경우 구성 요소를 다시 시작하려고 시도합니다.

서버의 경우 워치독은 서버에서 주기적으로 다른 서버에 직접 연결을 시도하는지 또는 현재 서버 구성에 따라 멀티플렉서를 통해 연결을 시도하는지 확인합니다. 워치독은 서버의 작동 상태 폴을 시도한 다음 상태를 확인할 수 없으면 서버에 대한 연결을 시도합니다. 두 작업이 모두 실패하면 워치독이 중지되고 서버가 다시 시작됩니다.

워치독이 활성화되어 있고 imadmin status 명령을 사용하여 실행 중인지 확인한 다음 워치독을 사용합니다. 기본적으로 워치독은 Instant Messaging을 설치할 때 활성화되어 실행 중에 있습니다.

imadmin 유틸리티에 대한 자세한 내용은 부록 C, Instant Messaging imadmin 도구 참조를 참고하십시오.

워치독 상태 확인

imadmin 명령줄 유틸리티를 사용하여 워치독의 상태를 확인합니다.

Procedure워치독 상태를 확인하려면

  1. imadmin 명령줄 유틸리티가 있는 디렉토리로 이동합니다.


    cd im-svr-base/sbin
    
  2. imadmin status를 실행합니다.


    ./imadmin status watchdog
    

    imadmin 유틸리티는 워치독의 현재 상태를 반환합니다.

워치독 활성화 및 비활성화

워치독은 기본적으로 Instant Messaging을 설치할 때 활성화됩니다. iim.conf에서 구성 매개 변수를 설정하면 워치독을 비활성화 또는 활성화할 수 있습니다.

Procedure워치독을 활성화 또는 비활성화하려면

  1. iim.conf를 엽니다.

    iim.conf 파일 찾기 및 수정에 대한 지침은 iim.conf 파일 구문을 참조하십시오.

  2. 다음과 같이 iim_wd.enable 매개 변수를 설정하여 워치독을 활성화 또는 비활성화합니다.

    워치독을 활성화하려면 다음과 같이 설정합니다. iim_wd.enable=true

    워치독을 비활성화하려면 다음과 같이 설정합니다. iim_wd.enable=false

  3. iim.conf 파일을 저장하고 닫습니다.

  4. Instant Messaging 서버 구성을 새로 고칩니다.


    cd im-svr-base/sbin
    

    ./imadmin refresh
    

워치독의 로깅 관리

서버, 멀티플렉서 및 캘린더 에이전트의 로깅 관리와 동일한 방법으로 워치독의 로깅을 관리합니다. 워치독 로그 파일은 im-db-base/log/iim_wd.log에 저장됩니다.

워치독을 포함한 모든 Instant Messaging 구성 요소의 로깅 수준 설정에 대한 자세한 내용은 13 장, Instant Messaging 로깅 관리을 참조하십시오.