Instalar Agent Client Collector em um sistema Linux

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 5 min. de leitura
  • Instale Agent Client Collector usando uma ferramenta de distribuição de pacote. Antes de instalar, você pode instalar manualmente o Agent Client Collector em algumas máquinas para garantir que os agentes contenham as políticas e verificações corretas antes de instalar um grande número de agentes.

    Antes de Iniciar

    • Certifique-se de que o Agent Client Collector Ouvinte esteja configurado no seu MID Serverse que o serviço esteja disponível nos hosts de destino.
    • Verifique se o sistema operacional e a versão do servidor são compatíveis. Para obter uma lista de SOs e versões compatíveis, consulte Agent Client Collector instalação.
    • Verifique se há restrições ou requisitos a serem observados durante a implantação, como especificar uma conta diferente da conta padrão da ServiceNow. Para obter mais informações sobre como incorporar o agente ao seu próprio sistema automatizado, consulte o material de documentação do ITOM Agent Client Collector [KB1122613].
    • Certifique-se de que MID Server e suas extensões MID Web Server e ACC Websocket Endpoint estejam instaladas e em execução.
    • Recupere as informações do Ouvinte do ACC MID Server a serem especificadas no parâmetro backend-url do agente.
      1. Navegar até Todos > Agent Client Collector > Implantação > MID Servers.
      2. Selecione um MID Server.
      3. Selecione a guia ACC Websocket Endpoints.
      4. Selecione um endpoint do websocket.
      5. Copie o valor no campo URL do endpoint.
    • Recupere a chave de API MID Server especificada no parâmetro api-key do agente.
      1. Navegar até Todos > Agent Client Collector > Implantação > Chave de API de servidor Web MID.
      2. Selecione a chave de API que você deseja usar.
      3. Na seção Links relacionados, selecione Exibir chave de API.
      4. Copie o valor da chave de API e feche a janela pop-up.

    Função necessária: agent_client_collector_admin

    Procedimento

    1. Baixe os pacotes de instalação relevantes.
      • Para instalação manual:
        1. Navegar até > Agent Client Collector > Implantação > Downloads do agente.
        2. Baixe o arquivo de instalação .rpm ou .deb relevante.
        3. Baixe os arquivos de assinatura relevantes para validar os arquivos de instalação.
      • Para instalação de linha de comando, execute os seguintes comandos para baixar os arquivos de assinatura e de instalação para sua máquina local:
        curl -LO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-<version_number>-x86_64.rpm
        curl -LO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-<version_number>-x86_64-rpm-rpm.zip
        
        Nota:
        Cada comando de curva deve aparecer em uma única linha.
    2. Opcional: Verifique a assinatura do pacote.
      1. Extraia o arquivo de instalação (se estiver compactado) executando o seguinte comando:
        descompactar agent_client-collector-<version_number> -x86_64-rpm-rpm.zip
      2. Valide a assinatura do arquivo de instalação executando os comandos indicados.
        • Em um sistema baseado em RPM:
          openssl dgst -sha256 -verify {<ServiceNow DGST pem key>} -signature {<signature file>} agent-client-collector-<version number>-x86_64.rpm

          Onde<ServiceNow DGST pem key> é o arquivo .pem extraído do arquivo .zip e<signature file> é o arquivo .bin extraído do arquivo .zip .

          Por exemplo:
          $ curl -sLO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-3.0.0-x86_64.rpm
          $ curl -sLO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-3.0.0-x86_64-rpm-rpm.zip
          $ unzip agent-client-collector-3.0.0-x86_64-rpm-rpm.zip
          Archive: agent-client-collector-3.0.0-x86_64-rpm-rpm.zip
          inflating: ServiceNow_Digicert_DGST.pem
          extracting: agent-client-collector-3.0.0-x86_64.bin
          $ openssl dgst -sha256 -verify ServiceNow_Digicert_DGST.pem -signature agent-client-collector-3.0.0-x86_64.bin agent-client-collector-3.0.0-x86_64.rpm
          Verified OK
          Nota:
          Cada comando deve aparecer em uma única linha.
        • Em um sistema baseado em Debian:

          gpg --importar ServiceNow_Digicert_Public.gpg

          dpkg-sig --verify agent-client_collector-<version number> -<distro> _amd64.deb

          Por exemplo:
          $ curl -sLO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-3.0.0-debian-9_amd64.deb
          $ curl -sLO https://install.service-now.com/glide/distribution/builds/package/app-signed/agent-client-collector-3.0.0-debian-9_amd64-deb-deb.zip
          $ unzip agent-client-collector-3.0.0-debian-9_amd64-deb-deb.zip
          Archive: agent-client-collector-3.0.0-debian-9_amd64-deb-deb.zip
          extracting: ServiceNow_Digicert_Public.gpg
          $ gpg --import ServiceNow_Digicert_Public.gpg
          gpg: /home/admin/.gnupg/trustdb.gpg: trustdb created
          gpg: key 985DD52C6A0ABB45: public key "ServiceNow, Inc. (Signing) <seceng@servicenow.com>"
          imported
          gpg: Total number processed: 1
          gpg: imported: 1
          $ dpkg-sig --verify agent-client-collector-3.0.0-debian-9_amd64.deb
          Processing agent-client-collector-3.0.0-debian-9_amd64.deb...
          GOODSIG _gpgbuilder 9B928FB49771DF6C047430DD985DD52C6A0ABB45 1665054068
          Nota:
          Cada comando deve aparecer em uma única linha.
    3. Instale o pacote Agent Client Collector usando o gerenciador de pacotes associado à distribuição do Linux.
      SO Comando
      Baseado em RHEL yum / dnf localinstall
      SLES instalação do zypper
      Baseado em Debian apt-get install

      Como alternativa, se esses comandos não estiverem configurados corretamente, você poderá usar os comandos principais que estão configurados para serem executados com os comandos do gerenciador de pacotes.

      • Sistema baseado em RPM: # rpm -vi agent-client-collector-<version number> -x86_64.rpm
      • Sistema baseado em Debian: # dpkg -i agent-client-collector-<version number> -<distro> _amd64.deb

      Verifique se os comandos de pacote estão configurados corretamente com o administrador do sistema.

      Nota:
      Alguns sistemas de arquivos podem ter restrições habilitadas; por exemplo, /var/ pode ser montado com um sinalizador noexec. Como o agente deve executar Agent Client Collector plug-ins que normalmente são armazenados no diretório /var/cache, você deve implantar a aplicação em pastas específicas, personalizando os caminhos de instalação usando a opção --relocate como um parâmetro .rpm.

      Por exemplo: rpm -i --relocate /var/cache=/opt/cache agent-client-collector-<version_number> -x86_64.rpm

      Os seguintes caminhos podem ser realocados:
      Caminho Anotações
      /etc Ao atualizar, você também deve atualizar o parâmetro allow-list no arquivo acc.yml com o novo caminho.
      /usr/compartilhar N/D
      /var/cache A atualização do diretório /var retém todos os subdiretórios /var, aninhados no novo diretório.
      /var/log
      /var/executar
      /var
      Revise os caminhos em /usr/lib/systemd/system/acc.service para garantir que eles apareçam conforme o esperado.
    4. Ao instalar um pacote .deb, configure o arquivo de configuração acc.yml do agente.
      1. Copie o arquivo de configuração de exemplo executando o seguinte comando.

        # cp -p /etc/servicenow/agent-client-collector/acc.yml.example /etc/servicenow/agent-client-collector/acc.yml

      2. Renomeie o arquivo da lista de permissões.

        # cp -p /etc/servicenow/agent-client-collector/check-allow-list.json.default /etc/servicenow/agent-client-collector/check-allow-list.json

      Nota:
      Esta etapa não é relevante para pacotes .rpm, que vêm com arquivos acc.yml e check-allow-list.json incluídos no sistema de base.
    5. Ao instalar um pacote .deb ou .rpm, atualize o arquivo de configuração, adicionando check-allow-list.json a /etc/servicenow/agent-client-collector e copiando a back-end-url e a api-key da instância.
      Por exemplo:
      ---
      # Agent Client Collector configuration
      backend-url:
       - "wss://YOUR_MID_ENDPOINT_HERE:YOUR_MID_PORT_HERE/ws/events"
      api-key: "YOUR_API_KEY_HERE"
      log-level: "info"
      insecure-skip-tls-verify: false
      allow-list: /etc/servicenow/agent-client-collector/check-allow-list.json
      verify-plugin-signature: true
      max-running-checks: 10
      disable-sockets: true
      disable-api: true
      statsd-disable: true
      enable-auto-mid-selection: false
      agent_cpu_threshold:
       cpu_percentage_limit: 25
       repeated_high_cpu_num: 3 
       monitor_interval_sec: 60
       agent_cpu_threshold_disabled: false
      

      O recurso allow-list, indicando os comandos que podem ser executados pelo agente, está habilitado.

    6. Configure sudoers.

      A configuração normalmente é automatizada pelo administrador do sistema Linux. Para configurar manualmente se você quiser garantir a exatidão antes da configuração completa, execute o seguinte.

      # visudo -f /etc/sudoers.d/01_servicenow
      User_Alias ACC_USERS = servicenow
      Cmnd_Alias ACC_CMD = /sbin/dmidecode, /sbin/ss
      ACC_USERS ALL = (root) NOPASSWD:ACC_CMD
      Defaults:ACC_USERS !requiretty
    7. Configure o agente para ser executado como um serviço.
      1. Proteja o consumo de recursos adicionando os valores indicados ao arquivo /usr/lib/systemd/system/acc.service.
        • CPUShares=128
        • CPUQuota=10%
        • MemoryLimit=192M
        • BlocoIOPeso=10
        • Limite NICE = 15

        Por exemplo:

        # vi /usr/lib/systemd/system/acc.service
        [Unit]
        Description=Agent-Now acc
        After=network-online.target
        [Service]
        Environment=AGENT_ROOT=/usr/share
        Environment=AGENT_CACHE_ROOT=/var/cache
        Environment=AGENT_CONFIG_ROOT=/etc
        Environment=AGENT_LOG_ROOT=/var/log
        Environment=AGENT_RUN_ROOT=/var/run
        Environment=RUBYOPT=-Eutf-8
        User=servicenow
        Group=servicenow
        ExecStart=/usr/share/servicenow/agent-client-collector/bin/acc-service start acc
        KillMode=process
        Restart=on-failure
        RestartSec=1min
        CPUShares=128
        CPUQuota=10%
        MemoryLimit=192M
        BlockIOWeight=10
        LimitNICE=+15
        [Install]
        WantedBy=network-online.target
      2. Execute o comando reload daemon se você modificou o arquivo de serviço depois de habilitar o serviço acc.

        # systemctl daemon-reload

      3. Habilite e inicie o serviço executando os comandos a seguir.

        # systemctl habilitar conta

        # systemctl start acc