• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Integração do Openstack Controller

Nossa integração de controlador openstack foi projetada para coletar informações de todos os nós do computador e dos servidores que os executam. Todas as métricas coletadas desses serviços openstack são ingeridas em seus New Relic de contas insights (NRDB) para análise, visualização e alertas. Assim você pode visualizar todos os seus dados mais importantes, local completo.

Após configurar nosso Openstack Controller, você pode instalar um dashboard para sua métrica Openstack Controller.

Instalar o agente de infraestrutura

Para colocar dados no New Relic, instale nosso agente de infraestrutura. Nosso agente de infraestrutura coleta e ingere dados para que você possa acompanhar o desempenho do seu aplicativo. A versão deve ser 1.10.7 ou superior para suportar a integração NRI-Flex.

É possível instalar o agente de infraestrutura de duas maneiras diferentes:

Configurar nr1-openstack

  1. Clonar o repositório

    git clone https://github.com/newrelic-experimental/nr1-openstack
  2. Use este comando para abrir o diretório openstack-agent presente no repositório clonado.

    bash
    $
    cd nr1-openstack/openstack-agent/
  3. Renomeie o arquivo config/os-config.json.template para config/os-config.json e edite o arquivo conforme mencionado abaixo

    • Atualize nr_agent_home, você precisa inserir o diretório pai da pasta config/ do seu repositório clonado.

    • Execute o comando abaixo para ver detalhes dos URLs do endpoint.

      bash
      $
      openstack catalog list
    • Para obter o valor de keystone_url, copie o URL do endpoint para name: keystone e type: identity.

    • Para encontrar o keystone_api_version, execute o comando abaixo.

      bash
      $
      curl -i http://<HOST_IP>/identify
    • Para encontrar o glance_api_version, execute o comando abaixo.

      bash
      $
      curl -i http://<HOST_IP>/image
    • Atualize ADMIN_PASSWORD no arquivo de configuração abaixo, usando sua senha de login do openstack.

    Depois que seu arquivo JSON for atualizado, ele ficará assim:

    {
    "config": {
    "nr_agent_home": "nr_agent_home",
    "keystone_url": "http://HOST_IP/identity",
    "keystone_api_version": "v3",
    "nova_api_version": "v2.1",
    "cinder_api_version": "v3",
    "neutron_api_version": "v2.0",
    "glance_api_version": "v2.16",
    "ssl_verify": false,
    "add_lists": true,
    "user": {
    "password": "ADMIN_PASSWORD",
    "name": "admin",
    "domain": {
    "id": "default"
    }
    },
    "service_types": {
    "keystone": {
    "enabled": true,
    "component_name": "identity",
    "metrics": [
    "openstack.identity.credentials_count",
    "openstack.identity.domains_count",
    "openstack.identity.groups_count",
    "openstack.identity.policies_count",
    "openstack.identity.projects_count",
    "openstack.identity.regions_count",
    "openstack.identity.roles_count",
    "openstack.identity.services_count",
    "openstack.identity.users_count",
    "openstack.identity.floatingips_count",
    "openstack.identity.routers_count",
    "openstack.identity.security_groups_count",
    "openstack.identity.subnets_count"
    ]
    },
    "hypervisors": {
    "enabled": true,
    "component_name": "nova",
    "metrics": [
    "openstack.nova.hypervisor.current_workload",
    "openstack.nova.hypervisor.disk_available_least",
    "openstack.nova.hypervisor.free_disk_gb",
    "openstack.nova.hypervisor.free_ram_mb",
    "openstack.nova.hypervisor.host_ip",
    "openstack.nova.hypervisor.hypervisor_hostname",
    "openstack.nova.hypervisor.hypervisor_type",
    "openstack.nova.hypervisor.hypervisor_version",
    "openstack.nova.hypervisor.id",
    "openstack.nova.hypervisor.load_average_1",
    "openstack.nova.hypervisor.load_average_15",
    "openstack.nova.hypervisor.load_average_5",
    "openstack.nova.hypervisor.local_gb",
    "openstack.nova.hypervisor.local_gb_used",
    "openstack.nova.hypervisor.memory_mb",
    "openstack.nova.hypervisor.memory_mb_used",
    "openstack.nova.hypervisor.running_vms",
    "openstack.nova.hypervisor.service.disabled_reason",
    "openstack.nova.hypervisor.service.host",
    "openstack.nova.hypervisor.service.id",
    "openstack.nova.hypervisor.state",
    "openstack.nova.hypervisor.status",
    "openstack.nova.hypervisor.uptime",
    "openstack.nova.hypervisor.user_count",
    "openstack.nova.hypervisor.vcpus",
    "openstack.nova.hypervisor.vcpus_used"
    ]
    },
    "resource_providers": {
    "enabled": true,
    "component_name": "placement",
    "metrics": [
    "openstack.placement.inventories.DISK_GB.allocation_ratio",
    "openstack.placement.inventories.DISK_GB.max_unit",
    "openstack.placement.inventories.DISK_GB.min_unit",
    "openstack.placement.inventories.DISK_GB.reserved",
    "openstack.placement.inventories.DISK_GB.step_size",
    "openstack.placement.inventories.DISK_GB.total",
    "openstack.placement.inventories.MEMORY_MB.allocation_ratio",
    "openstack.placement.inventories.MEMORY_MB.max_unit",
    "openstack.placement.inventories.MEMORY_MB.min_unit",
    "openstack.placement.inventories.MEMORY_MB.reserved",
    "openstack.placement.inventories.MEMORY_MB.step_size",
    "openstack.placement.inventories.MEMORY_MB.total",
    "openstack.placement.inventories.VCPU.allocation_ratio",
    "openstack.placement.inventories.VCPU.max_unit",
    "openstack.placement.inventories.VCPU.min_unit",
    "openstack.placement.inventories.VCPU.reserved",
    "openstack.placement.inventories.VCPU.step_size",
    "openstack.placement.inventories.VCPU.total",
    "openstack.placement.resource.name",
    "openstack.placement.resource.uuid",
    "openstack.placement.resource_provider_generation",
    "openstack.placement.usages.DISK_GB",
    "openstack.placement.usages.MEMORY_MB",
    "openstack.placement.usages.VCPU"
    ]
    },
    "images": {
    "enabled": true,
    "component_name": "glance",
    "metrics": [
    "openstack.glance.image.AppCode",
    "openstack.glance.image.Name",
    "openstack.glance.image.ServiceName",
    "openstack.glance.image.ServiceOwner",
    "openstack.glance.image.signature_verified",
    "openstack.glance.image.image_type",
    "openstack.glance.image.checksum",
    "openstack.glance.image.container_format",
    "openstack.glance.image.created_at",
    "openstack.glance.image.disk_format",
    "openstack.glance.image.file",
    "openstack.glance.image.hw_rng_model",
    "openstack.glance.image.id",
    "openstack.glance.image.min_disk",
    "openstack.glance.image.min_ram",
    "openstack.glance.image.name",
    "openstack.glance.image.os_hash_algo",
    "openstack.glance.image.os_hash_value",
    "openstack.glance.image.os_hidden",
    "openstack.glance.image.owner",
    "openstack.glance.image.owner_specified.openstack.md5",
    "openstack.glance.image.owner_specified.openstack.object",
    "openstack.glance.image.owner_specified.openstack.sha256",
    "openstack.glance.image.protected",
    "openstack.glance.image.schema",
    "openstack.glance.image.self",
    "openstack.glance.image.size",
    "openstack.glance.image.status",
    "openstack.glance.image.tags",
    "openstack.glance.image.updated_at",
    "openstack.glance.image.virtual_size",
    "openstack.glance.image.visibility"
    ]
    },
    "nova": {
    "enabled": true,
    "component_name": "compute",
    "metrics": [
    "openstack.compute.agents_count",
    "openstack.compute.aggregates_count",
    "openstack.compute.flavors_count",
    "openstack.compute.keypairs_count",
    "openstack.compute.services_count"
    ]
    },
    "block_storage": {
    "enabled": true,
    "component_name": "cinder",
    "metrics": [
    "openstack.cinder.limits.maxTotalBackupGigabytes",
    "openstack.cinder.limits.maxTotalBackups",
    "openstack.cinder.limits.maxTotalSnapshots",
    "openstack.cinder.limits.maxTotalVolumeGigabytes",
    "openstack.cinder.limits.maxTotalVolumes",
    "openstack.cinder.limits.totalBackupGigabytesUsed",
    "openstack.cinder.limits.totalBackupsUsed",
    "openstack.cinder.limits.totalGigabytesUsed",
    "openstack.cinder.limits.totalSnapshotsUsed",
    "openstack.cinder.limits.totalVolumesUsed",
    "openstack.cinder.snapshots.count",
    "openstack.cinder.snapshots.size",
    "openstack.cinder.volumes.count",
    "openstack.cinder.volumes.size"
    ]
    },
    "limits": {
    "enabled": true,
    "component_name": "nova",
    "metrics": [
    "openstack.nova.limits.maxImageMeta",
    "openstack.nova.limits.maxPersonality",
    "openstack.nova.limits.maxPersonalitySize",
    "openstack.nova.limits.maxSecurityGroupRules",
    "openstack.nova.limits.maxSecurityGroups",
    "openstack.nova.limits.maxServerGroupMembers",
    "openstack.nova.limits.maxServerGroups",
    "openstack.nova.limits.maxServerMeta",
    "openstack.nova.limits.maxTotalCores",
    "openstack.nova.limits.maxTotalFloatingIps",
    "openstack.nova.limits.maxTotalInstances",
    "openstack.nova.limits.maxTotalKeypairs",
    "openstack.nova.limits.maxTotalRAMSize",
    "openstack.nova.limits.totalCoresUsed",
    "openstack.nova.limits.totalFloatingIpsUsed",
    "openstack.nova.limits.totalInstancesUsed",
    "openstack.nova.limits.totalRAMUsed",
    "openstack.nova.limits.totalSecurityGroupsUsed",
    "openstack.nova.limits.totalServerGroupsUsed"
    ]
    },
    "servers": {
    "enabled": true,
    "component_name": "nova",
    "metrics": [
    "openstack.nova.server.cpu0_time",
    "openstack.nova.server.cpu1_time",
    "openstack.nova.server.cpu2_time",
    "openstack.nova.server.cpu3_time",
    "openstack.nova.server.cpu4_time",
    "openstack.nova.server.cpu5_time",
    "openstack.nova.server.cpu6_time",
    "openstack.nova.server.cpu7_time",
    "openstack.nova.server.hypervisor_name",
    "openstack.nova.server.id",
    "openstack.nova.server.memory",
    "openstack.nova.server.memory-actual",
    "openstack.nova.server.memory-available",
    "openstack.nova.server.memory-disk_caches",
    "openstack.nova.server.memory-hugetlb_pgalloc",
    "openstack.nova.server.memory-hugetlb_pgfail",
    "openstack.nova.server.memory-last_update",
    "openstack.nova.server.memory-major_fault",
    "openstack.nova.server.memory-minor_fault",
    "openstack.nova.server.memory-rss",
    "openstack.nova.server.memory-swap_in",
    "openstack.nova.server.memory-swap_out",
    "openstack.nova.server.memory-unused",
    "openstack.nova.server.memory-usable",
    "openstack.nova.server.name",
    "openstack.nova.server.rx",
    "openstack.nova.server.rx_drop",
    "openstack.nova.server.rx_errors",
    "openstack.nova.server.rx_packets",
    "openstack.nova.server.tx",
    "openstack.nova.server.tx_drop",
    "openstack.nova.server.tx_errors",
    "openstack.nova.server.tx_packets",
    "openstack.nova.server.memory-hugetlb_pgfail",
    "openstack.nova.server.vda_errors",
    "openstack.nova.server.vda_read",
    "openstack.nova.server.vda_read_req",
    "openstack.nova.server.vda_write",
    "openstack.nova.server.vda_write_req",
    "openstack.nova.server.vdb_errors",
    "openstack.nova.server.vdb_read",
    "openstack.nova.server.vdb_read_req",
    "openstack.nova.server.vdb_write",
    "openstack.nova.server.vdb_write_req",
    "openstack.nova.server.vdc_errors",
    "openstack.nova.server.vdc_read",
    "openstack.nova.server.vdc_read_req",
    "openstack.nova.server.vdc_write",
    "openstack.nova.server.vdc_write_req",
    "openstack.nova.server.vdd_errors",
    "openstack.nova.server.vdd_read",
    "openstack.nova.server.vdd_read_req",
    "openstack.nova.server.vdd_write",
    "openstack.nova.server.vdd_write_req",
    "openstack.nova.server.vde_errors",
    "openstack.nova.server.vde_read",
    "openstack.nova.server.vde_read_req",
    "openstack.nova.server.vde_write",
    "openstack.nova.server.vde_write_req"
    ]
    },
    "networks": {
    "enabled": true,
    "component_name": "neutron",
    "metrics": [
    "openstack.neutron.network.admin_state_up",
    "openstack.neutron.network.created_at",
    "openstack.neutron.network.description",
    "openstack.neutron.network.floatingips_count",
    "openstack.neutron.network.id",
    "openstack.neutron.network.ipv4_address_scope",
    "openstack.neutron.network.ipv6_address_scope",
    "openstack.neutron.network.is_default",
    "openstack.neutron.network.l2_adjacency",
    "openstack.neutron.network.mtu",
    "openstack.neutron.network.name",
    "openstack.neutron.network.port_security_enabled",
    "openstack.neutron.network.project_id",
    "openstack.neutron.network.provider:network_type",
    "openstack.neutron.network.provider:physical_network",
    "openstack.neutron.network.provider:segmentation_id",
    "openstack.neutron.network.qos_policy_id",
    "openstack.neutron.network.revision_number",
    "openstack.neutron.network.router:external",
    "openstack.neutron.network.routers_count",
    "openstack.neutron.network.security_groups_count",
    "openstack.neutron.network.shared",
    "openstack.neutron.network.status",
    "openstack.neutron.network.subnets_count",
    "openstack.neutron.network.tenant_id",
    "openstack.neutron.network.updated_at"
    ]
    }
    },
    "logging": {
    "logger_name": "nr.os.mon",
    "log_file_name": "nr_openstack_agent.log",
    "log_level": "WARNING",
    "formatter": "%(asctime)-15s | %(name)-18s | %(process)d | %(levelname)-8s | %(threadName)s | %(funcName)-27s | %(lineno)04d | %(message)s"
    }
    }
    }
  4. Use o comando abaixo para conceder permissão de execução para a pasta scripts (scripts/flex-osmetrics.sh será invocado pelo agente New Relic Infrastructure )

    bash
    $
    chmod +x scripts/flex-osmetrics.sh
  5. Você pode desativar a captura de quaisquer recursos definindo enabled como false para esse recurso em config/os-config.json.

