Linux 시스템에 Agent Client Collector 설치
패키지 배포 도구를 사용하여 Agent Client Collector를 설치합니다. 설치하기 전에 Agent Client Collector를 몇 대의 머신에 수동으로 설치하여 많은 수의 에이전트를 설치하기 전에 에이전트에 올바른 정책과 검사가 포함되어 있는지 확인할 수 있습니다.
시작하기 전에
- Agent Client Collector 수신기가 MID 서버에 대해 구성되어 있고 대상 호스트에서 서비스를 사용할 수 있는지 확인합니다.
- 서버의 OS와 버전이 지원되는지 확인합니다. 지원되는 OS 및 버전의 목록은 Agent Client Collector 설치 문서를 참조하십시오.
- 기본 ServiceNow 계정 이외의 계정을 지정하는 것을 비롯하여 배포 중에 알고 있어야 하는 제한 사항 또는 요구 사항이 있는지 확인합니다. 에이전트를 사용자의 자동화 시스템에 포함시키는 방법에 대한 자세한 내용은 ITOM Agent Client Collector 설명서 자료 [KB1122613]를 참조하십시오.
- MID 서버와 해당 MID 웹 서버, 그리고 ACC Websocket 엔드포인트 확장이 구동되고 실행되고 있는지 확인합니다.
- 에이전트의 backend-url 매개변수에 지정할 MID 서버 ACC 수신기 정보를 검색합니다.
- 다음으로 이동 모두 > Agent Client Collector > 배치 > MID 서버.
- MID 서버를 선택합니다.
- ACC Websocket 엔드포인트 탭을 선택합니다.
- 웹소켓 엔드포인트를 선택합니다.
- 엔드포인트 URL 필드의 값을 복사합니다.
- 에이전트의 api-key 매개변수에 지정된 MID 서버 API 키를 검색합니다.
- 다음으로 이동 모두 > Agent Client Collector > 배치 > MID 웹 서버 API 키.
- 사용할 API 키를 선택합니다.
- 관련 링크 섹션에서 API 키 보기를 선택합니다.
- API 키 값을 복사하고 팝업 창을 닫습니다.
필요한 역할: agent_client_collector_admin
프로시저
-
관련 설치 패키지를 다운로드합니다.
- 수동 설치의 경우:
- 다음으로 이동 > Agent Client Collector > 배치 > 에이전트 다운로드.
- 관련 .rpm 또는 .deb 설치 파일을 다운로드합니다.
- 관련 서명 파일을 다운로드하여 설치 파일을 확인합니다.
- 명령줄 설치의 경우 다음 명령을 실행하여 서명 및 설치 파일을 모두 로컬 머신에 다운로드합니다.
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 명령이 한 줄에 나타나야 합니다.
- 수동 설치의 경우:
- 옵션:
패키지 서명을 확인합니다.
-
다음 명령을 실행하여 설치 파일을 추출합니다(압축된 경우).
unzip agent_client-collector-<version_number>-x86_64-rpm-rpm.zip -
표시된 명령을 실행하여 설치 파일 서명을 확인합니다.
- 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.gpgdpkg-sig --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주:각 명령이 한 줄에 나타나야 합니다.
- RPM 기반 시스템에서:
-
다음 명령을 실행하여 설치 파일을 추출합니다(압축된 경우).
-
Linux 배포와 관련된 패키지 관리자를 사용하여 Agent Client Collector 패키지를 설치합니다.
OS 명령 RHEL 기반 yum / dnf localinstallSLES zypper installDebian 기반 apt-get install또는 이러한 명령이 올바르게 구성되지 않은 경우 패키지 관리자 명령으로 실행하도록 구성된 핵심 명령을 사용할 수 있습니다.
- RPM 기반 시스템: # rpm -
vi agent-client-collector-<버전 번호>-x86_64.rpm - Debian 기반 시스템:
# dpkg -i agent-client-collector-<version number>-<distro>_amd64.deb
시스템 관리자를 통해 패키지 명령이 올바르게 구성되었는지 확인합니다.
주:일부 파일 시스템에는 제한이 있을 수 있습니다. 예를 들어 /var/은 noexec 플래그와 함께 탑재될 수 있습니다. 에이전트는 일반적으로 /var/cache 디렉터리에 저장되는 Agent Client Collector 플러그인을 실행해야 하므로 .rpm 매개변수로 --relocate 옵션을 사용하여 설치 경로를 사용자 지정하고 애플리케이션을 특정 폴더에 배포해야 합니다.예: rpm -i --
relocate /var/cache=/opt/cache agent-client-collector-<version_number>-x86_64.rpm다음 경로를 재배치할 수 있습니다.
/usr/lib/systemd/system/acc.service의 경로를 검토하여 예상대로 표시되는지 확인합니다.경로 메모 /etc 업데이트할 때는 acc.yml 파일의 allow-list 매개변수를 새 경로로 업데이트해야 합니다. /usr/share 해당 사항 없음 /var/cache /var 디렉터리를 업데이트하면 새 디렉터리 아래에 중첩된 모든 /var 하위 디렉터리도 유지됩니다. /var/log /var/run /var - RPM 기반 시스템: # rpm -
-
.deb 패키지를 설치할 때 에이전트의 acc.yml 구성 파일을 구성합니다.
-
다음 명령을 실행하여 샘플 구성 파일을 복사합니다.
# cp -p /etc/servicenow/agent-client-collector/acc.yml.example /etc/servicenow/agent-client-collector/acc.yml -
허용 목록 파일의 이름을 바꿉니다.
# cp -p /etc/servicenow/agent-client-collector/check-allow-list.json.default /etc/servicenow/agent-client-collector/check-allow-list.json
주:이 단계는 기본 시스템에 포함된 acc.yml 및 check-allow-list.json 파일과 함께 제공되는 .rpm 패키지와 관련이 없습니다. -
다음 명령을 실행하여 샘플 구성 파일을 복사합니다.
-
.deb 또는 .rpm 패키지를 설치할 때 구성 파일을 업데이트하여 /etc/servicenow/agent-client-collector에 추가하고 check-allow-list.json 인스턴스에서 backend-url 및 api-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 기능이 활성화됩니다.
-
sudoer를 구성합니다.
구성은 일반적으로 Linux sysadmin에 의해 자동화됩니다. 수동으로 구성하는 경우 전체 구성 전에 정확성을 보장하려면 다음을 실행합니다.
# 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 -
서비스로 실행될 에이전트를 구성합니다.
-
표시된 값을 /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 -
acc 서비스를 활성화한 다음 서비스 파일을 수정한 경우 디먼을 다시 로드하는 명령을 실행합니다.
# systemctl daemon-reload -
다음 명령을 실행하여 서비스를 활성화하고 시작합니다.
# systemctl enable acc# systemctl start acc
-
표시된 값을 /usr/lib/systemd/system/acc.service 파일에 추가하여 자원 소비를 막습니다.