NGINX 웹 서버 검색

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • NGINX는 부하 분산 장치가 있는 오픈 소스 웹 서버입니다. 검색은 부하 분산 장치와 관련한 정보 및 웹 서버를 식별합니다.

    검색은 다음 프로세스를 사용하여 NGINX 서버 소프트웨어를 식별합니다.
    1. NGINX 프로세스 분류 규칙은 Linux 서버를 탐색하는 동안 다음 기준과 일치하는 실행 중인 프로세스를 탐지합니다.
      • nginx로 시작하는 이름
      • 마스터를 포함하는 이름
    2. 일치하는 프로세스가 있는 경우:
      • NGINX 웹 서버 [cmdb_ci_nginx_web_server] 테이블에 기록이 생성됩니다.
      • Linux 서버(Linux 서버 [cmdb_ci_linux_server]) 및 NGINX 웹 서버(NGINX 웹 서버 [cmdb_ci_nginx_web_server])에 대한 CI 관계 [cmdb_rel_ci] 테이블에서 관계에 대한 실행이 생성됩니다.
        다음 두 개의 프로브가 트리거됩니다.
        • NGINX – 버전: 이 프로브에 Bourne 셸 스크립트가 포함됩니다. NGINX의 버전을 결정하고 NGINX 웹 서버 [cmdb_ci_nginx_web_server] 테이블을 채웁니다.
        • NGINX – 구성 가져오기: 이 프로브에는 Bourne 셸 스크립트와 NGINX 구성 파일의 경로를 결정하는 인수가 포함됩니다. 프로브는 구성 파일 내의 키워드를 기반으로 구성 매개변수를 식별하여 단일 페이로드 결과로 반환합니다.
        ServiceNow 인스턴스의 센서가 페이로드 결과를 구문 분석하고 CMDB를 채웁니다.
    NGINX 웹서버를 검색하려면 다음 요구 사항이 있어야 합니다.
    • NGINX가 서버에 설치되어 실행되고 있습니다.
    • MID 서버에는 NGINX 구성 파일에 대한 액세스 권한이 있으며 기본적으로 etc/nginx/nginx.conf입니다.

    요구 사항

    NGINIX 서버의 경우:
    • NGINX 소프트웨어가 서버에 설치되어 실행 중인지 확인합니다.
    • MID 서버에 NGINX 구성 파일에 대한 액세스 권한을 부여합니다(기본적으로 /etc/nginx/nginx.conf).
    • 다음의 연결된 요소를 식별하기 위해 SSH(보안 셸) 명령을 사용합니다.
      • NGINX 버전
      • NGINX 구성 가져오기
    다음 프로브는 명령을 실행할 수 있는 실행 권한이 필요합니다.
    표 1. 명령
    프로브 명령
    Nginx – 버전 nginx
    Nginx – 구성 가져오기 에코, sed, httpd, 잘라내기, grep, egrep(Bourne 셸 스크립트 내)

    프로브 및 센서

    검색에서 다음 프로세스를 사용하여 NGINX 서버 소프트웨어를 식별합니다.
    1. Nginx 프로세스 분류 규칙은 UNIX 서버를 탐색하는 동안 다음 조건과 일치하는 실행 중인 프로세스를 검색합니다.
      • 프로세스 이름이 nginx로 시작함.
      • 프로세스 이름에 master가 포함됨.
    2. 일치하는 프로세스가 있는 경우:
      • 웹 서버 [cmdb_ci_web_server] 테이블에 기록이 생성됩니다.
      • Linux 서버 [cmdb_ci_linux_server] 테이블 및 웹 서버 [cmdb_ci_web_server] 테이블에 대한 CI 관계 [cmdb_rel_ci] 테이블에서 Runs on 관계가 생성됩니다.
    3. 다음 두 개의 프로브가 트리거됩니다.
      • Nginx – 버전: 이 프로브에 Bourne 셸 스크립트가 포함됩니다. NGINX의 버전을 결정하고 웹 서버 [cmdb_ci_web_server] 테이블을 채웁니다.
      • Nginx – 구성 가져오기: 이 프로브에는 Bourne 셸 스크립트와 NGINX 구성 파일의 경로를 결정하는 인수가 포함됩니다. 프로브는 구성 파일 내의 키워드를 기반으로 구성 매개변수를 식별하여 단일 페이로드 결과로 반환합니다.
    4. ServiceNow 인스턴스의 센서가 페이로드를 처리하고 CMDB를 채웁니다.

    수집된 데이터

    검색에서 실행 중인 NGINX 프로세스를 탐지하면 CMDB 기록을 생성하거나 업데이트합니다. 다음 데이터가 수집됩니다.
    표 2. NGINX에 대한 검색에서 수집한 데이터
    테이블 이름 필드 및 레이블 이름 프로브
    이름 cmdb_ci_lb_appl [이름] Nginx – 구성 가져오기
    IP 주소 cmdb_ci_lb_appl [ip_address] Nginx – 구성 가져오기
    최근 검색됨 cmdb_ci_lb_appl [last_discovered] Nginx – 구성 가져오기
    버전 cmdb_ci_lb_appl [version] Nginx – 버전
    이름 cmdb_ci_lb_풀_구성원 [이름] Nginx – 구성 가져오기
    최근 검색됨 cmdb_ci_lb_풀_구성원 [last_discovered] Nginx – 구성 가져오기
    IP 주소 cmdb_ci_lb_풀_구성원 [ip_address] Nginx – 구성 가져오기
    부하 분산 장치 cmdb_ci_lb_풀_구성원 [load_balancer] Nginx – 구성 가져오기
    전체 주소 도메인 이름 cmdb_ci_lb_풀_구성원 [fqdn] Nginx – 구성 가져오기
    포트 cmdb_ci_lb_풀_구성원 [port] Nginx – 구성 가져오기
    최근 검색됨 cmdb_ci_lb_서비스 [last_discovered] Nginx – 구성 가져오기
    IP 주소 cmdb_ci_lb_서비스 [ip_address] Nginx – 구성 가져오기
    이름 cmdb_ci_lb_서비스 [이름] Nginx – 구성 가져오기
    부하 분산 장치 cmdb_ci_lb_서비스 [load_balancer] Nginx – 구성 가져오기
    입력 URL cmdb_ci_lb_service [input_url] NGINX – 구성 가져오기

    관계

    [cmdb_rel_ci] 테이블에서 다음 관계가 채워집니다.
    • cmdb_ci_lb_appl 테이블의 기록은 cmdb_ci_web_server 테이블 기록에서 실행됩니다.
    • cmdb_ci_lb_service 테이블의 기록은 cmdb_ci_lb_pool 테이블 기록을 사용합니다.
    • cmdb_ci_pool 테이블의 기록은 cmdb_ci_service 테이블 기록에서 사용됩니다.
    • cmdb_ci_pool 테이블의 기록은 cmdb_ci_pool_member 테이블의 구성원입니다.
    • cmdb_ci_pool_member 테이블의 기록은 cmdb_ci_pool 테이블의 구성원입니다.