בדף הזה מוסבר איך להעתיק באופן ידני רשומות ביומן שכבר מאוחסנות בקטגוריות של יומנים ב-Cloud Logging לקטגוריות של Cloud Storage. בפעולת העתקה, קטגוריה ביומן וקטגוריה של Cloud Storage לא צריכות להיות באותו Google Cloud פרויקט.
יכול להיות שתרצו להעתיק רשומות ביומן מקטגוריות של יומנים לקטגוריות של Cloud Storage מהסיבות הבאות:
- אם שכחתם לנתב רשומות ביומן ל-Cloud Storage לפני שהן נשמרו ב-Logging.
- כדי לשתף רשומות ביומן עם מבקרים מחוץ ל-Logging.
- כדי לנתח רשומות ביומן באמצעות סקריפטים ב-Cloud Storage.
כשמעתיקים רשומות ביומן ל-Cloud Storage, הרשומות נשארות גם בקטגוריית היומן שממנה הן הועתקו.
פעולות העתקה לא מחליפות sinks, ששולחים באופן אוטומטי את כל רשומות היומן הנכנסות שתואמות למסנני הכללה והחרגה ליעד אחסון נתמך שנבחר מראש, כולל קטגוריות של Cloud Storage. אי אפשר להשתמש ביעדים כדי לנתב יומנים באופן רטרואקטיבי. כדאי להשתמש ביעדים כשאתם יודעים מראש שאתם רוצים לאחסן רשומות ביומן בקטגוריה של Cloud Storage.
כדי להעתיק יומנים ואז לנהל ולנטר את הפעולה, צריך להשתמש ב-Google Cloud CLI.
מגבלות
המגבלות הבאות חלות על העתקה של רשומות ביומן:
אפשר להעתיק יומנים רק לקטגוריות של Cloud Storage. אי אפשר להעתיק אותם ליעדים אחרים.
אי אפשר להעתיק יומנים ממאגרי יומנים שמוגדר בהם CMEK.
לפני שמתחילים
לפני שמתחילים להעתיק את היומנים, צריך:
- מוודאים שמשתמשים בגרסה העדכנית ביותר של ה-CLI של gcloud. הוראות להתקנה או לעדכון של ה-CLI של gcloud זמינות במאמר ניהול רכיבי Google Cloud CLI.
-
כדי לקבל את ההרשאות שדרושות להעתקת רשומות ביומן, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שמכיל את קטגוריית היומן שממנה אתם מעתיקים:
-
כדי להפעיל פעולת העתקה:
Logging Admin (
roles/logging.admin) -
כדי לראות ולנהל את הסטטוס של פעולת העתקה:
Logs Configuration Writer (
roles/logging.configWriter)
-
כדי להפעיל פעולת העתקה:
Logging Admin (
-
כדי לקבל את ההרשאות שנדרשות לכתיבת רשומות ביומן ל-Cloud Storage, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Storage Object Creator (
roles/storage.objectCreator) בפרויקט שמכיל את הקטגוריה של Cloud Storage.
העתקת רשומות ביומן
רישום ביומן מעתיק רק את הרשומות ביומן שמאוחסנות בקטגוריה ביומן כשהפעולה מתחילה. רשומות ביומן שנשמרות בדלי יומנים אחרי שמתחילה פעולת ההעתקה לא מועתקות ל-Cloud Storage.
כדי להעתיק רשומות ביומן ל-Cloud Storage, צריך לדעת את הפרטים הבאים:
- המזהה והמיקום של קטגוריה ביומן שממנו מעתיקים.
כדי לאחזר את מזהה קטגוריית היומן והמיקום שלה, משתמשים בפקודה
gcloud logging buckets listב-CLI של gcloud. - השם של קטגוריה של Cloud Storage שאליה מעתיקים. מידע על אחזור שם הקטגוריה ב-Cloud Storage זמין במאמר אחזור מידע על קטגוריה ב-Cloud Storage.
- מסנן לרשומות ביומן שרוצים להעתיק.
כדי להעתיק רשומות ביומן, מריצים את הפקודה gcloud logging copy:
gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME \
--location=LOCATION --log-filter='FILTER' --project=PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מבצעים את הפעולות הבאות:
- מחליפים את BUCKET_ID בשם של קטגוריית היומנים.
- מחליפים את CLOUD_STORAGE_BUCKET_NAME בשם של קטגוריית Cloud Storage.
- מחליפים את LOCATION במיקום של קטגוריית היומנים.
(אופציונלי): מחליפים את FILTER במסנן שמגדיר אילו יומנים יועתקו.
אם לא מציינים את הדגל
--log-filter, כל רשומות היומן בקטגוריית היומן מועתקות לקטגוריה של Cloud Storage.מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud . אפשר להשמיט את הדגל הזה אם ההגדרה הפעילה של ה-CLI של gcloud מוגדרת ל Google Cloud פרויקט הנכון.
פקודה לדוגמה:
gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2024-07-18T10:00:00.0Z"' \
--project=my-project
הפקודה הזו יוצרת פעולה ממושכת שתפעל ברקע, ומחזירה את שם פעולת ההעתקה ואת המיקום של קטגוריית היומנים:
name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
המיקום של פעולת ההעתקה זהה למיקום של קטגוריית היומן שממנה מעתיקים.
הצגה וניהול של פעולות העתקה
אפשר לראות ולנהל את פעולות ההעתקה באמצעות הפקודות gcloud logging operations, שמאפשרות לכם להציג את הפעולות, לראות אותן ולבטל אותן.
בפקודות הבאות צריך לציין את מיקום הפעולה. משתמשים במיקום של קטגוריה ביומן. במאמר הצגת פרטים של קטגוריה מוסבר איך למצוא את המיקום של קטגוריה ביומן.
הצגת רשימה של פעולות העתקה
אפשר לראות רשימה של פעולות העתקה מהזמן האחרון, כולל פעולות מתוזמנות, פעולות שמתבצעות, פעולות שהושלמו, פעולות שנכשלו ופעולות שבוטלו. פעולות העתקה מהזמן האחרון מופיעות בתוצאות עד 30 ימים אחרי שעת הסיום.
כדי להציג רשימה של פעולות העתקה, מריצים את הפקודה הבאה:
gcloud logging operations list --location=LOCATION \
--operation-filter=request_type=CopyLogEntries \
--project=PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מבצעים את הפעולות הבאות:
- מחליפים את LOCATION במיקום של קטגוריית היומנים שממנה מעתיקים.
- מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .
הפקודה מחזירה מידע על הפעולה הממושכת, כולל מזהה הפעולה:
projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
צפייה בסטטוס של פעולת העתקה
אפשר לאחזר את הסטטוס ומטא-נתונים אחרים לגבי פעולות העתקה, כולל:
-
startTime: חותמת הזמן שמציינת את יצירת הפעולה. -
endTime: חותמת הזמן שמציינת את סיום הפעולה. -
state: הסטטוס של הפעולה (מתוזמנת, פועלת, בוטלה, נכשלה או הושלמה). -
cancellation: מציין אם המשתמש ביקש לבטל את הפעולה. progress: ההתקדמות המשוערת של הפעולה (0-100%).-
destination: השם של קטגוריית Cloud Storage שאליה הפעולה מעתיקה יומנים. -
filter: המסנן שמציין אילו רשומות ביומן להעתיק. -
name: השם של קטגוריה ביומן שממנו הפעולה מעתיקה יומנים. -
logEntriesCopiedCount: מספר הרשומות ביומן שהועתקו בהצלחה לקטגוריה של Cloud Storage על ידי הפעולה.
חשוב לזכור שלא כל שדות המטא-נתונים שמופיעים ברשימה רלוונטיים לכל פעולת העתקה.
לדוגמה, אם פעולת העתקה עדיין פועלת, מטא-נתונים של endtime לא יחולו על הפעולה. דוגמה נוספת: אם לא נעשה שימוש בדגל --log-filter=FILTER כשמריצים את הפקודה gcloud logging copy, המטא-נתונים filter לא יחולו על הפעולה.
כדי לאחזר מידע על פעולת העתקה, מריצים את הפקודה הבאה:
gcloud logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מבצעים את הפעולות הבאות:
- מחליפים את OPERATION_ID במזהה הפעולה.
- מחליפים את LOCATION במיקום של קטגוריית היומנים שממנה מעתיקים.
- מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .
הפקודה מחזירה מטא-נתונים לגבי פעולת ההעתקה. לדוגמה, הנה פלט של פעולה שנמצאת בתהליך:
done: false
metadata:
`@type`: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
progress: 75
destination: storage.googleapis.com/my-storage-bucket-1
source: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
verb: copy
startTime: `2024-05-23T10:52:40.039751Z`
state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
</pre>
ביטול פעולת העתקה
אפשר לבטל פעולת העתקה שנמצאת בתהליך. אם מבטלים פעולת העתקה, כל רשומות היומן שהועתקו לפני ביטול הפעולה נשארות בקטגוריה של Cloud Storage.
אחרי שמבטלים פעולת העתקה, שירות הרישום משלים את כל התהליכים שמתבצעים לפני שהוא משלים את הביטול. יכול להיות שחלק מרישומי היומן עדיין יועתקו ל-Cloud Storage אחרי שתבטלו את הפעולה.
כדי לבטל פעולת העתקה, מריצים את הפקודה הבאה:
gcloud logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מבצעים את הפעולות הבאות:
- מחליפים את OPERATION_ID במזהה הפעולה.
- מחליפים את LOCATION במיקום של קטגוריית היומנים שממנה מעתיקים.
- מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .
צפייה ביומנים ב-Cloud Storage
כדי לראות את היומנים שהעתקתם ל-Cloud Storage ולהבין אותם, אפשר לעיין במאמר בנושא הצגת יומנים שמועברים ל-Cloud Storage.
מכסות ומגבלות
כל פעולות ההעתקה נמשכות לפחות שעה, לא משנה כמות הנתונים שמועתקת.
כדי להעתיק נפח גדול – למשל פטה-בייט – צריך לפצל את ההעתקה לכמה פעולות העתקה באמצעות השדה timestamp בדגל --filter.
פקודת ההעתקה לא יכולה להעתיק רשומות ביומן שתקופת השמירה שלהן הסתיימה.
תמחור
למידע על מחירים, אפשר לעיין בדף תמחור של Google Cloud Observability. אם אתם מעבירים נתוני יומן לשירותים אחרים, כדאי לעיין במסמכים הבאים: Google Cloud