Thứ Năm, 21 tháng 10, 2021

Giám sát Oracle WebLogic A-Z

Khi giám sát Oracle WebLogic hay DB chúng ta cần có góc nhìn đa chiều về tất cả các yếu tố ảnh hưởng đến product của chúng ta, để có dấu hiệu nào xuất hiện trong log hay nghiệp vụ báo lỗi chúng ta sẽ nhanh chóng xác định được nguyên nhân
Giám sát Session

Giám sát session của từng server logic: yêu cầu trường cuối Total socket Current cân tải nhau, không có server logic nào cao đột biến

Giám sát tổng session của nghiệp vụ
Vào Summary of Deployments --> Monitoring 


Chú ý trường Current Sessions vào các thời điểm trong ngày để xác định cao điểm, thường vào các ngày đặc biệt của mỗi doanh nghiệp (thanh toán nợ cước bên viễn thông, khuyến mại của các doanh nghiệp,... là cao tải nhất, còn bình thường session sẽ không biến động, giờ cao điểm từ 8h-11h30, 13h30-17h00).

Giám sát JDBC

Workload server logic

Hiển thị tải (request) của từng server logic
Summary of Deployments --> Monitoring --> Workload


Giám sát RAM, CPU
Dùng câu lệnh sau:

- Solaris: prstat -Z

- AIX: (topas hoặc nmon --> m)
%com + %Noncomp
USED=`svmon -G | head -2 | tail -1 | awk '{ print $3 }'` \n
USED=`expr $USED / 256` \n 
TOTAL=`lsattr -El sys0 -a realmem | awk '{ print $2 }'` \n
TOTAL=`expr $TOTAL / 1000` \n
FREE=`expr $TOTAL - $USED` \n
echo "\nMemory Information" \n
echo "==================" \n
echo "total memory = $TOTAL MB" \n
echo "free memory  = $FREE MB" \n
echo "used memory  = $USED MB" \n
 exit 0 \n

- Linux: top

Giám sát trạng thái Managed server
Đảm bảo Sate là Running, có thể thêm các cột thuộc tính như số connection vào để giám sát thêm
ngoài ra cần đọc log ví dụ App2_Serve1_HN1.log và  App2_Serve1_HN1.out để check thêm trạng thái, lỗi.

Name 

Cluster 

Machine 

State 

Health 

Listen Port 

AdminServer(admin)

 

Machine_2

RUNNING

OK

7111

App2_Server1_HN1

App2_Cluster

Machine_1

SHUTDOWN

 

7151

App2_Server2_HN2

App2_Cluster

Machine_2

SHUTDOWN

 

7151

App3_Server1_HN1

App3_Cluster

Machine_1

RUNNING

OK

7131

App3_Server1_HN3

App3_Cluster

Machine_1

RUNNING

OK

7133

App3_Server2_HN2

App3_Cluster

Machine_2

RUNNING

OK

7131

App3_Server2_HN4

App3_Cluster

Machine_2

RUNNING

OK

7133


Giám sát Machine
Khi NodeManager tắt, vào Domain --> Environment --> Machines, chọn machine, trạng thái là Inactive

Khi bình thường là: Reachable

Name 

Type 

IP

Port

Type

Machine_1

UnixMachine

192.168.56.101

5556

SSL

Machine_2

UnixMachine

192.168.56.102

5556

SSL


Giám sát Deployment
Đảm bảo các phân hệ được Active

State:
• Active: Từ Prepared start lên
• Prepared: Stop Force từ Active
• Start Running: Từ Prepared start những app lớn thấy rõ trạng thái này
• New: các managed server shutdown thì UD sẽ chuyển State về New
• Fail: Install, Update bị lỗi
• deploy Initializing: Chọn update source mới chưa Activate thay đổi

Giám sát DataSource
Deployment --> Monitoring --> JDBC

Managed server --> JDBC
<domain> --> Environment --> Servers (chọn managed server) --> Tab Monitoring --> JDBC (sẽ hiển thị các DS mà managed server đó dùng và các connection kết nối)


