Installer les services de monétisation

Edge pour Private Cloud version 4.16.05

Les services de monétisation sont une extension d'Apigee Edge. Ils ne s'exécutent donc pas comme un processus autonome. Il s'exécute dans n'importe quelle configuration Apigee Edge existante.

Exigences concernant la monétisation

  • Si vous installez la monétisation sur une topologie de périphérie utilisant plusieurs nœuds Management Server (par exemple, une installation à 13 nœuds), vous devez installer les deux nœuds Edge Management Server avant d'installer la monétisation.
  • Pour installer la monétisation sur la périphérie lorsque l'installation d'Edge comporte plusieurs nœuds Postgres, vous devez configurer les nœuds Postgres en mode maître/veille. Vous ne pouvez pas installer Monetization sur Edge si vous avez plusieurs nœuds maîtres Postgres. Pour en savoir plus, consultez la page Configurer la réplication maître en veille pour Postgres.

Présentation de l'installation

Les étapes suivantes illustrent comment ajouter des services de monétisation à une installation Apigee Edge existante:

  • Utilisez l'utilitaire apigee-setup pour mettre à jour le nœud Apigee Management Server afin d'activer les services de monétisation (par exemple, la gestion du catalogue, la configuration des limites et des notifications, la facturation et la création de rapports).

    Si vous disposez de plusieurs nœuds Management Server (par exemple, une installation à 13 nœuds), vous devez installer les deux nœuds Edge Management Server avant d'installer la monétisation.
  • Utilisez l'utilitaire apigee-setup pour mettre à jour le processeur de messages Apigee afin d'activer les composants d'exécution des services de monétisation, tels que la règle d'enregistrement des transactions et l'application des limites. Si vous disposez de plusieurs processeurs de messages, installez la monétisation sur chacun d'eux.
  • Suivez le processus d'intégration de la monétisation pour vos organisations de périphérie.
  • Configurez le portail de services pour les développeurs pour qu'il accepte la monétisation. Pour plus d'informations, consultez la page http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Création d'un fichier de configuration silencieux pour la monétisation

Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation de monétisation. Modifiez ce fichier si nécessaire pour votre configuration. Utilisez l'option "-f" pour setup.sh afin d'inclure ce fichier.

Remarque: En règle générale, vous ajoutez ces propriétés au même fichier de configuration que celui utilisé pour installer Edge, comme indiqué dans la section Installer des composants Edge sur un nœud.

# 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
Remarques :
  • Si votre fichier de configuration Edge ne spécifie pas d'informations SMTP, ajoutez-les. La monétisation nécessite un serveur SMTP.
  • Dans une installation de centre de données unique, tous les nœuds ZooKeeper sont configurés par défaut en tant que nœuds principaux. Lorsque vous installez Edge sur plusieurs centres de données, certains nœuds ZooKeeper sont configurés en tant qu'observateurs. Assurez-vous que la propriété ZK_HOSTS ci-dessus spécifie un nœud principal dans une installation avec plusieurs centres de données.
  • Si vous activez l'authentification Cassandra, vous pouvez transmettre le nom d'utilisateur et le mot de passe Cassandra à l'aide des propriétés suivantes:
    CASS_USERNAME
    CASS_PASSWORD

Intégrer les services de monétisation à tous les serveurs de gestion

Procédez comme suit pour intégrer la monétisation sur les nœuds Management Server.

  1. Si vous installez la monétisation sur une topologie de périphérie utilisant plusieurs nœuds Management Server (par exemple, une installation à 13 nœuds), assurez-vous d'avoir installé les deux nœuds Management Server avant d'installer la monétisation.
  2. Sur le nœud du serveur de gestion, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'option "-p mo" indique si vous souhaitez intégrer la monétisation.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee". Par exemple, placez le fichier dans le répertoire /tmp du nœud.
  3. Si vous installez la monétisation sur plusieurs nœuds Management Server, répétez l'étape 2 sur le deuxième nœud Management Server.

En cas de configuration réussie, un schéma SGBDR est créé pour les services de monétisation dans la base de données PostgreSQL. Cette opération met fin à l'intégration des services de monétisation et de leurs composants associés au serveur Postgres.

Intégrer les services de monétisation à tous les processeurs de messages

