Como instalar serviços de monetização

Edge for Private Cloud v. 4.16.05

Os serviços de monetização são uma extensão do Apigee Edge, portanto, não são executados como um processo independente. Ele é executado em qualquer configuração atual do Apigee Edge.

Requisitos de monetização

  • Se você estiver instalando a monetização em uma topologia de borda que use vários servidores de gerenciamento nós, como uma instalação de 13 nós, instale os dois nós do servidor de gerenciamento de borda antes de instalar a Monetização.
  • Para instalar a Monetização no Edge, onde a instalação do Edge tem vários nós do Postgres, os nós do Postgres precisam ser configurados no modo mestre/standby. Não é possível instalar a Monetização no Edge se você tiver vários nós principais do Postgres. Para mais informações, consulte Configurar a replicação mestre-standby para Postgres.

Visão geral da instalação

As etapas a seguir ilustram como adicionar serviços de monetização a uma instalação do Apigee Edge:

  • Use o utilitário apigee-setup para atualizar o nó do servidor de gerenciamento da Apigee e ativar os serviços de monetização, como gerenciamento de catálogo, configuração de limites e notificações, faturamento e relatórios.

    Se você tiver vários nós do servidor de gerenciamento, como uma instalação de 13 nós, será necessário instalar os dois nós do servidor de gerenciamento de borda antes de instalar a Monetização.
  • Use o utilitário apigee-setup para atualizar o processador de mensagens da Apigee e ativar os componentes de execução dos serviços de monetização, por exemplo, a política de registro de transações e a aplicação de limite. Se você tiver vários processadores de mensagens, instale a monetização em todos eles.
  • Conclua o processo de integração da monetização para suas organizações do Edge.
  • Configure o portal de serviços para desenvolvedores para oferecer suporte à monetização. Para mais informações, consulte http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Criar um arquivo de configuração silencioso para Monetização

Confira abaixo um exemplo de arquivo de configuração silenciosa para uma instalação de monetização. Edite esse arquivo conforme necessário para sua configuração. Use a opção -f para incluir o arquivo setup.sh.

Observação: normalmente, você adiciona essas propriedades ao mesmo arquivo de configuração que usado para instalar o Edge, conforme mostrado em Instalar o Edge componentes de um nó.

# 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
Observações:
  • Se o arquivo de configuração do Edge não especificou as informações do SMTP, adicione-as. A monetização requer uma servidor SMTP.
  • Em uma única instalação de um data center, todos os nós do ZooKeeper são, por padrão, configurados como líderes. Ao instalar o Edge em vários data centers, alguns nós do ZooKeeper são configurados como observadores. Verifique se a propriedade ZK_HOSTS acima especifica um nó líder em instalação de vários data centers.
  • Se você ativar a autenticação do Cassandra, poderá transmitir o nome de usuário e a senha do Cassandra usando as seguintes propriedades:
    CASS_USERNAME
    CASS_PASSWORD

Integrar os serviços de monetização a todos os servidores de gerenciamento

Use o procedimento a seguir para integrar a monetização nos nós do Management Server.

  1. Se você estiver instalando a monetização em uma topologia de borda que usa vários servidores de gerenciamento nós, como uma instalação de 13 nós, verifique se você instalou o servidor de gerenciamento nós antes de instalar a monetização.
  2. No nó do Servidor de gerenciamento, execute o script de configuração:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    A opção "-p mo" especifica para integrar a monetização.

    O arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee". Por exemplo, coloque o arquivo no diretório /tmp no nó.
  3. Se você estiver instalando a monetização em vários nós do servidor de gerenciamento, repita a etapa 2 no segundo nó do servidor de gerenciamento.

Se a configuração for bem-sucedida, um esquema de RDBMS para serviços de monetização será criado no banco de dados do PostgreSQL. Isso conclui a integração dos Serviços de monetização e dos componentes associados ao servidor Postgres.

Integrar serviços de monetização com todos os processadores de mensagens

Use o procedimento a seguir para integrar a monetização em todos os nós do processador de mensagens.

  1. No primeiro nó do processador de mensagens, no prompt de comando, execute o script de configuração:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    A opção "-p mo" especifica para integrar a monetização.

    O arquivo de configuração precisa ser acessível ou legível para a "apigee" usuário. Por exemplo, coloque o arquivo no diretório /tmp no nó.
  2. Repita esse procedimento em todos os nós do processador de mensagens.

Se a configuração for bem-sucedida, o processador de mensagens será atualizado com os Serviços de monetização. Isso conclui a integração dos Serviços de monetização e seus componentes associados com o Processadores.

Integração de monetização

Para criar uma organização com a monetização ativada, primeiro crie a organização como faria com qualquer outra. Para mais informações, consulte Integrar uma organização.

Integração adicional para ativar a monetização de uma organização

Para concluir a integração de monetização de uma organização, você precisa:

  1. Crie o grupo de monetização: mxgroup.
  2. Adicione Qpid ao grupo.
  3. Ative a monetização para a organização.
  4. Ative as configurações de notificação para a organização.
  5. Repita esse processo para todas as organizações em que você quer ativar a monetização.

Use a opção enable-monetization para executar todas essas tarefas. Esse script usa um arquivo de configuração com as seguintes propriedades:

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.

Observações:

  • Defina CASS_HOSTS e REGION com os mesmos valores usados ao instalar a Monetização.
  • Se você estiver ativando a monetização em uma configuração com vários data centers:
    • Você precisa repetir o processo de integração no servidor de gerenciamento em cada dado de eventos.
    • O arquivo de configuração só deve listar os nós Qpid no data center que está sendo configurado.

