Showing posts with label User Monitoring. Show all posts
Showing posts with label User Monitoring. Show all posts

Saturday, November 7, 2009

רשמים מעבודה עם ה- Auditor

בזמן האחרון הזדמן לי לבצע מספר פרויקטים עם רכיב ה- Auditor והנה כמה מסקנות  :

1. הביצועים בעת הרצת דוחות על בסיס הנתונים של ה- Auditor עשויים להיות מחרידים ואף לייצר Deadlock בעת גישה לטבלאות שעסוקות בלקבל נתונים מה- Repository,ההמלצה שלי היא כמו בכל בסיס נתונים תפעולי ועל זה יושב ה- Auditor בסופו של דבר לייצר Data Mart קטן שיעביר את טבלאות ה- Auditor לסביבה יומית ולשם מומלץ
לטעון את טבלאות ה- View לטבלאות רגילות,לאנדקס ולפרטש את טבלאות ה- AUDIT_EVENT וה- AUDIT_DETAIL כדי לקבל ביצועים טובים , הנתונים הרי לא חייבים להיות Online.

2. מלבד סט הדוחות הבסיסי שה- Auditor מספק ניתן ליצור דוחות מעניינים כמו:
איזה משתמש לא פעיל מעל X זמן,איזה דוחות לא הורצו מעל –X זמן,כמה דוחות כפולים יש ב- Repository,איזה תקלות מכאניות (גישה ל-DB,הרשאה לא מתאימה,Login שגוי) נגרמות למשתמשים,מתי פעם אחרונה נכנס כל משתמש למערכת,מה אחוז השימוש במערכת.

3. סטטיסטיקה בסיסית כמו כמות דוחות,כמות דוחות לעולם,כמות משתמשים,כמות דוחות למשתמש ניתנת אף היא להפקה (מצריך פיתוח של דוחות נוספים לא חלק מהדוחות שבאים עם ההתקנה).

4. נתון מעניין שגיליתי:ניתן לאתר דוחות כבדים למערכת שבד"כ מעידים גם על בנייה לא נכונה.

המשוואה אומרת שבערך 100MG =  חמש מליון רשומות,דוחות מעין אלו הם דוחות מהגיהינום שמעידים על צבירה אדירה של נתונים ושימוש לא נכון במחולל הדוחות,דוח "דוחות כבדים" סייע לי לאתר כמה "פושעי דוחות" שלא בנו דוחות כיאות והתייחסו למערכת ככלי לצבירת נתונים למקרה שיום הדין יגיע,הכי חשוב שה-DB יהיה אצלם....
מיותר לציין אך מצאתי דוחות ששוקלים מעל 700MG....את החשבון תעשו לבד...
מעבר לכך אם נתווכח האם הדוח אכן צריך להגיע למימדים אלו (המשתמש רוצה "להקפיא" את דוח הכנסות 2008)
ניקוי/איפוס הדוחות הנ"ל תיטיב עם ה- Repository מאחר והיא תצמצם את גודלו ואת העובדה שבעת שמושכים דוח גדול כזה נוצר כאמור עומס על המערכת.

5. נתון מעניין נוסף שמצאתי היה האפשרות לקבל חיווי על ה-SQL של הדוח מה שטורם רבות כמובן לניטור הדוח,הבעיה הגדולה שמצאתי בנתון זה שרק דוחות שבוצע להם Edit  ,ה-SQL שלהם מתועד.
ניתן בהחלט להשתמש בכלי אוטומטי או לכתוב סקריפט שיפתח את הדוחות וישלים את המשימה
אבל זה עשוי להיות מורכב ולא יציב (פתיחה של אלפי דוחות שחלקם כבדים,על חלקם יש הרשאות,Table Mapping ועוד)
ופה כבר עשוי להיכנס עוד כלי למשימה ה-MDM : Meta Data Manager שיכול להציג גם את ה-SQL של כל דוח לפי עולם.

