התקנת שירותי מונטיזציה

Edge for Private Cloud גרסה 4.16.09

שירותי המונטיזציה הם תוסף ל-Apigee Edge, ולכן הם לא פועלים כתהליך עצמאי. הוא פועל בכל הגדרה קיימת של Apigee Edge.

הדרישות להפעלת מונטיזציה

  • אם אתם מתקינים את Monetization בטופולוגיית Edge שמשתמשת בכמה צומתי Management Server, כמו התקנה של 13 צמתים, אתם צריכים להתקין את שני צומתי Edge Management Server לפני שאתם מתקינים את Monetization.
  • כדי להתקין את Monetization ב-Edge, אם בהתקנה של Edge יש כמה צומתי Postgres, צריך להגדיר את צומתי Postgres במצב Master/Standby. אי אפשר להתקין את Monetization ב-Edge אם יש כמה צומתי מאסטר של Postgres. למידע נוסף, ראו הגדרת שכפול Master-Standby ל-Postgres.

סקירה כללית על ההתקנה

כך מוסיפים את Monetization Services להתקנה קיימת של Apigee Edge:

  • משתמשים בכלי השירות apigee-setup כדי לעדכן את הצומת של שרת הניהול של Apigee, כדי להפעיל את שירותי המונטיזציה, למשל ניהול קטלוגים, הגדרת מגבלות והתראות, חיוב ודיווח.

    אם יש לכם כמה צומתי Management Server, כמו התקנה של 13 צמתים, אתם צריכים להתקין את שני צומתי Edge Management Server לפני שאתם מתקינים את Monetization.
  • משתמשים בכלי apigee-setup כדי לעדכן את מעבד הבקשות של Apigee, כך שיפעיל את רכיבי זמן הריצה של שירותי המונטיזציה, למשל מדיניות תיעוד העסקאות ואכיפת המגבלות. אם יש לכם כמה מעבדי בקשות, צריך להתקין את Monetization בכולם.
  • מבצעים את תהליך ההצטרפות למונטיזציה בארגונים ב-Edge.
  • מגדירים את פורטל Developer Services כך שיתמוך במונטיזציה. מידע נוסף זמין בכתובת http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

יצירת קובץ תצורה שקט למונטיזציה

בהמשך מוצגת דוגמה לקובץ תצורה שקט להתקנה של Monetization. עורכים את הקובץ הזה לפי הצורך בהתאם להגדרות האישיות. כדי לכלול את הקובץ הזה, משתמשים באפשרות ‎-f ב-setup.sh.

הערה: בדרך כלל מוסיפים את המאפיינים האלה לאותו קובץ תצורה ששימש להתקנת Edge, כמו שמוסבר במאמר התקנת רכיבי Edge בצומת.

# Edge configuration properties
# Specify IP address or DNS name of node.
IP1=192.168.1.1  # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra
IP2=192.168.1.2  # ZooKeeper, Cassandra
IP3=192.168.1.3  # ZooKeeper, Cassandra
IP4=192.168.1.4  # Router, Message Processor
IP5=192.168.1.5  # Router, Message Processor
IP6=192.168.1.6  # Qpid
IP7=192.168.1.7  # Qpid
IP8=192.168.1.8  # Postgres
IP9=192.168.1.9  # Postgres

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Edge sys admin credentials
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.

# Specify the Management Server port.
APIGEE_PORT_HTTP_MS=8080

#
# Monetization configuration properties.
#
# Postgres credentials from Edge installation.
PG_USER=apigee    # Default from Edge installation
PG_PWD=postgres    # Default from Edge installation

# Specify Postgres server.
MO_PG_HOST="$IP8"    # Only specify one Postgres node.

# Create a Postgres user for Monetization.
# Default username is "postgre". 
# If you specify a different user, that user must already exist.
MO_PG_USER=postgre     
MO_PG_PASSWD=moUserPWord

# Specify one ZooKeeper host.
# Ensure this is a ZooKeeper leader node in a multi-datacenter environment.
ZK_HOSTS="$IP2"

# Specify Cassandra information.
# Ensure CASS_HOSTS is set to the same value as when you installed Edge.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"

# Default is "Apigee", unless it was changed during Edge install.  
CASS_CLUSTERNAME=Apigee