Para executar o script, siga as etapas a seguir:

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

    O arquivo de configuração precisa ser acessível ou legível para a "apigee" usuário. Por exemplo, coloque o arquivo no diretório /tmp no nó.

    Se você tiver vários servidores de gerenciamento, só precisará executar o script em um deles.

    Esse script replica a organização, os produtos, os desenvolvedores e os aplicativos do banco de dados Cassandra para o banco de dados PostgreSQL da Monetização. Após a instalação da monetização Serviços em que os dados são sincronizados automaticamente.
  2. Repita esse procedimento para cada organização em que você quer ativar a monetização.
  3. Se você estiver em um ambiente com vários data centers, repita esse processo no servidor de gerenciamento no outro data center. Verifique se o arquivo de configuração lista apenas os nós Qpid no data center que está sendo configurado.

Na próxima vez que você fizer login na interface do Edge, a entrada "Monetização" vai aparecer no menu de nível superior da organização:

Configurar o portal de serviços para desenvolvedores

Para configurar o portal de serviços para desenvolvedores e oferecer suporte à monetização, consulte http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Como adicionar um nó do servidor de gerenciamento a uma instalação de monetização

Se você adicionar um servidor de gerenciamento a uma instalação do Edge, adicione os serviços de monetização ao novo servidor de gerenciamento e configure todos os servidores de gerenciamento para que eles possam se comunicar.

Para adicionar um servidor de gerenciamento:

  1. Instale o novo servidor de gerenciamento.
  2. Instale a monetização no novo servidor de gerenciamento.
  3. No servidor de gerenciamento original, chame o seguinte:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-mint-management-server mint-configure-mgmt-cluster
  4. Reinicie o servidor de gerenciamento original:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server reinicialização
  5. No novo servidor de gerenciamento, chame o seguinte:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Reinicie o novo servidor de gerenciamento:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Configurações avançadas

Forneça documentos de faturamento como Arquivos PDF

A monetização exibe documentos de faturamento para os usuários finais no formato HTML. Para fornecer faturamento documentos como arquivos PDF, você pode integrar a monetização com um sistema de faturamento que fornece ou licenciar uma biblioteca de PDF de terceiros compatível.

Configurar organização Configurações

Configurações de back-end: a tabela a seguir lista os atributos no nível da organização. disponíveis para configurar uma organização do Mint. É possível usar uma chamada PUT para adicionar/atualizar essas como mostrado abaixo:

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

Por exemplo, a saída do comando CURL acima será semelhante a esta:

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

Atributos

Descrição

MINT_TAX_MODEL

Os valores aceitos são DISCLOSED,

UNDISCLOSED, HYBRID (o padrão é nulo)

MINT_CURRENCY

Código de moeda ISO (padrão: "null")

MINT_TAX_NEXUS

Nexus tributário (padrão é nulo)

MINT_DEFAULT_PROD_TAX_CATEGORY

Categoria de imposto padrão do produto (padrão: nulo)

MINT_IS_GROUP_ORG

Organização do grupo de IS (o padrão é falso)

MINT_HAS_BROKER

Corrompeu (o padrão é falso)

MINT_TIMEZONE

Fuso horário (padrão: null)

MINT_TAX_ENGINE_EXTERNAL_ID

ID do mecanismo fiscal (o padrão é nulo)

MINT_COUNTRY

País da organização (padrão: nulo)

MINT_REG_NO

O número de registro da organização no Reino Unido fornece um número diferente do CPF/CNPJ (o padrão é nulo)

MINT_BILLING_CYCLE_TYPE

PRORATED, CALENDAR_MONTH (padrão é CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/PÓS-PAGA/AMBOS (o padrão é PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

Indica se uma fatura de taxa separada precisa ser gerada (padrão: falso)

MINT_ISSUE_NETTING_STMT

Indica se a declaração de compensação deve ser emitida (o padrão é "false")

MINT_NETTING_STMT_PER_CURRENCY

Indica se a declaração de compensação precisa ser gerada por moeda (padrão: falso)

MINT_HAS_SELF_BILLING

Indica se a organização tem autofaturamento (padrão: falso)

MINT_SELF_BILLING_FOR_ALL_DEV

Indica se a organização tem autofaturamento para todos os desenvolvedores (padrão: falso)

MINT_HAS_SEPARATE_INV_FOR_PROD

Indica se a organização tem uma fatura separada por produto (o padrão é Falso)

MINT_HAS_BILLING_ADJUSTMENT

Indica se a organização oferece suporte a ajustes de faturamento (padrão: "false")

features.isMonetizationEnabled

Usado pela interface de gerenciamento para mostrar o menu específico de monetização (padrão: falso)

ui.config.isOperator

Usado pela interface de gerenciamento para mostrar o provedor como operador ou organização

(o padrão é verdadeiro)

Para definir as configurações da organização empresarial usando a IU de gerenciamento, consulte http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Observação: se você estiver usando notificações e limites de serviços de monetização recursos, instrua seus desenvolvedores a anexar uma política de limites no fluxo de proxy após os política de validação de tokens de acesso.

A política de limites é uma política explícita projetada para bloquear uma chamada de API se determinado limite foi alcançado. A política verifica os limites de negócios e gera uma falha se houver algum limite que exceda o valor configurado. Essa é uma extensão da política de aumento de falhas, mas as condições são derivadas das variáveis de negócios.

Um modelo de IU está disponível na IU de gerenciamento para desenvolvedores de proxy. O desenvolvedor de proxy precisa anexar a política de mint no fluxo de mensagens. Após a execução dessa política, a falha será gerada com a resposta de falha de acordo com a política. Se ContinueOnError estiver definido como verdadeiro, a falha não será gerada e as variáveis de fluxo "mint.limitsViolated", "mint.isDeveloperSuspended" e "mint.limitsPolicyError" serão definidas, o que pode ser usado para mais processamento de exceções, se necessário.