6. אם הדוחות אמורים לשמש את התמיכה כדאי ליצור טבלת משתמשים משודרגת שתכיל מידע כמו שם המשתמש,טלפון,מייל ושם חטיבה/מחלקה ולטעון אותה לסכימת ה- Auditor.

7. מינוס נוסף הוא שתאריך הראשי המתעד הוא AUDIT_EVENT.Start_Timestamp והוא קיים ברמת שעה ודקה,אם יש לכם Prompts עם תאריכים (בלי LOV כמובן!) המשתמשים יצטרכו להכניס תאריך בפורמט של שעה ודקה – מומלץ לבצע Trunc על התאריך או להשתמש בשדה ה. Audit_Event.Start_date

8. לא שצריך כלי ניטור בשביל זה אבל : מ-8 עד 10 בלגן של דוחות משתמשים והרצות,ב-12 הכול נרגע ואחרי סעודת הצהרים מי שחוזר לעבוד עם דוחות הוא כנראה באמת משתמש רציני....

9.אם אתם מעוניינים לתחקר את כל הדוחות,לצפות ב-SQL שלהם ולראות דוחות שגדולים מ-X מגה תצטרכו לייצר Aliases או לשטח את טבלת ה-Audit_Detail מאחר והיא מחזיקה את הערכים הנ"ל באותה עמודה בטבלה.

10.מומלץ לטעון את ה-LOV של שדות ה-DETAIL_TYPE.Detail_Type_Description
וה-DETAIL_TYPE.Detail_Type_Description לטבלאות Dummy שטוחות ואז לבצע Nested LOV בינהם כך שתוכלו לבחור בסוג פעולה Universe Name ותחתיו לבחור את שם העולם הספציפי.

Tuesday, January 20, 2009

ניהול הרשאות משתמשים לעולם...

איך ליישם הרשאות על הטבלאות והנתונים המגיעים מהעולם ?
כיצד נגרום לקבוצת אנשי מכירות מרחב צפון לראות אך ורק את נתוניה ?
קראו כאן כיצד ניתן לבצע זאת בקלות במצגת שנכתבה ע"י Dallas Marks :

http://www.dataspace.com/Downloads/IA_Final_MD.pdf

Thursday, November 27, 2008

מציאת משתמשים שלא ביצעו Login ל- BOXI באמצעות ה- Query Builder

רוצים לבצע בדק בית ולראות אילו משתמשים לא בצעו Login למע' ה-BOXI ?
באמצעות הרצת הסקריפט הבא ב- Query Builder תוכלו לגלות מי הם:

select top 1000000 si_id, si_name, si_lastlogontime from ci_systemobjects
where si_kind = 'user' and si_lastlogontime is null

Saturday, November 22, 2008

פרמטר דינמי בדיזיינר : END_SQL

מורי ורבי Dr.Z אמר לי פעם שאפשר לבנות פתרון אבטחה ב-2 שקל ואפשר לבנות פתרון אבטחה ב-100 אלף שקל.
אז הנה לכם פתרון אבטחה (חלקי כמובן) ב- 2 שקל:
החל מגירסא 6 ,חלק מהפרמטרים שנוהלו בעבר בקובץ ה - prm עברו לעולם,אחד מהם הוא פרמטר ה - END_SQL המאפשר לכם להוסיף ל- SQL המיוצר בכל שאילתא הערה בסוף הסקריפט.

המשמעות ?

אפשר להכניס את שם העולם,הדוח ואת שם המשתמש על מנת לאפשר ל- DBA לעלות על זהות המשתמש הרצחני באמצעות SQL Profiler או כלי ניטור דומה...

כיצד חוסכים שקלים רבים ?

צעד ראשון:

נכנסים לתיבת הפרמטרים בעולם ומכניסים את ההערה הרלוונטית לפרמטר ה- END_SQL
ושם נכניס את ההערה הבאה:

/* Universe Sales, user @variable('BOUSER')*/

בהערה כתבנו את שם העולם ואת משתנה ה- BOUSER המציג את שם המשתמש :



אחרי שאישרנו את הוספת ההערה ע"י הקלקה על כפתורית ה- Replace

