השילוב של Oracle DB אוסף מדדים ויומנים של Oracle DB. המדדים נאספים על ידי שליחת שאילתות לתצוגות מעקב רלוונטיות. השילוב הזה כותב יומני מעקב מובנים.
מידע נוסף על Oracle DB זמין במסמכי העזרה בנושא Oracle Database.
דרישות מוקדמות
כדי לאסוף טלמטריה של Oracle DB, צריך להתקין את סוכן התפעול:
- כדי להשתמש במדדים, צריך להתקין את גרסה 2.22.0 ואילך.
- כדי לראות את היומנים, צריך להתקין את גרסה 2.22.0 ואילך.
השילוב הזה תומך בגרסאות Oracle DB 12.2, 18c, 19c ו-21c.
הגדרת מופע Oracle DB
כדי לאסוף מדדים, למשתמש ב-Monitoring צריכה להיות גישה לתצוגות הרלוונטיות.SELECT הסקריפט הבא של SQL אמור ליצור משתמש למעקב ולהעניק לו את ההרשאות המתאימות אם הוא מופעל על ידי משתמש עם הרשאות מספיקות שמחובר למופע של מסד הנתונים של Oracle בתור SYSDBA או SYSOPER.
-- Create the monitoring user "otel" CREATE USER otel IDENTIFIED BY; -- Grant the "otel" user the required permissions GRANT CONNECT TO otel; GRANT SELECT ON SYS.GV_$DATABASE to otel; GRANT SELECT ON SYS.GV_$INSTANCE to otel; GRANT SELECT ON SYS.GV_$PROCESS to otel; GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT to otel; GRANT SELECT ON SYS.GV_$SYSMETRIC to otel; GRANT SELECT ON SYS.GV_$SYSSTAT to otel; GRANT SELECT ON SYS.GV_$SYSTEM_EVENT to otel; GRANT SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS to otel; GRANT SELECT ON SYS.V_$SORT_SEGMENT to otel; GRANT SELECT ON SYS.V_$TABLESPACE to otel; GRANT SELECT ON SYS.V_$TEMPFILE to otel; GRANT SELECT ON SYS.DBA_DATA_FILES to otel; GRANT SELECT ON SYS.DBA_FREE_SPACE to otel; GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS to otel; GRANT SELECT ON SYS.DBA_TABLESPACES to otel; GRANT SELECT ON SYS.GLOBAL_NAME to otel;
הגדרת סוכן התפעול עבור Oracle DB
פועלים לפי המדריך בנושא הגדרת Ops Agent, מוסיפים את הרכיבים הנדרשים לאיסוף טלמטריה ממופעי Oracle DB ומפעילים מחדש את הסוכן.
הגדרה לדוגמה
הפקודות הבאות יוצרות את ההגדרה לאיסוף ולעיבוד של נתוני טלמטריה עבור Oracle DB:
כדי שהשינויים האלה ייכנסו לתוקף, צריך להפעיל מחדש את Ops Agent:
Linux
- כדי להפעיל מחדש את הסוכן, מריצים את הפקודה הבאה במופע:
sudo systemctl restart google-cloud-ops-agent
- כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
sudo systemctl status "google-cloud-ops-agent*"
Windows
- מתחברים למופע באמצעות RDP או כלי דומה ומתחברים ל-Windows.
- פותחים טרמינל ב-PowerShell עם הרשאות אדמין על ידי לחיצה ימנית על סמל PowerShell ובחירה באפשרות הפעלה כמנהל מערכת.
- כדי להפעיל מחדש את הסוכן, מריצים את פקודת PowerShell הבאה:
Restart-Service google-cloud-ops-agent -Force
- כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
Get-Service google-cloud-ops-agent*
הגדרת איסוף יומנים
כדי להטמיע יומנים מ-Oracle DB, צריך ליצור מקלט ליומנים ש-Oracle DB מייצר, ואז ליצור צינור למקלט החדש.
כדי להגדיר מקלט ליומני oracledb_audit, מציינים את השדות הבאים:
| שדה | ברירת מחדל | תיאור |
|---|---|---|
exclude_paths |
רשימה של תבניות של נתיבים במערכת הקבצים שצריך להחריג מהקבוצה שתואמת ל-include_paths. |
|
include_paths |
רשימה של נתיבי מערכת קבצים לקריאה על ידי מעקב אחרי כל קובץ. אפשר להשתמש בתו כללי לחיפוש (*) בנתיבים. אי אפשר לספק את השדה oracle_home. |
|
oracle_home |
המיקום של ORACLE_HOME בסביבה. אם מציינים מיקום, המערכת מגדירה את include_paths ל-$ORACLE_HOME/admin/*/adump/*.aud. אי אפשר לספק את השדה include_paths. |
|
record_log_file_path |
false |
אם הערך הוא true, הנתיב לקובץ הספציפי שממנו נרשם רשומת היומן מופיע ברשומת היומן של הפלט כערך של התווית agent.googleapis.com/log_file_path. כשמשתמשים בתו כללי, מתועד רק הנתיב של הקובץ שממנו התקבל הרשומה. |
type |
הערך חייב להיות oracledb_audit. |
|
wildcard_refresh_interval |
60s |
המרווח שבו נתיבי קבצים עם תו כללי ב-include_paths מתרעננים. הערך הוא משך זמן, לדוגמה 30s או 2m. הנכס הזה יכול להיות שימושי כשקצב העברת הנתונים של הרישום ביומן גבוה, והקבצים ביומן מתחלפים מהר יותר מהמרווח שמוגדר כברירת מחדל. |
כדי להגדיר מקלט ליומני oracledb_alert, מציינים את השדות הבאים:
| שדה | ברירת מחדל | תיאור |
|---|---|---|
exclude_paths |
רשימה של תבניות של נתיבים במערכת הקבצים שצריך להחריג מהקבוצה שתואמת ל-include_paths. |
|
include_paths |
רשימה של נתיבי מערכת קבצים לקריאה על ידי מעקב אחרי כל קובץ. אפשר להשתמש בתו כללי לחיפוש (*) בנתיבים. אי אפשר לספק את השדה oracle_home. |
|
oracle_home |
המיקום של ORACLE_HOME בסביבה. אם מספקים אותו, הערך של include_paths מוגדר ל-$ORACLE_HOME/diag/rdbms/*/*/trace/alert_*.log. אי אפשר לספק את השדה include_paths. |
|
record_log_file_path |
false |
אם הערך הוא true, הנתיב לקובץ הספציפי שממנו נרשם רשומת היומן מופיע ברשומת היומן של הפלט כערך של התווית agent.googleapis.com/log_file_path. כשמשתמשים בתו כללי, מתועד רק הנתיב של הקובץ שממנו התקבל הרשומה. |
type |
הערך חייב להיות oracledb_alert. |
|
wildcard_refresh_interval |
60s |
המרווח שבו נתיבי קבצים עם תו כללי ב-include_paths מתרעננים. הערך הוא משך זמן, לדוגמה 30s או 2m. הנכס הזה יכול להיות שימושי כשקצב העברת הנתונים של הרישום ביומן גבוה, והקבצים ביומן מתחלפים מהר יותר מהמרווח שמוגדר כברירת מחדל. |
מה נרשם ביומן
הערך של logName נגזר ממזהי המקלט שצוינו בהגדרה. אלה השדות המפורטים בתוך LogEntry:
יומני oracledb_alert מכילים את השדות הבאים ב-LogEntry:
| שדה | סוג | תיאור |
|---|---|---|
jsonPayload.message |
מחרוזת | הודעה ביומן |
severity |
מחרוזת (LogSeverity) |
רמת רשומת היומן (מתורגמת). |
יומני oracledb_audit מכילים את השדות הבאים ב-LogEntry:
| שדה | סוג | תיאור |
|---|---|---|
jsonPayload.action |
מחרוזת | הפעולה שנרשמת ביומן הביקורת |
jsonPayload.action_number |
מספר | מספר שמזהה את סוג הפעולה שנרשמת ביומן |
jsonPayload.client_terminal |
מחרוזת | מזהה של מסוף הלקוח שממנו יצאה הפעולה |
jsonPayload.client_user |
מחרוזת | משתמש הלקוח עבור הפעולה שנבדקה |
jsonPayload.database_user |
מחרוזת | משתמש מסד הנתונים של הפעולה שנבדקה |
jsonPayload.dbid |
מספר | מזהה מסד הנתונים |
jsonPayload.length |
מספר | אורך המחרוזת שמייצגת את הפעולה שנרשמת ביומן |
jsonPayload.privilege |
מחרוזת | הרשאת מסד הנתונים שבאמצעותה בוצעה הפעולה |
jsonPayload.sessionid |
מספר | מזהה הסשן |
jsonPayload.status |
מחרוזת | הסטטוס של הפעולה |
jsonPayload.user_host |
מחרוזת | המארח שממנו יצאה הפעולה שנבדקה |
severity |
מחרוזת (LogSeverity) |
רמת רשומת היומן (מתורגמת). |
הגדרת איסוף מדדים
כדי להטמיע מדדים מ-Oracle DB, צריך ליצור מקלט למדדים ש-Oracle DB מייצרת, ואז ליצור צינור למקלט החדש.
המקלט הזה לא תומך בשימוש בכמה מופעים בהגדרה, למשל כדי לעקוב אחרי כמה נקודות קצה. כל המקרים האלה כותבים לאותה סדרת זמן, ואין ל-Cloud Monitoring דרך להבחין ביניהם.
כדי להגדיר נמען למדדים של oracledb, צריך לציין את השדות הבאים:
| שדה | ברירת מחדל | תיאור |
|---|---|---|
collection_interval |
60s |
ערך של משך זמן, כמו 30s או 5m. |
endpoint |
localhost:1521 |
נקודת הקצה שמשמשת לחיבור למופע של מסד נתונים של Oracle. השדה הזה תומך ב-host:port או בנתיב של שקע Unix. |
insecure |
true |
ההגדרה קובעת אם להשתמש בחיבור TLS מאובטח. אם המדיניות מוגדרת לערך false, פרוטוקול TLS מופעל. |
insecure_skip_verify |
false |
ההגדרה קובעת אם לדלג על אימות האישור או לא. אם insecure מוגדר כ-true, הערך insecure_skip_verify לא נמצא בשימוש. |
password |
הסיסמה שמשמשת לחיבור למופע. | |
service_name |
שם השירות של מסד הנתונים של Oracle שנמצא במעקב. משתמשים בשדה הזה או בשדה sid לפי הצורך. |
|
sid |
מזהה המערכת של מסד הנתונים של Oracle שנמצא במעקב. משתמשים בשדה הזה או בשדה service_name לפי הצורך. |
|
type |
הערך חייב להיות oracledb. |
|
username |
שם המשתמש שמשמש לחיבור למופע. | |
wallet |
נתיב לספרייה שמכילה את ארנק Oracle, שמשמש לאימות ולחיבורים מאובטחים (אופציונלי). |
מה נבדק
בטבלה הבאה מפורטים המדדים שנאספים על ידי סוכן תפעול ממופע של Oracle DB.
| סוג המדד | |
|---|---|
| סוג, סוג משאבים במעקב |
תוויות |
workload.googleapis.com/oracle.backup.latest
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_name
|
workload.googleapis.com/oracle.buffer.cache.ratio
|
|
GAUGE, DOUBLEgce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.cursor.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.cursor.current
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.disk.operation.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemdirectionglobal_nameinstance_id
|
workload.googleapis.com/oracle.disk.operation.size
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemdirectionglobal_nameinstance_id
|
workload.googleapis.com/oracle.logon.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.logon.current
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.network.data
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemdirectionglobal_nameinstance_idtarget
|
workload.googleapis.com/oracle.process.count
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.process.limit
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.process.pga_memory.size
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_idprogramstate
|
workload.googleapis.com/oracle.row.cache.ratio
|
|
GAUGE, DOUBLEgce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.service.response_time
|
|
GAUGE, DOUBLEgce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.session.count
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.session.limit
|
|
GAUGE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.sort.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_idtype
|
workload.googleapis.com/oracle.sort.row.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.tablespace.count
|
|
GAUGE, INT64gce_instance |
contentsdatabase_iddb_systemglobal_namestatus
|
workload.googleapis.com/oracle.tablespace.size
|
|
GAUGE, INT64gce_instance |
contentsdatabase_iddb_systemglobal_namestatetablespace_name
|
workload.googleapis.com/oracle.user.calls
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.user.commits
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.user.rollbacks
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_id
|
workload.googleapis.com/oracle.wait.count
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_idtypewait_class
|
workload.googleapis.com/oracle.wait.time
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_idtypewait_class
|
workload.googleapis.com/oracle.wait.timeouts
|
|
CUMULATIVE, INT64gce_instance |
database_iddb_systemglobal_nameinstance_idtypewait_class
|
אימות ההגדרה
בקטע הזה מוסבר איך לוודא שהגדרתם נכון את מקלט Oracle DB. יכול להיות שיעברו דקה או שתיים עד שהסוכן של Ops יתחיל לאסוף נתוני טלמטריה.
כדי לוודא שיומני Oracle DB נשלחים אל Cloud Logging:
-
במסוף Google Cloud , נכנסים לדף Logs Explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- מזינים את השאילתה הבאה בעורך ולוחצים על Run query:
resource.type="gce_instance" (log_id("oracledb_alert") OR log_id("oracledb_audit"))
כדי לוודא שמדדי Oracle DB נשלחים אל Cloud Monitoring, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף leaderboard Metrics explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו הוא code MQL או code PromQL.
- מוודאים שהאפשרות PromQL נבחרה במתג שפה. המתג לשפה נמצא באותו סרגל כלים שבו אפשר לעצב את השאילתה.
- מזינים את השאילתה הבאה בעורך ולוחצים על Run query:
{"workload.googleapis.com/oracle.logon.count", monitored_resource="gce_instance"}
צפייה בלוח הבקרה
כדי לראות את המדדים של Oracle DB, צריך להגדיר תרשים או לוח בקרה. שילוב Oracle DB כולל לוח בקרה אחד או יותר. כל לוחות הבקרה מותקנים אוטומטית אחרי שמגדירים את השילוב וסוכן Ops מתחיל לאסוף נתונים של מדדים.
אפשר גם לראות תצוגה מקדימה סטטית של מרכזי בקרה בלי להתקין את האינטגרציה.
כדי לראות מרכז בקרה שהותקן:
-
במסוף Google Cloud , עוברים לדף Dashboards:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על הכרטיסייה רשימת לוחות בקרה ואז בוחרים בקטגוריה שילובים.
- לוחצים על השם של מרכז הבקרה שרוצים להציג.
אם הגדרתם שילוב אבל לוח הבקרה לא הותקן, צריך לבדוק שסוכן התפעול פועל. אם אין נתוני מדדים לתרשים במרכז הבקרה, ההתקנה של מרכז הבקרה נכשלת. אחרי שסוכן התפעול מתחיל לאסוף מדדים, לוח הבקרה מותקן בשבילכם.
כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- לוחצים על המסנן Compute Engine של פלטפורמת הפריסה.
- מחפשים את הרשומה של Oracle DB ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה מרכזי בקרה כדי לראות תצוגה מקדימה סטטית. אם מרכז הבקרה מותקן, אפשר ללחוץ על View dashboard (הצגת מרכז הבקרה) כדי לעבור אליו.
מידע נוסף על מרכזי בקרה ב-Cloud Monitoring זמין במאמר בנושא מרכזי בקרה וטבלאות.
מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.
התקנה של כללי מדיניות התראות
מדיניות התראות מורה ל-Cloud Monitoring לשלוח לכם התראה כשמתרחשים תנאים מסוימים. השילוב של Oracle DB כולל מדיניות התראות אחת או יותר שתוכלו להשתמש בהן. אפשר לראות ולהתקין את מדיניות ההתראות הזו בדף שילובים ב-Monitoring.
כדי לראות את התיאורים של כללי מדיניות ההתראות הזמינים ולהתקין אותם:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- מחפשים את הערך של Oracle DB ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה התראות. בכרטיסייה הזו מופיעים תיאורים של מדיניות ההתראות הזמינה וממשק להתקנתן.
- התקנה של כללי מדיניות התראות. כדי שמדיניות ההתראות תדע לאן לשלוח התראות על הפעלה של התראה, היא צריכה לקבל מכם מידע להתקנה.
כדי להתקין מדיניות התראות:
- ברשימת מדיניות ההתראות הזמינה, בוחרים את אלה שרוצים להתקין.
בקטע הגדרת התראות, בוחרים ערוץ התראות אחד או יותר. יש לכם אפשרות להשבית את השימוש בערוצי התראות, אבל אם תעשו את זה, מדיניות ההתראות שלכם תופעל ללא התראות. אפשר לבדוק את הסטטוס שלהם בדף 'מעקב', אבל לא תקבלו התראות.
מידע נוסף על ערוצי התראות זמין במאמר בנושא ניהול ערוצי התראות.
- לוחצים על יצירת מדיניות.
למידע נוסף על מדיניות התראות ב-Cloud Monitoring, אפשר לעיין במאמר מבוא להתראות.
מידע נוסף על השימוש בדף Integrations (שילובים) זמין במאמר ניהול שילובים.
המאמרים הבאים
בסרטון Install the Ops Agent to troubleshoot third-party applications מוסבר איך להשתמש ב-Ansible כדי להתקין את סוכן התפעול, להגדיר אפליקציית צד שלישי ולהתקין לוח בקרה לדוגמה.