Linux 시스템에 에이전트 클라이언트 수집기 설치

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기13분
  • 패키지 배포 도구를 사용하여 에이전트 클라이언트 수집기를 설치합니다. 설치하기 전에 에이전트 클라이언트 수집기를 몇 대의 머신에 수동으로 설치하여 많은 수의 에이전트를 설치하기 전에 에이전트에 올바른 정책과 검사가 포함되어 있는지 확인할 수 있습니다.

    시작하기 전에

    • 에이전트 클라이언트 수집기 수신기가 MID 서버에 대해 구성되어 있고 대상 호스트에서 서비스를 사용할 수 있는지 확인합니다.
    • 서버의 OS와 버전이 지원되는지 확인합니다. 지원되는 OS 및 버전의 목록은 에이전트 클라이언트 수집기 설치 문서를 참조하십시오.
    • 기본 ServiceNow 계정 이외의 계정을 지정하는 것을 비롯하여 배포 중에 알고 있어야 하는 제한 사항 또는 요구 사항이 있는지 확인합니다. 에이전트를 사용자의 자동화 시스템에 포함시키는 방법에 대한 자세한 내용은 ITOM 에이전트 클라이언트 수집기 설명서 자료 [KB1122613]를 참조하십시오.
    • MID 서버와 해당 MID 웹 서버, 그리고 ACC Websocket 엔드포인트 확장이 구동되고 실행되고 있는지 확인합니다.
    • 에이전트의 backend-url 매개변수에 지정할 MID 서버 ACC 수신기 정보를 검색합니다.
      1. 다음으로 이동 모두 > 에이전트 클라이언트 수집기 > 배치 > MID 서버.
      2. MID 서버를 선택합니다.
      3. ACC Websocket 엔드포인트 탭을 선택합니다.
      4. 웹소켓 엔드포인트를 선택합니다.
      5. 엔드포인트 URL 필드의 값을 복사합니다.
    • 에이전트의 api-key 매개변수에 지정된 MID 서버 API 키를 검색합니다.
      1. 다음으로 이동 모두 > 에이전트 클라이언트 수집기 > 배치 > MID 웹 서버 API 키.
      2. 사용할 API 키를 선택합니다.
      3. 관련 링크 섹션에서 API 키 보기를 선택합니다.
      4. API 키 값을 복사하고 팝업 창을 닫습니다.

    필요한 역할: agent_client_collector_admin

    이 태스크 정보

    설치(및 업그레이드) 중에 Linux 에이전트 실행 파일은 기본적으로 기능(CAP_SETFCAP, CAP_SETPCAP)으로 Linux 활성화됩니다. (ACC-L)과 같은 에이전트 클라이언트 수집기 로그 분석 스토어 앱은 이를 사용하여 CAP_DAC_READ_SEARCH(전체 파일 시스템)을 읽을 수 있는 기능을 부여할 수 있습니다. 시스템은 콘텐츠 출처에 대한 이중 검증, 플러그인 검증 프로세스 활용 등과 같은 다양한 보안 조치를 거쳐 기능 부여가 보안 위험을 초래하지 않도록 합니다. 이 절차에서는 사용자가 역량에 대한 Linux 명령에 익숙하다고 가정합니다.

    이러한 향상된 기능을 옵트아웃하려면 OS/패키징 시스템에 따라 Linux 다음 명령을 실행합니다.

    표 1. Linux 향상된 기능 옵트아웃 명령
    OS/패키징 시스템 명령
    RPM

    ACC_SKIP_CAPS=참 yum / dnf localinstall

    ACC_SKIP_CAPS=true rpm -vi agent-client-collector-<version number>-x86_64.rpm

    Debian

    ACC_SKIP_CAPS=true apt-get install

    ACC_SKIP_CAPS=true dpkg -i agent-client-collector-<version number>-<distro>_amd64.deb

    SLES

    ACC_SKIP_CAPS=true zypper 설치

    프로시저

    1. 관련 설치 패키지를 다운로드합니다.
      • 수동 설치의 경우:
        1. 다음으로 이동 > 에이전트 클라이언트 수집기 > 배치 > 에이전트 다운로드.
        2. 관련 .rpm 또는 .deb 설치 파일을 다운로드합니다.
        3. 관련 서명 파일을 다운로드하여 설치 파일을 확인합니다.
      • 명령줄 설치의 경우 다음 명령을 실행하여 서명 및 설치 파일을 모두 로컬 머신에 다운로드합니다.
        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
        
        주:
        각 curl 명령이 한 줄에 나타나야 합니다.
    2. 옵션: 패키지 서명을 확인합니다.
      1. 다음 명령을 실행하여 설치 파일을 추출합니다(압축된 경우).
        unzip agent_client-collector-<version_number>-x86_64-rpm-rpm.zip
      2. 표시된 명령을 실행하여 설치 파일 서명을 확인합니다.
        • RPM 기반 시스템에서:
          openssl dgst -sha256 -verify {<ServiceNow DGST pem key>} -signature {<signature file>} agent-client-collector-<version number>-x86_64.rpm

          <ServiceNow DGST pem key>.zip 파일에서 추출된 .pem 파일이며 <signature file>.zip 파일에서 추출된 .bin 파일입니다.

          예:
          $ 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
          주:
          각 명령이 한 줄에 나타나야 합니다.
        • Debian 기반 시스템에서:

          gpg --import ServiceNow_Digicert_Public.gpg

          • Debian 12 컴퓨터: dpkg-sig --verify agent-client-collector-<version number>-<distro>_amd64.deb
          • 다른 Debian 컴퓨터: sudo gpg --verify agent-client-collector-<version number>-<distro>_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
          $ 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
          주:
          각 명령이 한 줄에 나타나야 합니다.
    3. Linux 배포와 관련된 패키지 관리자를 사용하여 에이전트 클라이언트 수집기 패키지를 설치합니다.
      OS 명령
      RHEL 기반 yum / dnf localinstall
      SLES zypper install
      Debian 기반 apt-get install

      또는 이러한 명령이 올바르게 구성되지 않은 경우 패키지 관리자 명령으로 실행하도록 구성된 핵심 명령을 사용할 수 있습니다.

      • RPM 기반 시스템: # rpm -vi agent-client-collector-<version number>-x86_64.rpm
      • Debian 기반 시스템: # dpkg -i agent-client-collector-<version number>-<distro>_amd64.deb

      시스템 관리자를 통해 패키지 명령이 올바르게 구성되었는지 확인합니다.

      주:
      일부 파일 시스템에는 제한이 있을 수 있습니다. 예를 들어 /var/noexec 플래그와 함께 탑재될 수 있습니다. 에이전트는 일반적으로 /var/cache 디렉터리에 저장되는 에이전트 클라이언트 수집기 플러그인을 실행해야 하므로 .rpm 매개변수로 --relocate 옵션을 사용하여 설치 경로를 사용자 지정하고 애플리케이션을 특정 폴더에 배포해야 합니다.

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

      다음 경로를 재배치할 수 있습니다.
      경로 메모
      /etc 업데이트할 때는 acc.yml 파일의 allow-list 매개변수를 새 경로로 업데이트해야 합니다.
      /usr/share 해당 사항 없음
      /var/cache /var 디렉터리를 업데이트하면 새 디렉터리 아래에 중첩된 모든 /var 하위 디렉터리도 유지됩니다.
      /var/log
      /var/run
      /var
      /usr/lib/systemd/system/acc.service의 경로를 검토하여 예상대로 표시되는지 확인합니다.
    4. .deb 패키지를 설치할 때 에이전트의 acc.yml 구성 파일을 구성합니다.
      1. 다음 명령을 실행하여 샘플 구성 파일을 복사합니다.

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

      2. 허용 목록 파일의 이름을 바꿉니다.

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

      주:
      이 단계는 기본 시스템에 포함된 acc.ymlcheck-allow-list.json 파일과 함께 제공되는 .rpm 패키지와 관련이 없습니다.
    5. .deb 또는 .rpm 패키지를 설치할 때 구성 파일을 업데이트하여 /etc/servicenow/agent-client-collectorcheck-allow-list.json을 추가하고 인스턴스에서 backend-urlapi-key를 복사합니다.
      예:
      ---
      # 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
      

      에이전트가 실행할 수 있는 명령을 나타내는 allow-list 기능이 활성화됩니다.

    6. sudoer를 구성합니다.

      구성은 일반적으로 Linux sysadmin에 의해 자동화됩니다. 수동으로 구성하는 경우 전체 구성 전에 정확성을 보장하려면 다음을 실행합니다.

      # visudo -f /etc/sudoers.d/01_servicenow
      User_Alias ACC_USERS = servicenow
      Cmnd_Alias ACC_CMD = /usr/sbin/dmidecode -s baseboard-serial-number,/usr/sbin/dmidecode -s chassis-serial-number,/usr/sbin/dmidecode -s system-serial-number,/usr/sbin/dmidecode -s system-uuid,/usr/sbin/ss -tanp
      ACC_USERS ALL = (root) NOPASSWD:ACC_CMD
      Defaults:ACC_USERS !requiretty
    7. 서비스로 실행될 에이전트를 구성합니다.
      1. 표시된 값을 /usr/lib/systemd/system/acc.service 파일에 추가하여 자원 소비를 막습니다.
        • CPUShares=128
        • CPUQuota=10%
        • MemoryLimit=192M
        • BlockIOWeight=10
        • LimitNICE=15

        예:

        # 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. acc 서비스를 활성화한 다음 서비스 파일을 수정한 경우 디먼을 다시 로드하는 명령을 실행합니다.

        # systemctl daemon-reload

      3. 다음 명령을 실행하여 서비스를 활성화하고 시작합니다.

        # systemctl enable acc

        # systemctl start acc