ניתן לראות בסוף ה- SQL שאנו מייצרים בעולם את ההערה:

באמצעות כלי ה- Trace SQL הקיימים ברשותנו נוכל לחזות ב- SQL + מאיזה עולם ואיזה משתמש הריץ
את ה - SQL.

לפרמטר הנ"ל אפשר להוסיף גם את המשתנה :
/* Universe Name - User @Variable('BOUSER') Report @Variable('DOCNAME')*/

ואז גם שם הדוח יופיע בסקריפט ה- SQL.

תבלו.

Thursday, November 20, 2008

תשאול ה - repository באמצעות ה- Query Builder

ה- Query Builder הינו רכיב בפלטפורמת ה- BOXI,חלק מה- CMC המאפשר תחקור של ה - repository על מנת לקבל מידע חשוב כדוגמת השאילתות כאן אותם ניתן להעתיק as is ולהריץ באמצעות רכיב זה,אז הנה שלל דוגמאות נבחרות לשאילתות חשובות:

Get All Webi reports :
Select SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_PROGID='CrystalEnterprise.Webi' And SI_INSTANCE=0
Get Full Client Reports :
SELECT SI_ID, SI_NAME,SI_FILES FROM CI_INFOOBJECTS WHERE SI_KIND in( 'webi' ,'FullClient')
Get All reports :
Select SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_PROGID='CrystalEnterprise.Report' And SI_INSTANCE=0
Get All universes :
Select SI_ID, SI_NAME, SI_WEBI, SI_KIND From CI_APPOBJECTS where SI_KIND ='Universe'
Get All Users :
SELECT SI_ID, SI_NAME FROM CI_SYSTEMOBJECTS WHERE SI_PROGID='CrystalEnterprise.USER'
Get all groups :
Select * from CI_SYSTEMOBJECTS Where SI_KIND='UserGroup'
get all categories :
SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_KIND='Category'
get all folders :
Select SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_PROGID='CrystalEnterprise.Folder'
get all personal categories:
Select SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_KIND='PersonalCategory'
מעוניינים להיכנס לחפירות נוספות ?

Friday, November 14, 2008

Universe for Metadata Manager

מהלינק הבא תוכלו להוריד את עולם (קובץ Unv כן ?) ה- Metadata Manager שיאפשר לכם לתחקר את ה-repository,זאת במידה והתקנתם כמובן את רכיב ה- Metadata Manager

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0d33e66-1173-2b10-febc-a6991b5fa47a

Tuesday, November 11, 2008

Auditor -מעקב אחר משתמשי BOXI - -גרסא 3

ה- auditor הינו רכיב נוסף במערכת ה-BOXI המאפשר ניטור ומעקב אחרי משתמשים בכדי לאפשר בין השאר למערכת למקסם את יכולותיה ולבדוק פרצות אבטחה אפשריות.

המצגת הבאה שנכתבה ע"י Meredith McLarty סוקרת הן את חידושי גרסא 3 והן את שלבי ההתקנה וההגדרה וכולות המעקב(מעקב אחר דוחות deski,ה-IP של המחשב נכלל במידע ועוד...) :

Thursday, November 6, 2008

InfoBurst -הפצת דוחות בפורמטים שונים/יעדים שונים

נה כלי נוסף של חברת Infosol המשלים את יכולות התזמון וההפצה ב- BOXI ומאפשר בין השאר הפצת דוחות למשתמשים מסוגים שונים/יעדים שונים ומאפשר להפיץ את תוצאות תזמון הדוח בפורמטים שונים (בתזמון אחד..)

http://www.infosol.com/business%20intelligence/solutions-infoburst_tour.html

http://www.infosol.com/IBSite/docs/infoburst%20brochure.pdf

וכלי נוסף של חברת APOS המכיל יכולות דומות וכולל יכולת ZIP לדוחות,אבטחת דוחות,אינדיקציה האם לשלוח את הדוח או לא(במקרה שאין תוצאות) ועוד...צפו בדמו מצד ימין:

http://www.apos.com/DistributionServer/Default.aspx