JDBC --> Managed server
Services --> HDBC --> Datasource --> Chọn datasource cần test --> Tab Monitoring --> Testing (hiển thị tất cả các managed server sử dụng data source này)

Một số log cần chú ý:

Tạo 1 connection của pool --> Managed server bình thường


####<Mar 26, 2015 11:00:06 AM ICT> <Info> <Common> <wls1> <Server2_App1_HN5> <[ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tun

ing)'> <<anonymous>> <> <> <1427342406017> <BEA-000628> <Created "1" resources for pool "dbname_ds4", out of which "1" are available and "0" are unavailab

le.> 


Close 1 connection sau (Seconds to Trust an Idle Pool Connection:) --> Managed server bình thường


####<Mar 26, 2015 10:50:55 AM ICT> <Info> <JDBC> <wls1> <Server2_App1_HN5> <[ACTIVE] ExecuteThread: '32' for queue: 'weblogic.kernel.Default (self-tunin

g)'> <<WLS Kernel>> <> <> <1427341855801> <BEA-001128> <Connection for pool "dbname_ds1" closed.> 


Giải phóng kết nối inactive sau (Inactive Connection Timeout) --> Managed server bình thường)


####<Mar 26, 2015 11:00:55 AM ICT> <Warning> <JDBC> <wls1> <Server2_App1_HN5> <[ACTIVE] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tu

ning)'> <<WLS Kernel>> <> <> <1427342455700> <BEA-001153> <Forcibly releasing inactive connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driv

er_T4CConnection@912ca4" back into the connection pool "dbname_ds1", currently reserved by: java.lang.Exception

        at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:310)

        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:344)


Destroy multi pool khi managed server shutdown


###<Mar 26, 2015 11:15:12 AM ICT> <Info> <JDBC> <wls1> <Server2_App1_HN6> <[ACTIVE] ExecuteThread: '34' for queue: 'weblogic.kernel.Default (self-tunin

g)'> <sa> <> <> <1427343312049> <BEA-001541> <Destroyed Multi Data Source named in_ds.> …

####<Mar 26, 2015 11:15:12 AM ICT> <Info> <JDBC> <wls1> <Server2_App1_HN6> <[ACTIVE] ExecuteThread: '34' for queue: 'weblogic.kernel.Default (self-tunin

g)'> <sa> <> <> <1427343312094> <BEA-001514> <Destroying Data Source in_ds1.> 

####<Mar 26, 2015 11:15:12 AM ICT> <Info> <JDBC> <wls1> <Server2_App1_HN6> <[ACTIVE] ExecuteThread: '34' for queue: 'weblogic.kernel.Default (self-tunin

g)'> <sa> <> <> <1427343312094> <BEA-001514> <Destroying Data Source in_ds2.>



Shutdown toàn bộ JDBC service khi managed server shutdown


####<Mar 26, 2015 11:15:14 AM ICT> <Info> <JDBC> <wls1> <Server2_App1_HN6> <[ACTIVE] ExecuteThread: '34' for queue: 'weblogic.kernel.Default (self-tunin

g)'> <sa> <> <> <1427343314475> <BEA-001149> <Shutdown of the JDBC service completed.> 



Không tạo kết nối được với DB


<Error><JDBC><Failed to create connection pool 'in_ds2'

####<Mar 29, 2015 1:17:13 AM ICT> <Warning> <JDBC> <wls2> <Server1_App1_HN1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1427566633619> <BEA-001129> <Received exception while creating connection for pool "in_ds1": ORA-01033: ORACLE initialization or shutdown in progress

####<Mar 29, 2015 1:17:13 AM ICT> <Info> <JDBC> <wls2> <Server1_App1_HN1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1427566633620> <BEA-001156> <Stack trace associated with message 001129 follows: 

java.sql.SQLRecoverableException: ORA-01033: ORACLE initialization or shutdown in progress


Giám sát Admin Console
Check process Admin
# ps -ef |grep Admin

Khi chạy nohup  ./startWebLogic & sẽ sinh ra nohup.out, check file này

