Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Oracle OSWatcher: Thu thập chỉ số OS và Phân tích Log

Oracle® OSWatcher là một tiện ích thu thập dữ liệu từ các lệnh như vmstat, iostat, top, ps, netstat, HP-UX® sar, và Linux® meminfo. OSWatcher lưu trữ các file dữ liệu, tự động tìm kiếm vấn đề, và giúp xác định nguyên nhân gốc rễ của các vấn đề, nếu có thể.

Giới thiệu

Theo cơ sở hàng giờ, OSWatcher thu thập thống kê hệ điều hành (OS) trong nền bằng cách sử dụng các lệnh OS sau:

  • CPU
  • Bộ nhớ (Memory)
  • Disk I/O

OSWatcher ghi các file vào $TFA_HOME/repository/suptools/walhall/oswbb/oracle/archive/.

Vì không có housekeeping tự động, bạn nên tạo cron job để tự động xóa file cũ hơn một số ngày nhất định để dọn dẹp thống kê OS. Ví dụ, cron job dọn dẹp của bạn có thể chạy lệnh sau để xóa file cũ hơn 10 ngày:

find $TFA_HOME/repository/suptools/walhall/oswbb/oracle/archive -name "*.*" -mtime +10 -exec rm -f {} \; 

Đọc log output oswiostat

Nếu iostat được cài đặt và user OSWatcher có quyền chạy tiện ích, log OSWatcher thu thập và lưu trữ output theo cơ sở hàng giờ, mặc định, từ lệnh iostat.

iostat, được dùng để giám sát tải thiết bị input/output của hệ thống, thu thập thông tin sau:

  • Thời gian
  • Các ổ đĩa vật lý và tốc độ trung bình truyền dữ liệu của chúng

Ví dụ output

File log oswiostat bao gồm dữ liệu sau:

  • device: Tên thiết bị
  • r/s: Reads per second (Số lần đọc mỗi giây)
  • w/s: Writes per second (Số lần ghi mỗi giây)
  • rsec/s: Kilobytes read per second (KB đọc mỗi giây)
  • wsec/s: Kilobytes written per second (KB ghi mỗi giây)
  • avgrq-sz: Số lượng trung bình transaction chờ service
  • avgqu-sz: Số lượng trung bình transaction đang được service
  • %util: Phần trăm thời gian đĩa bận (busy)

Dưới đây là hai ví dụ log oswiostat, được lấy cách nhau bảy giờ:

Ở thời điểm chậm:

Time: 00:01:09 avg-cpu: %user %nice %system %iowait %steal %idle 5.22 0.01 1.77 0.10 0.00 92.90 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 10.24 101.92 10.28 29.60 569.53 1057.09 40.79 0.21 5.30 0.53 2.11 sda1 0.00 0.00 0.00 0.00 0.17 0.00 138.66 0.00 12.37 3.45 0.00 sda2 10.24 101.92 10.28 29.57 569.36 1057.09 40.81 0.21 5.30 0.53 2.11 dm-0 0.00 0.00 1.72 77.98 75.95 623.85 8.78 1.20 14.99 0.08 0.67 dm-1 0.00 0.00 0.46 2.37 3.80 18.94 8.04 0.01 2.71 0.29 0.08 dm-2 0.00 0.00 7.44 50.74 278.30 410.79 11.84 0.72 12.30 0.23 1.33 dm-3 0.00 0.00 0.00 0.00 0.15 0.00 509.61 0.00 46.78 7.53 0.00 dm-4 0.00 0.00 0.49 0.00 117.41 0.02 238.95 0.00 1.94 1.05 0.05 dm-5 0.00 0.00 0.05 0.00 10.84 0.00 230.78 0.00 2.58 1.34 0.01 dm-6 0.00 0.00 0.00 0.00 0.10 0.00 479.96 0.00 54.94 8.70 0.00 

Ở thời điểm bận:

Time: 07:32:57 avg-cpu: %user %nice %system %iowait %steal %idle 8.16 0.00 70.29 21.55 0.00 0.00 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 163.40 7.73 2074.74 53.95 73642.61 493.47 34.83 107.13 50.07 0.47 100.07 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 163.40 7.73 2074.74 53.95 73642.61 493.47 34.83 107.13 50.07 0.47 100.07 dm-0 0.00 0.00 201.03 0.86 8412.37 6.87 41.70 58.68 281.80 4.96 100.07 dm-1 0.00 0.00 180.76 26.46 1446.05 211.68 8.00 25.24 119.01 4.83 100.07 dm-2 0.00 0.00 1868.90 34.54 63913.40 276.29 33.72 332.23 172.22 0.53 100.09 dm-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 dm-6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 

Nguồn hình ảnh: https://www.dbas-oracle.com/2013/05/How-to-Analyze-or-Read-OS-Watcher-Output-in-three-easy-steps-With-Example.html

Snapshot lúc nửa đêm cho thấy hiệu suất tốt, và snapshot lúc 7:32 AM cho thấy hiệu suất kém. Chú ý các chỉ báo hiệu suất kém trong snapshot thứ hai:

  • Một vài đĩa 100% bận, như thấy ở cột %util.
  • Cột r/s cho thấy số lượng reads per second rất cao.
  • Thống kê avg-cpu %idle cho thấy hệ thống 0% idle so với 92% idle trong snapshot trước.

Đọc log output mpstat

Nếu mpstat được cài đặt và user OSWatcher có quyền chạy tiện ích, log OSWatcher thu thập và lưu trữ output theo cơ sở hàng giờ, mặc định, từ lệnh mpstat. Database administrators dùng lệnh này để giám sát mức sử dụng central processing unit (CPU).

Ví dụ output

File log mpstat bao gồm dữ liệu sau:

  • CPU: CPU nào. all bao gồm stats từ tất cả CPU có sẵn trong hệ thống.
  • %user: Phần trăm CPU dùng cho chương trình USER
  • %sys: Phần trăm CPU dùng cho chương trình hệ thống
  • %iowait: Phần trăm CPU tiêu thụ bởi IO waits
  • %idle: Phần trăm tài nguyên hệ thống rảnh

Dưới đây là hai ví dụ log mpstat lấy cách nhau một giờ:

Ở thời điểm chậm:

zzz ***Tue Apr 23 06:13:44 EDT 2013 Sample interval: 5 seconds Linux 2.6.32-400.21.1.el5uek (remote.database.com) 04/23/13 06:13:44 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 06:13:49 all 6.26 0.00 1.32 0.00 0.01 0.02 0.00 92.39 36448.70 06:13:54 all 8.17 0.00 1.92 0.01 0.00 0.05 0.00 89.86 38918.09 06:13:59 all 8.11 0.00 1.18 0.01 0.00 0.05 0.00 90.65 40989.86 06:14:04 all 8.04 0.00 1.25 0.06 0.00 0.05 0.00 90.61 40242.86 06:14:09 all 6.62 0.00 1.27 0.02 0.00 0.05 0.00 92.04 37460.32 06:14:14 all 7.56 0.00 1.47 0.02 0.00 0.02 0.00 90.94 37288.67 06:14:19 all 7.19 0.00 1.21 0.14 0.00 0.02 0.00 91.44 36947.91 06:14:24 all 6.50 0.00 1.02 0.01 0.00 0.02 0.00 92.45 35792.86 06:14:29 all 7.28 0.00 1.82 0.01 0.00 0.02 0.00 90.87 36795.42 06:14:34 all 7.37 0.02 1.20 0.02 0.00 0.01 0.00 91.37 36818.80 06:14:39 all 7.41 0.00 1.05 0.02 0.00 0.02 0.00 91.49 36874.90 06:14:44 all 7.15 0.01 1.62 0.04 0.00 0.02 0.00 91.16 35904.77 06:14:49 all 7.21 0.00 1.22 0.14 0.00 0.02 0.00 91.41 38867.73 06:14:54 all 7.31 0.00 1.00 0.00 0.00 0.03 0.00 91.65 39378.74 

Ở thời điểm bận:

zzz ***Tue Apr 23 07:23:02 EDT 2013 Sample interval: 5 seconds Linux 2.6.32-400.21.1.el5uek (remote.database.com) 04/23/13 07:24:20 CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 07:24:25 all 2.74 0.00 97.16 0.00 0.00 0.10 0.00 0.00 39066.67 07:24:30 all 3.06 0.00 96.87 0.00 0.00 0.07 0.00 0.00 37637.52 07:24:37 all 3.13 0.00 96.79 0.01 0.00 0.07 0.00 0.00 36788.64 07:24:42 all 2.69 0.00 97.17 0.05 0.00 0.09 0.00 0.00 38270.04 07:24:48 all 3.86 0.01 94.92 1.02 0.00 0.20 0.00 0.00 43247.39 07:24:53 all 3.51 0.00 96.19 0.20 0.00 0.11 0.00 0.00 39887.45 07:24:59 all 4.22 0.00 93.51 2.12 0.00 0.15 0.00 0.00 40638.08 07:25:04 all 6.26 0.00 85.04 8.56 0.00 0.13 0.00 0.00 41915.79 07:25:09 all 8.69 0.00 67.31 23.85 0.00 0.11 0.00 0.03 44586.56 07:25:15 all 8.09 0.00 80.62 11.17 0.00 0.12 0.00 0.00 44321.66 07:25:21 all 7.18 0.00 71.95 20.80 0.00 0.07 0.00 0.00 35399.65 07:25:26 all 6.69 0.00 68.20 24.97 0.01 0.12 0.00 0.00 38734.99 07:25:31 all 7.11 0.01 74.71 18.09 0.00 0.08 0.00 0.00 36695.68 07:25:36 all 7.46 0.00 14.17 78.20 0.00 0.05 0.00 0.13 32934.53 07:25:50 all 9.71 0.00 23.99 66.24 0.00 0.05 0.00 0.00 33617.64 07:25:56 all 7.80 0.00 85.97 6.13 0.00 0.10 0.00 0.00 41234.83 

Snapshot lúc 06:13 cho thấy hiệu suất tốt, và snapshot lúc 7:32 AM cho thấy hiệu suất kém. Chú ý các chỉ báo hiệu suất kém trong snapshot thứ hai:

  • Cột %sys cho thấy peak utilization 97.17.
  • Cột %iowait cho thấy peak utilization 78.20.

Đọc top output

Lệnh top cung cấp snapshot hàng giờ của hoạt động processor. Log hiển thị các process được liệt kê theo thứ tự giảm dần của CPU utilization để process dùng nhiều CPU nhất được liệt kê đầu tiên.

Trong các trường hợp CPU utilization trên hệ thống tăng đột ngột mà số lượng process không thay đổi, top có thể giúp xác định vấn đề.

Ví dụ output

Xét kịch bản sau, nơi CPU spike mặc dù load không tăng:

zzz ***Tue Apr 23 03:13:44 EDT 2013 Sample interval: 5 seconds. All measurements in KB (1024 bytes) top - 04:13:44 up 22 days, 21:12, 10 users, load average: 65.80, 169.78, 117.65 Tasks: 2297 total, 4 running, 2229 sleeping, 0 stopped, 64 zombie Cpu0 : 12.7%us, 2.6%sy, 0.0%ni, 84.2%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 6.7%us, 2.0%sy, 0.0%ni, 91.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st Cpu2 : 6.4%us, 1.7%sy, 0.0%ni, 91.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 5.5%us, 1.3%sy, 0.0%ni, 93.1%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 7.6%us, 1.6%sy, 0.0%ni, 90.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 5.3%us, 1.1%sy, 0.0%ni, 93.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 11.8%us, 2.7%sy, 0.0%ni, 85.3%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st Cpu7 : 7.0%us, 2.2%sy, 0.0%ni, 90.6%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st Cpu8 : 5.8%us, 1.5%sy, 0.0%ni, 91.8%id, 0.8%wa, 0.0%hi, 0.1%si, 0.0%st Cpu9 : 8.0%us, 1.7%sy, 0.0%ni, 90.0%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st Cpu10 : 3.8%us, 1.2%sy, 0.0%ni, 94.9%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Cpu11 : 3.6%us, 1.0%sy, 0.0%ni, 95.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 99060540k total, 91969324k used, 7091216k free, 84044k buffers Swap: 25165816k total, 17797404k used, 7368412k free, 609612k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20343 oracle 20 0 13.4g 10g 5864 R 98.4 10.7 18:56.54 oraclevntrd2 (LOCAL=NO) 30180 root 20 0 11872 2312 656 R 98.4 0.0 0:00.68 /bin/netstat -n -p -l 6568 root 39 19 0 0 0 R 89.9 0.0 263:39.04 [kipmi0] 30262 root 20 0 23704 3116 1048 R 11.9 0.0 0:00.15 /usr/bin/top -b -d 5 -n 720 4921 root RT 0 247m 86m 55m S 6.8 0.1 328:08.44 /u01/app/11.2.0.3/grid/bin/osysmond.bin 28116 oracle 20 0 2623m 71m 14m S 6.8 0.1 51:51.62 /u01/app/11.2.0.3/grid/bin/oraagent.bin 4970 grid RT 0 359m 176m 54m S 5.1 0.2 157:05.89 /u01/app/11.2.0.3/grid/bin/ocssd.bin 64 root 20 0 0 0 0 S 1.7 0.0 4:39.22 [ksoftirqd/20] 4903 root 20 0 367m 20m 13m S 1.7 0.0 26:09.97 /u01/app/11.2.0.3/grid/bin/orarootagent.bin 6496 root 20 0 1274m 15m 11m S 1.7 0.0 28:27.53 /u01/app/11.2.0.3/grid/bin/orarootagent.bin 6535 oracle 20 0 1830m 263m 4620 S 1.7 0.3 88:05.31 /u01/app/oracle/product/agent12c/core/12.1.0.2.0/jdk/bin/java -Xmx128M -server -Djava.secu 7803 oracle -2 0 1266m 11m 4068 S 1.7 0.0 9:15.42 ora_lms0_oradb2 7874 oracle -2 0 1266m 15m 4188 S 1.7 0.0 9:16.20 ora_lms0_oradb2 7999 oracle 20 0 1284m 10m 3292 S 1.7 0.0 2:49.08 ora_lmd0_oradb2 8297 oracle 20 0 1230m 3368 2864 S 1.7 0.0 0:39.95 ora_pmon_oradb2 8333 oracle -2 0 1252m 2380 2108 S 1.7 0.0 13:19.99 ora_vktm_bid2 8443 oracle -2 0 1252m 2340 2096 S 1.7 0.0 13:21.86 ora_vktm_oradb2 8535 oracle 20 0 1253m 2712 2412 S 1.7 0.0 0:14.28 ora_dskm_oradb2 8727 oracle -2 0 1266m 11m 3656 S 1.7 0.0 9:01.37 ora_lms0_im1d2 8905 oracle 20 0 1267m 13m 3468 S 1.7 0.0 9:52.75 ora_dia0_pstd2 

Phân tích log:

Dòng zzz ***Tue Apr 23 03:13:44 EDT 2013 Sample interval: 5 seconds. All measurements in KB (1024 bytes) xác định thời điểm log capture thống kê.

Dòng top - 04:13:44 up 22 days, 21:12, 10 users cho thấy hệ thống đã chạy 22 ngày kể từ lần reboot cuối.

Dòng load average: 65.80, 169.78, 117.65 hiển thị số lượng trung bình process trong run queue cho 1, 5, và 15 phút cuối. Load average càng cao, hệ thống càng bận. Sự tăng đáng kể load average có thể chỉ ra vấn đề. Ví dụ, log trước cho thấy thời điểm bận so với log bảy phút sau, dựa trên số load average: top - 04:20:53 up 22 days, 21:19, 10 users, load average: 2.93, 43.22, 75.56

Dòng Tasks: 2297 total, 4 running, 2229 sleeping, 0 stopped, 64 zombie: Tại thời điểm snapshot này, có 2297 process, 2229 đang ngủ (sleeping), tức là bị block bởi I/O hoặc system call, và 4 đang chạy hoặc được gán cho CPU. Số process chạy không bao giờ vượt quá số CPU. Thêm 64 process là zombie, tức là chúng đã chết, nhưng hệ thống chưa dọn dẹp hoàn toàn. Số process biến đổi, nhưng nếu tăng hoặc giảm đột ngột, có thể chỉ ra vấn đề.

