Edge para nube privada v. 4.17.09
Los servicios de monetización son una extensión de Apigee Edge, por lo que no se ejecutan como un proceso independiente. Se ejecuta en cualquier configuración existente de Apigee Edge.
Requisitos de monetización
- Si instalas la Monetización en una topología de Edge que usa varios nodos de Management Server, como una instalación de 13 nodos, debes instalar ambos nodos de Edge Management Server antes de instalar la Monetización.
- Para instalar la monetización en Edge en el que la instalación de Edge tiene varios nodos de Postgres, los nodos de Postgres deben configurarse en modo principal/en espera. No puedes instalar la monetización en Edge si tienes varios nodos principales de Postgres. Para obtener más información, consulta Configura la replicación principal-en espera para Postgres.
Descripción general de instalación
En los siguientes pasos, se ilustra cómo agregar servicios de monetización en una instalación existente de Apigee Edge:
- Usa la utilidad apigee-setup
para actualizar el nodo del servidor de administración de Apigee y habilitar los servicios de monetización, por
ejemplo, la administración de catálogos, la configuración de límites y notificaciones, la facturación y
los informes.
Si tienes varios nodos de servidor de administración, como una instalación de 13 nodos, debes instalar ambos nodos de servidor de administración de Edge antes de instalar la monetización. - Usa la utilidad apigee-setup para actualizar el Message Processor de Apigee y habilitar los componentes del entorno de ejecución de los servicios de monetización, por ejemplo, la política de registro de transacciones y la aplicación de límites. Si tienes varios Message Processors, instala la Monetización en todos ellos.
- Realiza el proceso de incorporación de Monetización para tus organizaciones de Edge.
- Configura el portal de servicios para desarrolladores para que admita la monetización. Para obtener más información, consulta http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.
Crea un archivo de configuración silencioso para la monetización
A continuación, se muestra un archivo de configuración silenciosa de ejemplo para una instalación de Monetización. Edita este archivo según sea necesario para tu configuración. Usa la opción -f para setup.sh para incluir este archivo.
Nota: Por lo general, agregas estas propiedades al mismo archivo de configuración que usaste para instalar Edge, como se muestra en Instala componentes de Edge en un nodo.
# 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 SMTPMAILFROM="My Company <myco@company.com>"
- Si tu archivo de configuración de Edge no especificó la información de SMTP, agrégala. La monetización requiere un servidor SMTP.
- En una instalación de un solo centro de datos, todos los nodos de ZooKeeper se configuran de forma predeterminada como líderes. Cuando instales Edge en varios centros de datos, algunos nodos de ZooKeeper se configurarán como observadores. Asegúrate de que la propiedad ZK_HOSTS anterior especifique un nodo líder en una instalación de varios centros de datos.
- Si habilitas la autenticación de Cassandra, puedes pasar el nombre de usuario y la contraseña de Cassandra
con las siguientes propiedades:
CASS_USERNAME
CASS_PASSWORD
Integra los servicios de monetización con todos los servidores de administración
Usa el siguiente procedimiento para integrar la monetización en los nodos del servidor de administración.
- Si instalas la monetización en una topología de Edge que usa varios nodos de Management Server, como una instalación de 13 nodos, asegúrate de haber instalado ambos nodos de Management Server antes de instalar la monetización.
- En el nodo del servidor de administración, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
La opción “-p mo” especifica que se debe integrar la monetización.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo. - Si instalas la monetización en varios nodos del servidor de administración, repite el paso 2 en el segundo nodo del servidor de administración.
Si la configuración se realiza de forma correcta, se crea un esquema de RDBMS para los servicios de monetización en la base de datos de PostgreSQL. Con esto, se completa la integración de los servicios de monetización y sus componentes asociados con el servidor de Postgres.
Integra los servicios de monetización con todos los Message Processors
Usa el siguiente procedimiento para integrar la monetización en todos los nodos de Message Processor.
- En el primer nodo de Message Processor, en el símbolo del sistema, ejecuta la secuencia de comandos de configuración:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
La opción “-p mo” especifica que se debe integrar la monetización.
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo. - Repite este procedimiento en todos los nodos de Message Processor.
Si la configuración se realiza de forma correcta, el Message Processor se actualiza con los servicios de monetización. Esto completa la integración de los servicios de monetización y sus componentes asociados con los Message Processors.
Incorporación a la monetización
Para crear una organización nueva con la monetización habilitada, primero debes crear la organización como lo harías para cualquier organización nueva. Para obtener más información, consulta Incorpora una organización.
Incorporación adicional para habilitar la monetización en una organización
Para completar la capacitación de monetización de una organización, debes hacer lo siguiente:
- Crea el grupo de monetización: mxgroup.
- Agrega Qpid al grupo.
- Habilita la monetización para la organización.
- Habilita la configuración de notificaciones para la organización.
- Repite este proceso para todas las organizaciones en las que quieras habilitar la monetización.
Usa el comando enable-monetization para realizar todas estas tareas. Esta secuencia de comandos toma un archivo de configuración que contiene las siguientes propiedades:
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.
Notas:
- Establece CASS_HOSTS y REGION en los mismos valores que usaste cuando instalaste la monetización.
- Si habilitas la monetización en una configuración de varios centros de datos, haz lo siguiente:
- Debes repetir el proceso de incorporación en el servidor de administración de cada centro de datos.
- En el archivo de configuración, solo se deben enumerar los nodos de Qpid en el centro de datos que se configura.
Para ejecutar la secuencia de comandos, sigue estos pasos:
- Invoca la secuencia de comandos:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile
El usuario "apigee" debe poder acceder al archivo de configuración o leerlo.
Si tienes varios servidores de administración, solo debes ejecutar esta secuencia de comandos en uno de ellos.
Esta secuencia de comandos replica la organización, los productos, los desarrolladores y las aplicaciones de la base de datos de Cassandra en la base de datos de PostgreSQL de Monetización. Después de la instalación correcta de los servicios de monetización, los datos se sincronizan automáticamente. - Repite este procedimiento para cada organización en la que quieras habilitar la monetización.
- Si te encuentras en un entorno de varios centros de datos, repite este proceso en el servidor de administración del otro centro de datos. Asegúrate de que la lista de archivos de configuración solo incluya los nodos de Qpid en el centro de datos que se está configurando.
La próxima vez que accedas a la IU de Edge, verás la entrada Monetización en el menú de nivel superior de la organización:

Configura el portal de servicios para desarrolladores
Para configurar el portal de servicios para desarrolladores de modo que admita la monetización, consulta http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.
Agrega un nodo del servidor de administración a una instalación de monetización
Si agregas un servidor de administración a una instalación de Edge existente, debes asegurarte de agregar los servicios de monetización al nuevo servidor de administración y configurar todos los servidores de administración para que puedan comunicarse.
Para agregar un servidor de administración, haz lo siguiente:
- Instala el nuevo servidor de administración.
- Instala la monetización en el nuevo servidor de administración.
- En el servidor de administración original, llama a lo siguiente:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - Reinicia el servidor de administración original:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - En el nuevo servidor de administración, llama a lo siguiente:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - Reinicia el nuevo servidor de administración:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Configuración adicional
Proporciona documentos de facturación como archivos PDF
La monetización muestra los documentos de facturación a los usuarios finales en formato HTML. Para proporcionar documentos de facturación como archivos PDF, puedes integrar la Monetización con un sistema de facturación que proporcione la generación de PDF o que otorgue licencias a una biblioteca de PDF de terceros compatible.
Configura los parámetros de la organización
Configuración del backend: En la siguiente tabla, se enumeran los atributos a nivel de la organización que están disponibles para configurar una organización de Mint. Puedes usar una llamada PUT para agregar o actualizar estos atributos, como se muestra a continuación:
> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT
Por ejemplo, el resultado del comando CURL anterior se verá de la siguiente manera:
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}|
Atributos |
Descripción |
|---|---|
|
MINT_TAX_MODEL |
Los valores aceptados son DISCLOSED, UNDISCLOSED, HYBRID (el valor predeterminado es nulo) |
|
MINT_CURRENCY |
Código de moneda ISO (el valor predeterminado es nulo) |
|
MINT_TAX_NEXUS |
Nexo fiscal (el valor predeterminado es nulo) |
|
MINT_DEFAULT_PROD_TAX_CATEGORY |
Categoría fiscal predeterminada del producto (el valor predeterminado es nulo) |
|
MINT_IS_GROUP_ORG |
Es una organización de grupo (el valor predeterminado es falso) |
|
MINT_HAS_BROKER |
Has broken (el valor predeterminado es false) |
|
MINT_TIMEZONE |
Zona horaria (el valor predeterminado es nulo) |
|
MINT_TAX_ENGINE_EXTERNAL_ID |
ID del motor fiscal (el valor predeterminado es nulo) |
|
MINT_COUNTRY |
País de la organización (el valor predeterminado es nulo) |
|
MINT_REG_NO |
Número de registro de la organización, el Reino Unido proporciona un número diferente del ID fiscal (el valor predeterminado es nulo) |
|
MINT_BILLING_CYCLE_TYPE |
PRORATED, CALENDAR_MONTH (el valor predeterminado es CALENDAR_MONTH) |
|
MINT_SUPPORTED_BILLING_TYPE |
PREPAID/POSTPAID/BOTH (el valor predeterminado es PREPAID) |
|
MINT_IS_SEPARATE_INV_FOR_FEES |
Indica si se debe generar una factura de tarifas independiente (el valor predeterminado es falso) |
|
MINT_ISSUE_NETTING_STMT |
Indica si se debe emitir un estado de cuenta de compensación (el valor predeterminado es falso) |
|
MINT_NETTING_STMT_PER_CURRENCY |
Indica si se debe generar un estado de cuenta de compensación por moneda (el valor predeterminado es falso). |
|
MINT_HAS_SELF_BILLING |
Indica si la organización tiene autofacturación (el valor predeterminado es falso) |
|
MINT_SELF_BILLING_FOR_ALL_DEV |
Indica si la organización tiene autofacturación para todos los desarrolladores(el valor predeterminado es falso). |
|
MINT_HAS_SEPARATE_INV_FOR_PROD |
Indica si la organización tiene una factura independiente por producto (el valor predeterminado es falso). |
|
MINT_HAS_BILLING_ADJUSTMENT |
Indica si la organización admite ajustes de facturación (el valor predeterminado es falso). |
|
features.isMonetizationEnabled |
La IU de administración lo usa para mostrar el menú específico de monetización (el valor predeterminado es falso) |
|
ui.config.isOperator |
La IU de administración lo usa para mostrar el proveedor como operador o como organización. (el valor predeterminado es verdadero) |
Para configurar los parámetros de configuración de la organización empresarial con la IU de administración, consulta http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.
Nota: Si usas las funciones de límites y notificaciones de los servicios de monetización, indica a tus desarrolladores que adjunten una política de límites en el flujo del proxy después de la política de validación del token de acceso.
La política de límite es una política explícita diseñada para bloquear una llamada a la API si se alcanzó un límite determinado. La política verifica los límites empresariales y genera un error si hay algún límite que supere el valor configurado. Esta es una extensión de la política de generación de errores, pero las condiciones se derivan de las variables empresariales.
Hay una plantilla de IU disponible en la IU de administración para los desarrolladores de proxies. El desarrollador del proxy debe adjuntar la política de acuñación en el flujo de mensajes. Cuando se ejecute esta política, se generará la falla con la respuesta de falla según la política. Si ContinueOnError se establece en verdadero, no se generará la falla y se establecerán las variables de flujo "mint.limitsViolated", "mint.isDeveloperSuspended" y "mint.limitsPolicyError", que se podrían usar para un mayor control de excepciones si es necesario.