tail -1000f nohup.out

hoặc check log Admin Server.

Giám sát Node Manager
1. Giao diện quản trị
Environment --> Machine --> chọn machine --> Monitoring -->

• Reachable: OK
• Unknown: Cần check lại log node manager ../common/nodemanager/NodeManager.log

2. Check OS:

Gồm 2 tiến trình
# ps -ef |grep NodeManager
--> Tìm được PID

# ps -ef |grep java
Tìm tiếp pargs <PID> có dòng NodeManager

Giám sát Apache
Giám sát các cổng chạy dịch vụ, ví dụ mặc định ta sẽ chạy cổng 80, có thể thêm các cổng 8080, 8181,....
Các cổng dịch vụ và cách bật, tắt

80

App_Main

IP 192.158.56.101,

192.158.56.102

cd /usr/local/apache2/bin/; ./apachectl -k start

cd /usr/local/apache2/bin/; ./apachectl -k stop

 

8080

App1

101,

102

cd /usr/local/apache2/bin/; ./apachectl -f /usr/local/apache2/conf/httpd_app.conf -k stop

cd /usr/local/apache2/bin/; ./apachectl -f /usr/local/apache2/conf/httpd_app.conf -k start

8181

App2

101,

102

cd /usr/local/apache2/bin/; ./apachectl -f /usr/local/apache2/conf/httpd_app_2.conf -k stop

cd /usr/local/apache2/bin/; ./apachectl -f /usr/local/apache2/conf/httpd_app_2.conf -k start

Check từ process Solaris
# ps -ef |grep httpd |wc -lc
(nếu  240 là treo Apache)

Giám sát Load Balancer (có thể A10, F5,...)
Ví dụ giám sát từ thiết bị A10
Monitor Mode --> Overview --> Performance


Monitor Mode --> Service --> SLB

Monitor Mode --> Service --> Server



Giám sát Network
Thực hiện:
  • Ping giữa các máy chủ WebLogic
  • Ping giữa các dải mạng khác nhau
  • ping từ máy quản trị lên máy chủ WebLogic
Ví dụ: Ping từ máy cá nhân lên các máy chủ chạy WebLogic, theo dõi trong thời gian dài, ngày ping 3 lần vào giờ cao điểm, giờ thấp điểm,... để có con số

From

To

Thời gian phản hồi_09h30

Thời gian phản hồi_15h30

02/10/2021

03/10/2021

Tải bình thường

192.10.10.234

192.168.55

Minimum = 4ms, Maximum = 17ms, Average = 8ms

 

 

 

 

 

192.168.57

Minimum = 1ms, Maximum = 126ms, Average = 9ms

Minimum = 0ms, Maximum = 23ms, Average = 9ms

Minimum = 1ms, Maximum = 13ms, Average = 5ms

Minimum = 1ms, Maximum = 56ms, Average = 7ms

 

 

192.168.10

Minimum = 1ms, Maximum = 501ms, Average = 10ms

Minimum = 1ms, Maximum = 42ms, Average = 11ms

Minimum = 0ms, Maximum = 42ms, Average = 7ms

Minimum = 0ms, Maximum = 44ms, Average = 7ms

 

 

192.16.240

Minimum = 1ms, Maximum = 95ms, Average = 9ms

Minimum = 1ms, Maximum = 16ms, Average = 8ms

Minimum = 0ms, Maximum = 39ms, Average = 7ms

Minimum = 0ms, Maximum = 109ms, Average = 7ms

Average < 30ms

 

192.16.115

Minimum = 0ms, Maximum = 52ms, Average = 9ms

Minimum = 1ms, Maximum = 41ms, Average = 11ms

Minimum = 0ms, Maximum = 20ms, Average = 6ms

Minimum = 0ms, Maximum = 23ms, Average = 6ms

Average < 30ms


Giám sát các phát sinh đến phần cứng, OS
Kiểm tra dmesg (/var/adm/message trong Solaris), /var/log/message của Linux hoặc errpt |tail của AIX.

Hy vọng hữu ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master