Tất cả các bài viết liên quan đến IT, Infrastructure: Sysadmin, Cloud & DevOps...chuyển qua https://infra.lecuong.info/

GIẢI PHÁP GIÁM SÁT DATABASE ORACLE MIỄN PHÍ

Tiếp theo loạt bài về giải pháp giám sát với Nagios. Trong bài viết này, tôi sẽ hướng dẫn cấu hình các thông số trên Nagios (Check_MK) để giám sát cơ sở dữ liệu Oracle ở môi trường Linux/Unix (AIX)

Về các thông số sẽ lấy từ db Oracle như sau:


oracle_instance Check various aspects of an Instance
oracle_asm_diskgroup Check various aspects of ASM Disk-Groups
oracle_dataguard_stats Check various aspects of Data-Guard state
oracle_jobs Check various aspects of Scheduler Jobs
oracle_locks Check various aspects of Instance Locks
oracle_logswitches Check various aspects of Logswitches
oracle_longactivesessions Check various aspects of Long Active Sessions
oracle_performance Ger various Performance data from an Instance
oracle_processes Check various aspects of ORACLE Processes
oracle_recovery_area Check various aspects of the Fast Recovery Area
oracle_recovery_status Check various aspects of the Recovery State
oracle_rman_backups Check various aspects of RMAN Backups
oracle_sessions Check various aspects of Sessions
oracle_tablespaces Check various aspects of Tablespaces
oracle_undostat Check various aspects of Undo Statistics

......

Để giám sát chi tiết các thông số trên host, chúng ta cần cần cài đặt Agent tương ứng với từng OS là Linux/AIX/Windows. Việc cài đặt Agent lên host khá đơn giản nên tôi sẽ không đề cập nhiều, chỉ tập trung vào các thông số cấu hình cần thiết.



Cài đặt Plugin:

Việc đầu tiên, chúng ta cần kiểm tra các thông số của Check_MK agent để biết nơi lưu trữ các file cấu hình:

root@linux# grep MK_LIBDIR /usr/bin/check_mk_agent
export MK_LIBDIR="/usr/lib/check_mk_agent"
PLUGINSDIR=$MK_LIBDIR/plugins
LOCALDIR=$MK_LIBDIR/local

Nếu thư mục plugin chưa có, chúng ta sẽ tạo:

root@linux# mkdir -p /usr/lib/check_mk_agent/plugins
root@linux# cp mk_oracle /usr/lib/check_mk_agent/plugins
root@linux# chmod 755 /usr/lib/check_mk_agent/plugins/mk_oracle

Plugin sẽ tự động phát hiện ra ORACLE instances dựa vào running processes như ora_pmon_....

Cấu hình thông số kết nối db Oracle:
 Các thông số kết nối db Oracl sẽ được khai báo thông qua file:  mk_oracle.cfg

Trước tiên, chúng ta cần cấp quyền truy cập vào db:

Tạo database user:

root@linux# su - oracle
oracle@linux:~> export ORACLE_SID=
oracle@linux:~> sqlplus / as sysdba
sqlplus> create user m_vnsysadmin identified by m_vnsysadminpwd;
sqlplus> grant select_catalog_role to check_mk;
sqlplus> grant create session to check_mk;
sqlplus> connect m_vnsysadmin/m_vnsysadminpwd
sqlplus> exit
oracle@linux:~> export ORACLE_SID=

Tạo ASM Instance user

Trong môi trường Oracle RAC (Real Application Cluster), ASM Instance sử dụng +ASM thay cho ORACLE_SID.

root@linux# su - oracle
oracle@linux:~> ps ax | grep pmon | grep ASM
oracle@linux:~> export ORACLE_SID=+ASM
oracle@linux:~> sqlplus / as sysasm
sqlplus> create user m_vnsysadmin identified by m_vnsysadminpwd;
sqlplus> grant sysdba to m_vnsysadmin;
sqlplus> exit

Khai báo thông số cho mk_oracle.cfg
File này thường nằm ở $MK_CONFDIR

Các thông số cấu hình thường như sau:


username empty
password empty
sysdba empty
hostname localhost
listenerport 1521
ASMUSER username:password:sysdba:hostname:port
DBUSER
DBUSER_ username:password:sysdba:hostname:port

Ví dụ:
/etc/check_mk/mk_oracle.cfg

ASMUSER=m_vnsysadmin:m_vnsysadminpwd:sysdba
ASMUSER=m_vnsysadmin:m_vnsysadminpwd:sysdba:host1:1521
DBUSER=m_vnsysadmin:m_vnsysadminpwd
DBUSER=m_vnsysadmin:m_vnsysadminpwd:sysdba
DBUSER=m_vnsysadmin:m_vnsysadminpwd::host1
DBUSER=m_vnsysadmin:m_vnsysadminpwd:::1522
DBUSER=m_vnsysadmin:m_vnsysadminpwd:sysdba:host2:1522
# ORACLE_SID=ORCL
DB_USER_ORCL=m_vnsysadmin:m_vnsysadminpwd2
# ORACLE_SID=tux
DB_USER_tux=m_vnsysadmin:m_vnsysadminpwd3:sysdba
# environment variable TNS_ADMIN
export TNS_ADMIN=/u00/app/oracle/network/admin

Thông tin DBUSER và ASMUSER khai báo nhiều lần chỉ là ví dụ. Thực tế thì quất 1 lần thôi ^^!

Testing plugin:

Sau khi cấu hình đầy đủ các thông số như trên, chúng ta tiến hành test thử:

root@linux# export MK_CONFDIR="/etc/check_mk"
root@linux# /usr/lib/check_mk_agent/plugins/mk_oracle -t

---oracle_instance---
---oracle_sessions---
---oracle_logswitches---
---oracle_undostat---
---oracle_recovery_area---
---oracle_processes---
---oracle_recovery_status---
---oracle_longactivesessions---
---oracle_dataguard_stats---
---oracle_performance---
---oracle_tablespaces---
---oracle_rman---
---oracle_jobs---
---oracle_ts_quotas---
---oracle_resumable---
---oracle_locks---
---oracle_instance---
---oracle_asm_diskgroup---
-----------------------------------------------
Logincheck to Instance: +ASM  Version: 12.1
Login ok User: SYS on ora12c.local
SYNC_SECTIONS= instance
ASYNC_SECTIONS= asm_diskgroup
-----------------------------------------------
Logincheck to Instance: tux2  Version: 12.1
Login ok User: CHECK_MK on ora12c.local
SYNC_SECTIONS= instance sessions logswitches undostat recovery_area processes recovery_status longactivesessions dataguard_stats performance
ASYNC_SECTIONS= tablespaces rman jobs ts_quotas resumable locks

Kết quả trên hệ thống Monitoring:





Chúc các bạn thành công. :)

http://blog.vnsysadmin.com/2017/04/giai-phap-giam-sat-database-oracle-free.html




Để bắt đầu tham gia Giao dịch tài chính:


Viết nhận xét

Các bạn có thể viết lời nhận xét cho bài viết, nhưng cần tuân thủ một số quy tắc sau:

» Các nhận xét/bình luận phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Viết bằng tiếng việt có dấu hoặc tiếng Anh. Nội dung viết không dấu sẽ bị xóa.
» Hãy để lại tên của bạn khi nhận xét/bình luận, để tôi có thể dễ dàng trả lời bạn khi cần.

Chúc các bạn tìm được những kiến thức bổ ích khi tình cờ ghé thăm blog này.