[Trouble Shooting] SUM 2.0 실행 시 아무런 페이지가 안 뜨는 경우
안녕하세요. SAP 운영자 ST03 입니다.
갑자기 여러 일이 겹치는 바람에 관련 정리를 못 하고 있는 와중에 하나라고 정리를 할까 해서 이슈에 대한 정리를 합니다.
SAP 관련 기술 지원은 설치하고 나면 결국 비슷하지만 최초 접근 방법이나 구조가 다른 IT 들과는 다른 점들이 있습니다.
이번 이슈는 테스트 S4HANA 시스템 업그레이드 중에 발생한 SUM 기동 문제 입니다.
#1 상황
S4HANA 1809 를 FPS01 로 Upgrade 를 하기 위해서는 SUM 이라는 도구를 사용해야 합니다.
SUM 을 기동하는 방법은 나중에 이번 Upgrade 작업을 정리하면서 쓰겠지만, 정확한 사용법은 OS 마다 조금씩 상이하니 SAP System Maintenance Tools Guide 를 읽어 보실 것을 권해 드립니다.
이번 건은 SUM 2.0 을 제대로 기동 하였으나 브라우저에서 404 에러를 띄는 경우를 이야기 합니다.
#2 기술적인 이해
SUM 이 버전이 높아지고 SAP 의 기술들이 Java 보다 Web 에서 기동되는 것을 선호하기 시작하면서 이런 Maintenance Tool 들은 SAP Host Agent 를 통해 기동하게 되었습니다.
만약 여러분들이 SAP 의 어떤 Tool 을 기동했는데 웹브라우저의 1128 이나 1129 port 를 통해서 이후 진행을 하라고 나온다면 이는 SAP Host Agent 에 해당 서비스를 등록하고 이를 통해서 web service 를 하는 형식 입니다.
SUM 기동을 기준으로 기술적인 순서를 본다면 대략 다음과 같습니다. (SAP 의 공식적인 가이드는 아니고 이번 이슈를 이해하기 위한 간단한 정리이니 참고만 해 주세요)
1. SUM 프로그램을 host agent 에 등록
2. host agent 를 재기동 하여 기동시에 SUM 서비스를 웹에서 구동 할 수 있도록 함
3. 사용자가 web browser 로 접속
4. web browser 를 통해 SUM 프로세스 (SAPup) 기동
여기에서 1~3 까지는 사실상 SAP host agent 에 로그가 남고 4부터 SUM 에서 로그가 남게 됩니다. 그렇기 때문에 SUM 의 기동 자체에 문제가 있는 경우에는 host agent 쪽 로그를 보시는게 좋습니다.
#3 진단 과정
제가 IT 를 SAP 로 시작해서 그런지 느끼는 것인지 모르겠지만, 개인적으로는 진입장벽이 높아서 그렇지 정확하게 봐야 할 부분만 알면 trouble shooting 은 어렵지 않은 것이 SAP 시스템이라고 생각 합니다.
SAP Host Agent 는 /usr/sap/hostctrl/ 에 설치되어 있습니다.
~/exe/ 에는 실행 파일들이, ~/work/ 에는 로그 파일들이 들어가 있는 것이 SAP Netweaver 기반 시스템들의 특징이죠.
~/work/ 안에 보면 dev 로 시작하는 파일들이 developer trace 라 불리우는 로그 파일입니다.
saptest:/usr/sap/hostctrl/work # ls -ltr
total 35596
-rw-r----- 1 sapadm 1002 8 -- -- ---- logsave.bin
drwxr-xr-x 2 sapadm 1002 6 -- -- ---- logmon
drwxr-xr-x 2 sapadm 1002 6 -- -- ---- grmg
drwxr-xr-x 2 sapadm 1002 6 -- -- ---- dsr
drwxr-x--- 2 root sapinst 6 -- -- ---- lib
-rw-r--r-- 1 root 1002 66 -- -- ---- .foundmobj
drwxr-x--- 2 sapadm 1002 154 -- -- ---- runnings.commands
-rw------- 1 sapadm sapsys 287 -- -- ---- outsidediscovery.log
drwx--x--x 2 sapadm 1002 4096 -- -- ---- sapcontrol_logon
-rw-r--r-- 1 root root 10495330 -- -- ---- dev_sapdbctrl.old
-rw-r----- 1 sapadm 1002 437376 -- -- ---- ALMTTREE
-rw-r----- 1 sapadm 1002 1353 -- -- ---- ALALERTS
-rw-r----- 1 sapadm 1002 376425 -- -- ---- ALPERFHI
-rw-r--r-- 1 sapadm sapsys 19344010 -- -- ---- sapstartsrv.old
-rw-r--r-- 1 root sapsys 969570 -- -- ---- dev_saphostexec.old
-rw-r--r-- 1 root sapsys 7634 -- -- ---- dev_saphostexec
drwxr-x--- 3 sapadm 1002 192 -- -- ---- sapccmsr
drwx------ 2 sapadm 1002 190 -- -- ---- .proxy.context
drwx------ 2 sapadm 1002 4096 -- -- ---- .osmetrics
-rw-r--r-- 1 root root 1082898 -- -- ---- dev_sapdbctrl
-rw-r--r-- 1 sapadm sapsys 1448192 -- -- ---- sapstartsrv.log
이번에는 DB 쪽 control 쪽이 아닌 host agent 자체의 현황을 볼 것이기 때문에 dev_saphostexec 를 볼 겁니다.
저 같은 경우는 tail -f 로 걸어 놓은 상태에서 SUM 기동 후 웹으로 접속을 해 봤는데 dev_saphostexec 에 아무런 로그가 없었습니다.
이와 같이 자료가 제대로 나오지 않을 경우에는 host agent 의 trace level 을 올려 줘야 합니다.
상세한 방법은 SAP Host Agent Troubleshooting Wiki 에 들어가 있으니 참고 하시면 되겠습니다.
저도 해당 페이지를 참고 하여 hostexec/trace 파라미터와 service/trace 파라미터를 3 으로 부여하고 host agent 및 SUM 을 다시 시작 했습니다.
그 이후에 보면 dev_saphostexec 에 아래와 같은 로그를 발견 할 수 있었습니다.
[Thr 140593550821120] - Parsing buffer 'GET /lmsl/sumabap/S4H/doc/sluigui HTTP/1.1'
[Thr 140593550821120] Trying to lock HTTPHandlerManager::GetInstance
[Thr 140593550821120] Successfully locked HTTPHandlerManager::GetInstance
[Thr 140593550821120] Successfully unlocked HTTPHandlerManager::GetInstance
[Thr 140593550821120] Trying to lock HTTPHandlerManagerUpdate
[Thr 140593550821120] Successfully locked HTTPHandlerManagerUpdate
[Thr 140593550821120] Trying to lock HTTPHandlerManager
[Thr 140593550821120] Successfully locked HTTPHandlerManager
[Thr 140593550821120] Successfully unlocked HTTPHandlerManager
[Thr 140593550821120] Successfully unlocked HTTPHandlerManagerUpdate
[Thr 140593550821120] HostControl_SendHeader: Send Additional Header -> No GSOAPHTTPResponse found
[Thr 140593550821120] HostControl_SendHeader: Server : gSOAP/2.7
[Thr 140593550821120] HostControl_SendHeader: Send Additional Header -> No GSOAPHTTPResponse found
[Thr 140593550821120] HostControl_SendHeader: Connection : keep-alive
[Thr 140593550821120] HostControl_SendHeader: Send Additional Header -> No GSOAPHTTPResponse found
[Thr 140593550821120] NiIWrite: hdl 17 sent data (wrt=108,pac=1,RAW_IO)
[Thr 140593550821120] NiICloseHandle: shutdown and close hdl 17/sock 27
Google 에 보니 OS 레벨의 권한이 문제가 된다는 내용을 확인해서 host agent 설치 폴더의 권한을 확인 해 보았습니다.
saptest:/usr/sap/hostctrl/exe # ls -ltr
total 205300
-rw-r----- 1 root sapinst 313 -- -- ---- host_profile.1
-rwxr-x--- 1 root 1002 7957 -- -- ---- SIGNATURE.SMF
drwxr-x--- 2 sapadm 1002 52 -- -- ---- sec
drwxr-x--- 2 root 1002 67 -- -- ---- adapters.d
-rw-r----- 1 root sapinst 333 -- -- ---- host_profile.2
-rw-r----- 1 root sapinst 304 -- -- ---- host_profile.3
-rwxr-x--- 1 root root 5284296 -- -- ---- saphostexec
-rwxr-x--- 1 sapadm sapsys 17928402 -- -- ---- sapstartsrv
-rwxr-x--- 1 root sapsys 6029349 -- -- ---- saphostctrl
-rwxr-x--- 1 root sapsys 4855962 -- -- ---- sapcontrol
중간생략...
-rwxr-x--- 1 root sapsys 4566112 -- -- ---- SAPCAR
-rwxr-x--- 1 root sapsys 12609 -- -- ---- sapinit
-rwxr-x--- 1 root sapsys 6840 -- -- ---- installsapinit.sh
drwxr-x--- 3 root sapsys 4096 -- -- ---- config.d
-rw-r----- 1 root sapsys 333 -- -- ---- host_profile
drwxr-x--- 2 root 1002 4096 -- -- ---- operations.d
drwxr-x--- 2 root 1002 4096 -- -- ---- descriptors.d
-rwxr-x--- 1 root sapsys 15147 -- -- ---- sldreglib.so
확인 해 보니 operations.d 와 descriptor.d 의 권한이 이상하게 들어가 있었습니다.
이 부분의 권한을 바로 잡고 다시 host agent 및 SUM 을 수행한 뒤에는 정상적으로 SUM 을 시작 할 수 있었습니다.
#4 중요 문서
SAP System Maintenance Tools Guide (SUM 사용법 가이드)
SAP Host Agent Troubleshooting Wiki (SAP Host Agent 문제 발생시 진단 방법, 몇 가지 known issue 정리)