Procédez comme suit pour intégrer la monétisation sur tous les nœuds de processeur de messages.

  1. Sur le premier nœud de processeur de messages, à l'invite de commande, exécutez le script de configuration:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'option "-p mo" indique que vous voulez intégrer la monétisation.

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee". Par exemple, placez le fichier dans le répertoire /tmp du nœud.
  2. Répétez cette procédure sur tous les nœuds du processeur de messages.

Si la configuration aboutit, le Processeur de messages est mis à jour avec les Services de monétisation. L'intégration des Services de monétisation et de leurs composants associés aux Processeurs de messages est maintenant terminée.

Intégration de la monétisation

Pour créer une organisation avec la monétisation activée, vous devez la créer comme vous le feriez pour toute nouvelle organisation. Pour en savoir plus, consultez Intégrer une organisation.

Intégration supplémentaire afin d'activer la monétisation pour une organisation

Pour finaliser l'intégration de la monétisation dans une organisation, vous devez:

  1. Créez le groupe de monétisation mxgroup.
  2. Ajoutez Qpid au groupe.
  3. Activez la monétisation pour l'organisation.
  4. Activer les paramètres de notification pour l'organisation
  5. Répétez cette procédure pour toutes les organisations dans lesquelles vous souhaitez activer la monétisation.

Utilisez la commande enable-monetization pour effectuer toutes ces tâches. Ce script utilise un fichier de configuration contenant les propriétés suivantes:

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.

Remarques :

  • Définissez CASS_HOSTS et REGION sur les mêmes valeurs que celles utilisées lors de l'installation de la monétisation.
  • Si vous activez la monétisation dans plusieurs centres de données :
    • Vous devez répéter le processus d'intégration sur le serveur de gestion dans chaque centre de données.
    • Le fichier de configuration ne doit répertorier que les nœuds Qpid du centre de données en cours de configuration.

Pour exécuter le script, procédez comme suit :

  1. Appelez le script:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    Le fichier de configuration doit être accessible ou lisible par l'utilisateur "apigee". Par exemple, placez le fichier dans le répertoire /tmp du nœud.

    Si vous disposez de plusieurs serveurs de gestion, vous n'avez besoin d'exécuter ce script que sur l'un d'entre eux.

    Ce script réplique l'organisation, les produits, les développeurs et les applications de la base de données Cassandra vers la base de données PostgreSQL de monétisation. Une fois les Services de monétisation correctement installés, les données sont automatiquement synchronisées.
  2. Répétez cette procédure pour chaque organisation pour laquelle vous souhaitez activer la monétisation.
  3. Si vous vous trouvez dans un environnement comportant plusieurs centres de données, répétez cette procédure sur le serveur de gestion dans l'autre centre de données. Assurez-vous que le fichier de configuration ne répertorie que les nœuds Qpid du centre de données en cours de configuration.

La prochaine fois que vous vous connecterez à l'interface utilisateur Edge, vous verrez l'entrée Monetization dans le menu supérieur de l'organisation:

Configurer le portail de services pour les développeurs

Pour configurer le portail des services pour les développeurs afin d'assurer la monétisation, consultez la page http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Ajouter un nœud de serveur de gestion à une installation de monétisation

Si vous ajoutez un serveur de gestion à une installation Edge existante, vous devez vous assurer d'ajouter les services de monétisation au nouveau serveur de gestion et configurer tous les serveurs de gestion pour qu'ils puissent communiquer.

Pour ajouter un serveur de gestion:

  1. Installez le nouveau serveur de gestion.
  2. Installez la monétisation sur le nouveau serveur de gestion.
  3. Sur le serveur de gestion d'origine, appelez la commande suivante:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-mint-management-server mint-configure-mgmt-cluster
  4. Redémarrez le serveur de gestion d'origine:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart
  5. Sur le nouveau serveur de gestion, appelez la commande suivante:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-mint-management-server mint-configure-mgmt-cluster
  6. Redémarrez le nouveau serveur de gestion:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart

Configuration supplémentaire

Fournir les documents de facturation au format PDF

La monétisation présente les documents de facturation aux utilisateurs finaux au format HTML. Pour fournir des documents de facturation au format PDF, vous pouvez intégrer la monétisation à un système de facturation qui permet de générer des PDF ou de concéder sous licence une bibliothèque PDF tierce compatible.

Configurer les paramètres de l'organisation

Paramètres du backend: le tableau suivant répertorie les attributs au niveau de l'organisation disponibles pour configurer une organisation Mint. Vous pouvez utiliser un appel PUT pour ajouter ou mettre à jour ces attributs, comme indiqué ci-dessous:

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

Par exemple, le résultat de la commande CURL ci-dessus ressemblera à ceci:

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

Attributes

Description

MINT_TAX_MODEL

Les valeurs acceptées sont DISCLOSED,

UNDISCLOSED, HYBRID (La valeur par défaut est "null")

MINT_CURRENCY

Code de devise ISO (la valeur par défaut est "null")

MINT_TAX_NEXUS

Critère de taxe (la valeur par défaut est "null")

MINT_DEFAULT_PROD_TAX_CATEGORY

Catégorie de taxe pour les produits par défaut (la valeur par défaut est "null")

MINT_IS_GROUP_ORG

Organisation du groupe IS (la valeur par défaut est "false")

MINT_HAS_BROKER

Ne fonctionne pas (la valeur par défaut est "false")

MINT_TIMEZONE

Fuseau horaire (la valeur par défaut est "null")

MINT_TAX_ENGINE_EXTERNAL_ID

Identifiant du moteur fiscal (la valeur par défaut est "null")

MINT_COUNTRY

Pays de l'organisation (la valeur par défaut est "null")

MINT_REG_NO

Numéro d'enregistrement de l'organisation, le Royaume-Uni ne donne pas le même numéro que le numéro d'identification fiscale (la valeur par défaut est "null")

MINT_BILLING_CYCLE_TYPE

PRORATED, AGE_MONTH (la valeur par défaut est AGE_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (la valeur par défaut est PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

Indique si une facture distincte avec frais doit être générée (la valeur par défaut est "false").

MINT_ISSUE_NETTING_STMT

Indique si une déclaration de compensation doit être émise (la valeur par défaut est "false").

MINT_NETTING_STMT_PER_CURRENCY

Indique si l'instruction de mise en réseau doit être générée en fonction de la devise (la valeur par défaut est "false").

MINT_HAS_SELF_BILLING

Indique si l'organisation utilise l'auto-facturation (la valeur par défaut est "false")

MINT_SELF_BILLING_FOR_ALL_DEV

Indique si l'organisation propose l'auto-facturation pour tous les développeurs(la valeur par défaut est "false")

MINT_HAS_SEPARATE_INV_FOR_PROD

Indique si l'entreprise propose une facture distincte par produit (la valeur par défaut est "false").

MINT_HAS_BILLING_ADJUSTMENT

Indique si l'organisation accepte les ajustements de facturation (la valeur par défaut est "false").

features.isMonetizationEnabled

Utilisé par l'interface utilisateur de gestion pour afficher le menu spécifique à la monétisation (la valeur par défaut est "false")

ui.config.isOperator

Utilisé par l'UI de gestion pour afficher le fournisseur en tant qu'opérateur au lieu de l'organisation

(la valeur par défaut est "true")

Pour configurer les paramètres d'organisation de votre entreprise à l'aide de l'interface utilisateur de gestion, consultez la page http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Remarque: Si vous utilisez les limites des services de monétisation et les fonctionnalités de notification, veuillez demander à vos développeurs de joindre une règle de limite dans le flux proxy après la règle de validation des jetons d'accès.

Les règles de limitation sont des règles explicites conçues pour bloquer un appel d'API si une certaine limite est atteinte. La stratégie vérifie les limites métier et génère une erreur si des limites dépassent la valeur configurée. Il s'agit d'une extension de la stratégie d'augmentation des erreurs, mais les conditions sont dérivées de variables métier.

Un modèle d'interface utilisateur est disponible dans l'interface utilisateur de gestion pour les développeurs proxy. Le développeur de proxys doit joindre la politique de la Menson dans le flux de messages. Lors de l'exécution de cette stratégie, l'erreur est générée avec la réponse d'erreur conformément à la stratégie. Si ContinueOnError est défini sur "true", l'erreur n'est pas générée et les variables de flux "mint.limitsViolated", "mint.isDevelopersuspended" et "mint.limitsPolicyError" sont définies et peuvent être utilisées pour un traitement plus poussé des exceptions, si nécessaire.