# Cassandra uname/pword required only if you enabled Cassandra authentication. 
# CASS_USERNAME= 
# CASS_PASSWORD= 

# Specify the region. 
# Default is dc-1 unless you are in a multi-datacenter environment. 
REGION=dc-1 

# If your Edge config file did not specify SMTP information, add it. 
# Monetization requires an SMTP server. 
SMTPHOST=smtp.gmail.com 
SMTPPORT=465 
SMTPUSER=your@email.com 
SMTPPASSWORD=yourEmailPassword 
SMTPSSL=y
הערות:
  • אם קובץ התצורה של Edge לא ציין פרטי SMTP, צריך להוסיף אותם. כדי להפעיל מונטיזציה צריך שרת SMTP.
  • בהתקנה של מרכז נתונים יחיד, כל צומתי ZooKeeper מוגדרים כברירת מחדל בתור מובילים. כשמתקינים את Edge בכמה מרכזי נתונים, חלק מהצמתים של ZooKeeper יוגדרו כצופים. צריך לוודא שהמאפיין ZK_HOSTS שלמעלה מציין צומת מוביל בהתקנה של כמה מרכזי נתונים.
  • אם מפעילים את האימות של Cassandra, אפשר להעביר את שם המשתמש והסיסמה של Cassandra באמצעות המאפיינים הבאים:
    CASS_USERNAME
    CASS_PASSWORD

שילוב של שירותי מונטיזציה עם כל שרתי הניהול

כדי לשלב מונטיזציה בצמתים של שרת הניהול, צריך לפעול לפי ההליך הבא.

  1. אם אתם מתקינים את Monetization בטופולוגיית Edge שמשתמשת בכמה צומתי Management Server, כמו התקנה של 13 צמתים, ודאו שהתקנתם את שני צומתי Management Server לפני התקנת Monetization.
  2. בצומת של שרת הניהול, מריצים את סקריפט ההגדרה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    האפשרות "‎-p mo" מציינת שצריך לשלב את המונטיזציה.

    קובץ התצורה צריך להיות נגיש או קריא למשתמש "apigee".
  3. אם מתקינים את Monetization בכמה צמתים של Management Server, חוזרים על שלב 2 בצומת השני של Management Server.

אחרי הגדרה מוצלחת, נוצרת סכימת RDBMS לשירותי מונטיזציה במסד הנתונים של PostgreSQL. בשלב הזה מסתיים השילוב של Monetization Services והרכיבים שמשויכים אליו עם שרת Postgres.

שילוב של שירותי המונטיזציה עם כל מעבדי הבקשות

כדי לשלב את המונטיזציה בכל הצמתים של מעבדי הבקשות, צריך לפעול לפי ההוראות הבאות.

  1. בצומת הראשון של מעבד הבקשות, מריצים את סקריפט ההגדרות בשורת הפקודה:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    האפשרות "‎-p mo" מציינת שצריך לשלב את המונטיזציה.

    קובץ התצורה צריך להיות נגיש או קריא למשתמש "apigee".
  2. חוזרים על התהליך הזה בכל הצמתים של מעבדי הבקשות.

אחרי הגדרה מוצלחת, מעבד הבקשות מתעדכן עם שירותי המונטיזציה. בשלב הזה מסתיים השילוב של שירותי המונטיזציה והרכיבים שמשויכים אליהם עם מעבדי הבקשות.

הדרכה למשתמשים חדשים במונטיזציה

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

תהליך הצטרפות נוסף להפעלת מונטיזציה בארגון

כדי להשלים את תהליך ההצטרפות למונטיזציה של ארגון, צריך:

  1. יוצרים את קבוצת המונטיזציה: mxgroup.
  2. מוסיפים את Qpid לקבוצה.
  3. להפעיל מונטיזציה בארגון.
  4. להפעיל את הגדרות ההתראות בארגון.
  5. חוזרים על התהליך הזה בכל הארגונים שבהם רוצים להפעיל את Monetization.

כדי לבצע את כל המשימות האלה, משתמשים בפקודה enable-monetization. הסקריפט הזה מקבל קובץ תצורה שמכיל את המאפיינים הבאים:

MSIP=IPorDNSofManagementServer
APIGEE_PORT_HTTP_MS=8080    # Default is 8080.
ADMIN_EMAIL=your@email.com
APIGEE_ADMINPW=yourPassword    # If omitted, you are prompted for it.
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Space-separated list IP/DNS names of all Qpid nodes in the data center being configured.
QPID_HOST="$IP6 $IP7"    
QPID_PORT=8083     # Default is 8083.
REGION=dc-1
ORG_NAME=myorg    # The Edge org where you want to enable monetization. 
MX_GROUP=mxgroup    # Default Monetization group.

הערות:

  • מגדירים את CASS_HOSTS ואת REGION לאותם ערכים שבהם השתמשתם כשהתקנתם את Monetization.
  • אם אתם מפעילים את Monetization בהגדרה של כמה מרכזי נתונים:
    • צריך לחזור על תהליך ההגדרה בשרת הניהול בכל מרכז נתונים.
    • בקובץ התצורה צריכים להופיע רק צומתי Qpid במרכז הנתונים שמוגדר.

כדי להריץ את הסקריפט:

  1. מפעילים את הסקריפט:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    למשתמש "apigee" צריכה להיות גישה לקובץ התצורה או הרשאת קריאה שלו.

    אם יש לכם כמה שרתי ניהול, אתם צריכים להריץ את הסקריפט הזה רק באחד מהם.

    הסקריפט הזה משכפל את הארגון, המוצרים, המפתחים והאפליקציות ממסד הנתונים של Cassandra למסד הנתונים של Monetization PostgreSQL. אחרי התקנה מוצלחת של Monetization Services, הנתונים מסונכרנים באופן אוטומטי.
  2. חוזרים על התהליך הזה בכל ארגון שבו רוצים להפעיל את Monetization.
  3. אם אתם נמצאים בסביבה של כמה מרכזי נתונים, חזרו על התהליך הזה בשרת הניהול במרכז הנתונים השני. מוודאים שברשימה של קובץ התצורה מופיעים רק צומתי Qpid במרכז הנתונים שמוגדר.

בפעם הבאה שתיכנסו לממשק המשתמש של Edge, תראו את האפשרות Monetization בתפריט ברמה העליונה של הארגון:

הגדרת הפורטל של שירותי המפתחים

כדי להגדיר את פורטל Developer Services כך שיתמוך במונטיזציה, אפשר לעיין בכתובת http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

הוספת צומת של שרת ניהול להתקנה של מונטיזציה

אם מוסיפים שרת ניהול להתקנה קיימת של Edge, צריך לוודא שמוסיפים שירותי מונטיזציה לשרת הניהול החדש ומגדירים את כל שרתי הניהול כך שיוכלו לתקשר.

כדי להוסיף שרת ניהול:

  1. מתקינים את שרת הניהול החדש.
  2. מתקינים את Monetization בשרת הניהול החדש.
  3. בשרת הניהול המקורי, מפעילים את הפקודה הבאה:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. מפעילים מחדש את שרת הניהול המקורי:
    > ‎/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. בשרת הניהול החדש, מפעילים את הפקודה הבאה:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. מפעילים מחדש את שרת הניהול החדש:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

הגדרות נוספות

שליחת מסמכי חיוב כקובצי PDF

במונטיזציה, מסמכי החיוב מוצגים למשתמשי הקצה בפורמט HTML. כדי לספק מסמכי חיוב כקובצי PDF, אתם יכולים לשלב את Monetization עם מערכת חיוב שמספקת יצירת קובצי PDF, או לרכוש רישיון לספריית PDF נתמכת של צד שלישי.

קביעת הגדרות הארגון

הגדרות בקצה העורפי: בטבלה הבאה מפורטים המאפיינים ברמת הארגון שזמינים להגדרת ארגון Mint. אפשר להשתמש בקריאת PUT כדי להוסיף או לעדכן את המאפיינים האלה, כמו שמוצג בהמשך:

> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

לדוגמה, הפלט של פקודת ה-CURL שלמעלה ייראה בערך כך:

{
...
    "displayName": "Orgnization name",
    "name": "org4",
    "properties": {
        "property": [
...
            {
                "name": "MINT_CURRENCY",
                "value": "USD"
            },
            {
                "name": "MINT_COUNTRY",
                "value": "US"
            },
            {
                "name": "MINT_TIMEZONE",
                "value": "GMT"
            }
        ]
    }
}

מאפיינים

תיאור

MINT_TAX_MODEL

הערכים הקבילים הם DISCLOSED,

UNDISCLOSED, HYBRID (ברירת המחדל היא null)

MINT_CURRENCY

קוד מטבע ISO (ברירת המחדל היא null)

MINT_TAX_NEXUS

זיקת מס (ברירת המחדל היא null)

MINT_DEFAULT_PROD_TAX_CATEGORY

קטגוריית המס שמוגדרת כברירת מחדל למוצר (ברירת המחדל היא null)

MINT_IS_GROUP_ORG

האם הארגון הוא קבוצה (ברירת המחדל היא false)

MINT_HAS_BROKER

האם יש שגיאה (ברירת המחדל היא false)

MINT_TIMEZONE

אזור זמן (ברירת המחדל היא null)

MINT_TAX_ENGINE_EXTERNAL_ID

מזהה מנוע המס (ברירת המחדל היא null)

MINT_COUNTRY

המדינה של הארגון (ברירת המחדל היא null)

MINT_REG_NO

מספר הרישום של הארגון, בבריטניה הוא שונה ממזהה המס (ברירת המחדל היא null)

MINT_BILLING_CYCLE_TYPE

‫PRORATED, ‏ CALENDAR_MONTH (ברירת המחדל היא CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (ברירת המחדל היא PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

מציין אם צריך ליצור חשבונית נפרדת על עמלות (ברירת המחדל היא false)

MINT_ISSUE_NETTING_STMT

מציין אם צריך להנפיק דוח קיזוז (ברירת המחדל היא false)

MINT_NETTING_STMT_PER_CURRENCY

מציין אם צריך ליצור דוח קיזוז לכל מטבע (ברירת המחדל היא false)

MINT_HAS_SELF_BILLING

מציין אם לארגון יש חיוב עצמי (ברירת המחדל היא false)

MINT_SELF_BILLING_FOR_ALL_DEV

מציין אם לארגון יש חיוב עצמי לכל המפתחים(ברירת המחדל היא false)

MINT_HAS_SEPARATE_INV_FOR_PROD

מציין אם לארגון יש חשבונית נפרדת לכל מוצר (ברירת המחדל היא false)

MINT_HAS_BILLING_ADJUSTMENT

מציין אם הארגון תומך בהתאמות חיוב (ברירת המחדל היא false)

features.isMonetizationEnabled

משמש את ממשק המשתמש של הניהול כדי להציג תפריט ספציפי למונטיזציה (ברירת המחדל היא false)

ui.config.isOperator

משמש את ממשק המשתמש של הניהול כדי להציג את הספק כמפעיל לעומת ארגון

(ברירת המחדל היא true)

כדי להגדיר את הארגון העסקי באמצעות ממשק המשתמש לניהול, אפשר לעיין במאמר http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

הערה: אם אתם משתמשים בתכונות "מגבלות" ו"התראות" של שירותי המונטיזציה, בקשו מהמפתחים שלכם לצרף מדיניות מגבלות בתהליך ה-proxy אחרי מדיניות האימות של טוקן הגישה.

מדיניות הגבלה היא מדיניות מפורשת שנועדה לחסום קריאה ל-API אם הגעתם למגבלה מסוימת. המדיניות בודקת את המגבלות העסקיות ומציגה שגיאה אם יש מגבלות שחורגות מהערך שהוגדר. זו הרחבה של מדיניות העלאת השגיאות, אבל התנאים נגזרים ממשתנים עסקיים.

תבנית של ממשק משתמש זמינה בממשק המשתמש לניהול למפתחי שרתי proxy. מפתח ה-proxy צריך לצרף את מדיניות ההנפקה בתהליך ההודעה. כשהמדיניות הזו תופעל, תופיע שגיאה עם תגובת השגיאה בהתאם למדיניות. אם המדיניות ContinueOnError מוגדרת כ-true, השגיאה לא תופיע ומשתני הזרימה "mint.limitsViolated",‏ "mint.isDeveloperSuspended" ו-"mint.limitsPolicyError" יוגדרו. אפשר להשתמש בהם לטיפול נוסף בחריגות, אם צריך.