Configurando nri-flex para openstack

Depois de instalar o agente de infraestrutura em seu host. O binário nri-flex também é instalado com ele.

Para criar arquivos de configuração flexíveis, siga estas etapas:

Encaminhar log do controlador Openstack para New Relic

Você pode usar nosso encaminhamento de logs para encaminhar o log do Openstack Controller para New Relic.

Em máquinas Linux, seu arquivo de log denominado logging.yml deve estar presente neste caminho:

bash
$
cd /etc/newrelic-infra/logging.d/

Adicione o script abaixo ao arquivo logging.yml para enviar o log do Openstack Controller para New Relic.

logs:
- name: openstack.log
file: <nr1-openstack-DIRECTORY>/openstack-agent/logs/nr_openstack_agent.log
attributes:
logtype: openstack_log

Reinicie o agente do New Relic Infrastructure

Antes de começar a ler seus dados, use as instruções em nossos documentos do agente de infraestrutura para reiniciar seu agente de infraestrutura.

bash
$
sudo systemctl restart newrelic-infra.service

Monitor seu aplicativo

Você pode escolher nosso modelo dashboard pré-construído chamado Openstack Controller para monitor seu aplicativo métrica Openstack.

  1. Vá para

    one.newrelic.com

    e clique em

    + Add data

    .

  2. Clique na guia

    Dashboards

    .

  3. Na caixa de pesquisa, digite Openstack Controller.

  4. Ao ver nosso dashboard pré-construído, clique nele para instalá-lo em sua conta.

Depois que seu aplicativo estiver integrado seguindo as etapas acima, o dashboard deverá exibir métricas.

Para instrumentar o OpenStack início rápido e ver métricas e alertas, você também pode seguir nossa página OpenStack Controller início rápido que possui um botão Install now .

Aqui estão alguns exemplos de consulta:

Example: visualizar a contagem dos tipos de eventos

select count(*) from OSBlockStorageSample, OSLimitSample, OSNetworkSample, OSResourceProviderSample, OSImageSample, OSKeystoneSample, OSNovaSample since 10 minutes ago facet eventType() timeseries

Qual é o próximo?

Para saber mais sobre como construir uma consulta NRQL e gerar um painel, confira estes documentos:

  • Introdução ao criador de consulta para criação de consultas básicas e avançadas.

  • Introdução aos dashboards para personalizar seu dashboard e realizar diversas ações.

  • Gerencie seu dashboard para ajustar o

    modo de exibição ou para adicionar mais conteúdo ao dashboard.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.