19 January 2009

DataStage: Command Line Interface (#3: Accessing Log)

ตอนที่ 3 นี้จะพูดต่อถึงคำสั่งที่ใช้ในการเข้าถึง log และ status ของ job ซึ่งเป็นประโยชน์อย่างมากในการเขียน shell script เพื่อตรวจสอบก่อนและหลังการรัน Job

แสดงสถานะของ Job ที่ระบุว่ารันครั้งล่าสุดเมื่อวันเวลาใด และรันเสร็จเมื่อใด จบด้วย status ใด
dsjob -report {project name} {job name}
ตัวอย่างคำสั่งและผลลัพธ์
Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -report PROJ1 TSAGGKPIMO03AP01
**************************************************
STATUS REPORT FOR JOB: TSAGGKPIMO03AP01
Generated: 2009-01-12 15:29:24
Job start time=2008-12-17 18:41:21
Job end time=2008-12-17 18:41:23
Job elapsed time=00:00:02
Job status=1 (Finished OK)

แสดงรายละเอียดเกี่ยวกับ Job ที่ระบุ outputที่ได้จะใกล้เคียงกับ dsjob -report มากแต่มีรายละเอียดเพิ่มขึ้นมาอีกนิดหน่อยตามตัวอย่าง
dsjob -jobinfo {project name} {job name}
ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -jobinfo PROJ1 TSAGGKPIMO03AP01
Job Status : RUN OK (1)
Job Controller : SEQTSAGGKPIMO01
Job Start Time : Wed Dec 17 18:41:21 2008
Job Wave Number : 11
User Status : not available
Job Control : 0
Interim Status : NOT RUNNING (99)
Invocation ID : not available
Last Run Time : Wed Dec 17 18:41:23 2008
Job Process ID : 0
Invocation List : TSAGGKPIMO03AP01
Job Restartable : 0

การใส่ข้อความเข้าไปใน Log ของ Datastage Director
dsjob -log {project name} {job name}
ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -log PROJ1 test
Enter message text, terminating with Ctrl-d เช่น
TEST!!
^D
Message read.
เมื่อเข้าไปดู log ใน Director จะปรากฏ log message ดังภาพ





แสดง Log อย่างย่อ แสดงข้อความเหมือนกับที่ปรากฏใน Director output ที่ได้คือ log ของ Job ที่ระบุทั้งหมดที่ยังถูกเก็บใน repository โดยสามารถกำหนด Type ของ Log message ที่ต้องการได้
dsjob -logsum [-type {INFO | WARNING | FATAL | REJECT | STARTED | RESET | BATCH}] {project name} {job name}
ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logsum PROJ1 TSAGGKPIMO03AP01
0 STARTED Wed Dec 17 18:26:21 2008
Starting Job TSAGGKPIMO03AP01. (...)
1 INFO Wed Dec 17 18:26:22 2008
Environment variable settings: (...)
2 INFO Wed Dec 17 18:26:22 2008
Parallel job initiated
3 INFO Wed Dec 17 18:26:22 2008
OSH script (...)
...

แสดง Log อย่างละเอียดในการรันครั้งล่าสุดของ Job ที่ระบุ โดยสามารถระบุ Event Id ที่ต้องการจะดูได้ output ที่ได้จะเหมือนการ Double Click ดู log ใน Director
dsjob -logdetail {project name} {job name} [{event id} | {first event id} {last event id}]
ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -logdetail PROJ1 TSAGGKPIMO03AP01 140 142
Event Id: 140
Time : Wed Dec 17 18:41:23 2008
Type : INFO
User : dsadm
Message :
Parallel job reports successful completion
Event Id: 141
Time : Wed Dec 17 18:41:23 2008
Type : STARTED
User : dsadm
Message :
Finished Job TSAGGKPIMO03AP01.
Event Id: 142
Time : Wed Dec 17 18:41:23 2008
Type : BATCH
User : dsadm
Message :
(SEQTSAGGKPIMO01) <- TSAGGKPIMO03AP01: Job under control finished.

บอก Event Id ล่าสุดของ Job นั้นๆ
dsjob -lognewest {project name} {job name}
ตัวอย่างคำสั่งและผลลัพธ์
/Dstage/IBM/InformationServer/Server/DSEngine/bin $ dsjob -lognewest PROJ1 TSAGGKPIMO03AP01
Newest id = 142

No comments: