Edge pour Private Cloud v. 4.16.05
Les services de monétisation sont une extension d'Apigee Edge. Ils ne s'exécutent donc pas en tant que 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 serveurs de gestion (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 Monetization on Edge dans une installation Edge comportant plusieurs nœuds Postgres, les nœuds Postgres doivent être configurés en mode maître/en veille. Vous ne pouvez pas installer la monétisation sur Edge si vous disposez de plusieurs nœuds maîtres Postgres. Pour en savoir plus, consultez Configurer la réplication maître-nœud de secours pour Postgres.
Présentation de l'installation
Les étapes suivantes montrent comment ajouter des services de monétisation à une installation Apigee Edge existante :
- Utilisez la configuration apigee-setup.
pour mettre à jour le nœud de serveur de gestion Apigee afin d'activer les services de monétisation, pour
la gestion du catalogue, la configuration des limites et notifications, la facturation et
la création de rapports.
Si vous disposez de plusieurs nœuds de serveur de gestion, 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, par exemple, la règle d'enregistrement des transactions et l'application des limites. Si vous avez plusieurs processeurs de messages, installez Monetization sur chacun d'eux.
- Effectuez le processus d'intégration de la monétisation pour vos organisations Edge.
- Configurer le portail de services pour les développeurs pour permettre la monétisation. Pour en savoir plus, consultez http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.
Créer un fichier de configuration silencieuse pour Monétisation
Vous trouverez ci-dessous un exemple de fichier de configuration silencieuse pour une installation de monétisation. Modifier fichier selon les besoins de votre configuration. Utilisez l'option -f dans setup.sh pour inclure ce fichier.
Remarque : En règle générale, vous ajoutez ces propriétés au même fichier de configuration que celui que vous avez utilisé pour installer Edge, comme indiqué dans la section Installer les 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=yRemarques :
- Si votre fichier de configuration Edge ne spécifie pas d'informations SMTP, ajoutez-les. La monétisation nécessite 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 les plus importants. Lorsque vous installez Edge dans plusieurs centres de données, certains nœuds ZooKeeper être configurés en tant qu'observateurs. Assurez-vous que la propriété ZK_HOSTS ci-dessus spécifie un nœud leader dans une installation multi-centre 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 avec tous les serveurs de gestion
Procédez comme suit pour intégrer la monétisation sur les nœuds de serveur de gestion.
- Si vous installez Monetization sur une topologie Edge qui utilise plusieurs nœuds de serveur de gestion, par exemple une installation à 13 nœuds, assurez-vous d'avoir installé les deux nœuds de serveur de gestion avant d'installer Monetization.
- 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" spécifie l'intégration de la monétisation.
Le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur. Par exemple, placez le fichier dans le répertoire /tmp ; sur le nœud. - Si vous installez la monétisation sur plusieurs nœuds de serveur de gestion, répétez l'étape 2 pour le deuxième nœud de serveur de gestion.
En cas de configuration réussie, un schéma SGBDR pour les services de monétisation est créé dans le base de données PostgreSQL. L'intégration des services de monétisation et de ses composants associés à Postgres Server est terminée.
Intégrer les services de monétisation avec tous les processeurs de messages
Suivez la procédure ci-dessous pour intégrer la monétisation à tous les nœuds du processeur de messages.
- Sur le premier nœud du 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" spécifie l'intégration de la monétisation.
Le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur. Par exemple, placez le fichier dans le répertoire /tmp ; sur le nœud. - Répétez cette procédure sur tous les nœuds du processeur de messages.
Si la configuration réussit, le processeur de messages dispose des services de monétisation. Ce achève l'intégration des Services de monétisation et de leurs composants associés au Message Processeurs.
Intégration de la monétisation
Pour créer une organisation avec la monétisation activée, commencez par créer l'organisation comme vous le feriez pour n'importe quelle organisation. Pour en savoir plus, consultez Intégrer une organisation.
Intégration supplémentaire pour activer la monétisation pour une organisation
Pour intégrer la monétisation à une organisation, vous devez :
- Créez le groupe de monétisation mxgroup.
- Ajoutez Qpid au groupe.
- Activez la monétisation pour l'organisation.
- Activer les paramètres de notification pour l'organisation
- Répétez cette procédure pour toutes les organisations pour 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 le 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 que vous avez utilisée lors de l'installation de la monétisation.
- Si vous activez la monétisation dans une configuration multi-centre de données :
- Vous devez répéter le processus d'intégration sur le serveur de gestion pour chaque donnée de sécurité.
- Le fichier de configuration ne doit contenir que les nœuds Qpid du centre de données concerné configuré.
Pour exécuter le script, procédez comme suit :
- 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 "apigee" utilisateur. Par exemple, placez le fichier dans le répertoire /tmp ; sur le nœud.
Si vous disposez de plusieurs serveurs de gestion, il vous suffit d'exécuter ce script 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 dans la base de données PostgreSQL de monétisation. Une fois les services de monétisation installés, les données sont synchronisées automatiquement. - Répétez cette procédure pour chaque organisation pour laquelle vous souhaitez activer la monétisation.
- Si vous utilisez plusieurs centres de données, répétez cette procédure au niveau de l'interface Serveur dans l'autre centre de données. Assurez-vous que le fichier de configuration ne répertorie que les nœuds Qpid du du centre de données en cours de configuration.
La prochaine fois que vous vous connecterez à l'UI Edge, l'entrée "Monétisation" s'affichera dans le menu de niveau supérieur de l'organisation :
Configurer le portail des services pour les développeurs
Pour configurer le portail des services pour les développeurs afin de permettre 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 que vous ajoutez les services de monétisation vers le nouveau serveur de gestion et configurer tous les serveurs de gestion pour qu'ils peut communiquer.
Pour ajouter un serveur de gestion:
- Installez le nouveau serveur de gestion.
- Installez la monétisation sur le nouveau serveur de gestion.
- Sur le serveur de gestion d'origine, appelez la méthode suivante:
> /opt/apigee/apigee-service/bin/apigee-service Edge-mint-management-server mint-configure-mgmt-cluster - Redémarrez le serveur de gestion d'origine :
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - Sur le nouveau serveur de gestion, appelez le code suivant:
> /opt/apigee/apigee-service/bin/apigee-service Edge-mint-management-server mint-configure-mgmt-cluster - Redémarrez le nouveau serveur de gestion :
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Configuration supplémentaire
Fournir des documents de facturation au format PDF
La section "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 Monetization à un système de facturation qui permet de générer des PDF ou acquérir une licence pour 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 des monnaies. Vous pouvez utiliser un appel PUT pour ajouter/mettre à jour ces 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, la sortie de la commande CURL ci-dessus se présente comme suit :
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}
Attributs |
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 (valeur par défaut : null) |
MINT_TAX_NEXUS |
Trafic lié aux taxes (la valeur par défaut est "null") |
MINT_DEFAULT_PROD_TAX_CATEGORY |
Catégorie de taxe par défaut pour les produits (valeur par défaut : "null") |
MINT_IS_GROUP_ORG |
Organisation du groupe IS (par défaut, la valeur est "false") |
MINT_HAS_BROKER |
A 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 de gestion des taxes (la valeur par défaut est "null") |
MINT_COUNTRY |
Pays de l'organisation (valeur par défaut : "null") |
MINT_REG_NO |
Le numéro d'enregistrement de l'organisation au Royaume-Uni est différent du numéro d'identification fiscale (par défaut, il est défini sur "null") |
MINT_BILLING_CYCLE_TYPE |
PRORATED, CALENDAR_MONTH (par défaut, CALENDAR_MONTH) |
MINT_SUPPORTED_BILLING_TYPE |
PREPAID/POSTPAID/BOTH BOTH (par défaut : PREPAID) |
MINT_IS_SEPARATE_INV_FOR_FEES |
Indique si une facture distincte doit être générée (la valeur par défaut est "false") |
MINT_ISSUE_NETTING_STMT |
Indique si un relevé de compensation doit être émis (par défaut, la valeur est "false") |
MINT_NETTING_STMT_PER_CURRENCY |
Indique si un relevé de compensation doit être généré par devise (par défaut, la valeur est "false"). |
MINT_HAS_SELF_BILLING |
Indique si l'organisation gère elle-même la facturation (par défaut, la valeur est "false") |
MINT_SELF_BILLING_FOR_ALL_DEV |
Indique si l'organisation gère la facturation elle-même pour tous les développeurs (par défaut, la valeur est "false"). |
MINT_HAS_SEPARATE_INV_FOR_PROD |
Indique si l'organisation dispose d'une facture distincte pour chaque produit (par défaut, faux) |
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'UI de gestion pour afficher le menu spécifique à la monétisation (valeur par défaut : "false") |
ui.config.isOperator |
Utilisé par l'UI de gestion pour afficher le fournisseur en tant qu'opérateur plutôt qu'organisation (par défaut, "true") |
Pour configurer les paramètres de l'organisation à l'aide de l'UI de gestion, consultez la page http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.
Remarque: Si vous utilisez les notifications et les limites des services de monétisation veuillez demander à vos développeurs d'ajouter une règle de limite dans le flux de proxy après que de validation des jetons d'accès.
Une règle de limite est une règle explicite conçue pour bloquer un appel d'API si une limite a été atteint. La règle vérifie les limites d'entreprise 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 Raise Fault, 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 de proxy. Le développeur de proxy doit associer la règle de mint dans le flux de messages. Lors de l'exécution de cette règle, la faute sera signalée. avec la réponse aux pannes conformément à la stratégie. Si ContinueOnError est défini sur "true", l'erreur ne sera pas générée et les variables de flux mint.limitsViolated, mint.isDeveloperSuspended et mint.limitsPolicyError seront définies. Elles pourront être utilisées pour une gestion des exceptions ultérieure, si nécessaire.