Dòng Mem: 99060540k total, 91969324k used, 7091216k free, 84044k buffers cho thấy bao nhiêu RAM (kilobytes) đang dùng và free. Chú ý cách thay đổi theo thời gian để xác định vấn đề.

Dòng Swap: 25165816k total, 17797404k used, 7368412k free, 609612k cached: Nếu RAM cạn kiệt, hệ thống chuyển sang swap memory. Khi swap memory dùng liên tục hơn khoảng 40% RAM, bạn nên cân nhắc tăng RAM. Swap usage cao ảnh hưởng tiêu cực đến hiệu suất. Nếu đạt 100%, hệ thống có thể reboot.

Các dòng CPU sau cho thấy số lượng và mức sử dụng 12 CPU trong hệ thống này:

Cpu0 : 12.7%us, 2.6%sy, 0.0%ni, 84.2%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st ... Cpu11 : 3.6%us, 1.0%sy, 0.0%ni, 95.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 

Các dòng process sau cho thấy chi tiết các process đang chạy tại thời điểm snapshot:

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20343 oracle 20 0 13.4g 10g 5864 R 98.4 10.7 18:56.54 oraclevntrd2 (LOCAL=NO) 30180 root 20 0 11872 2312 656 R 98.4 0.0 0:00.68 /bin/netstat -n -p -l 6568 root 39 19 0 0 0 R 89.9 0.0 263:39.04 [kipmi0] 30262 root 20 0 23704 3116 1048 R 11.9 0.0 0:00.15 /usr/bin/top -b -d 5 -n 720 ... 8727 oracle -2 0 1266m 11m 3656 S 1.7 0.0 9:01.37 ora_lms0_im1d2 8905 oracle 20 0 1267m 13m 3468 S 1.7 0.0 9:52.75 ora_dia0_pstd2 

Phần process chứa thông tin sau:

  • PID: OS process ID của process
  • USER: Chủ sở hữu của process
  • %CPU: Phần trăm CPU được dùng bởi process
  • %MEM: Phần trăm tiêu thụ bộ nhớ
  • COMMAND: Lệnh đang thực thi

Kết luận

Bằng cách sử dụng OSWatcher, bạn có thể theo dõi hiệu suất hệ thống và xác định các vấn đề có thể. Ví dụ, kiểm tra xem một process có đang dùng CPU nhiều trong một khoảng thời gian nhất quán hay không. Nếu một lệnh SQL có load cao, thì đây có thể là ứng cử viên cho tuning. Nếu một process dùng nhiều bộ nhớ, bạn có thể điều tra xem điều này có bình thường hay không.

Có các stats khác có sẵn trong OSWatcher để xem xét, sau khi nhìn CPU, memory, và disk I/O (như system load). Nếu bạn xác định được sự tăng load trên hệ thống bằng phân tích OSWatcher, đã chiến thắng một nửa cuộc chiến.

Sử dụng tab Feedback để đưa ra bình luận hoặc đặt câu hỏi.

Nguồn tham khảo:

How to Analyze or Read OSWatcher Output in Three Easy Steps with Example

Tối ưu môi trường của bạn với quản trị, quản lý và cấu hình chuyên nghiệp

Các chuyên gia Dịch vụ ứng dụng của Rackspace (RAS) cung cấp các dịch vụ chuyên nghiệp và được quản lý sau đây trên danh mục ứng dụng rộng:

  • Nền tảng eCommerce và Trải nghiệm số
  • Quản trị nguồn lực doanh nghiệp (ERP)
  • Business Intelligence
  • Salesforce Quản trị quan hệ khách hàng (CRM)
  • Databases
  • Lưu trữ Email và Năng suất

Chúng tôi cung cấp:

  • Chuyên môn khách quan: Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị ngay lập tức.
  • Fanatical Experience™: Chúng tôi kết hợp phương pháp Process first. Technology second.® với hỗ trợ kỹ thuật chuyên dụng để cung cấp giải pháp toàn diện.
  • Danh mục không đối thủ: Chúng tôi áp dụng kinh nghiệm đám mây rộng lớn để giúp bạn chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
  • Giao hàng Agile: Chúng tôi gặp gỡ bạn ở bất kỳ đâu trong hành trình của bạn và điều chỉnh thành công của chúng tôi với của bạn.

Chat ngay để bắt đầu.