NGINX Agent 개요
NGINX Agent 는 NGINS OSS 혹은 NGINX Plus 인스턴스를 위한 companion daemon입니다. NGINX Agent에는 다음과 같은 기능이 있습니다.
- NGINX 설정 원격 제어
- 실시간 NGINX 성능 및 운영 체제 메트릭 수집 및 리포트
- NGINX 이벤트 알림

목차
1. NGINX Agent의 작동 원리
2. NGINX Agent의 NGINX설정 관리
3. NGINX Agent의 NGINX 메트릭 수집
4. 이벤트 알림
1. NGINX Agent의 작동 원리
NGINX Agent는 NGINX를 실행하는 시스템에서 companion 프로세스로 동작합니다. NGINX Agent는 NGINX의 프로세스와 운영체제의 설정 관리와 메트릭 수집을 위해 gRPC와 REST 인터페이스를 제공합니다. NGINX Agent는 일반적인 Linux 도구를 사용하여 NGINX와 원격으로 상호작용할 수 있으며, 대규모 NGINX 인스턴스를 관리할 수 있는 정교한 모니터링 및 제어 시스템을 구축할 수 있는 기능을 제공합니다.

2. NGINX Agent 의 NGINX 설정 관리
NGINX Agent는 업데이트된 설정 파일을 제출하기 위한 API 인터페이스를 제공합니다. 새로운 파일을 받는 즉시, NGINX Agent는 nginx -V 의 출력을 확인하여 기존 설정의 위치를 파악합니다. 이후 새로운 설정을 nginx -t 로 검증하고, NGINX 마스터 프로세스에 HUP 신호를 보내 적용합니다.
3. NGINX Agent 의 NGINX 메트릭 수집
NGINX Agent는 NGINX 프로세스 정보와 연동하고 NGINX 로그를 분석하여 메트릭을 계산하고 보고합니다. NGINX Plus와 연동할 때는 NGINX Plus API에서 관련 정보를 가져옵니다. 보고된 메트릭은 Prometheus에 의해 집계되고 Grafana와 같은 도구로 시각화될 수 있습니다.
NGINX OSS
NGINX OSS 인스턴스와 함께 실행할 경우, NGINX Agent는 모든 기본 변수를 포함하는 NGINX의 access, error 로그의 활성화를 필요로 합니다.
NGINX Plus
NGINX Agent가 NGINX Plus와 정상적으로 동작하려면 해당 인스턴스의 nginx.conf 파일에 API가 구성되어야 합니다. NGINX Plus가 /api/ 엔드포인트로 구성된 경우, Agent가 시작 시 자동적으로 사용합니다.
4. 이벤트 알림
NGINX Agent는 gRPC로 연결된 제어 시스템이 특정 이벤트에 대한 리스너를 등록할 수 있게 합니다. NGINX Agent가 관련 시스템 신호를 보낼 때 이 제어 메커니즘이 호출됩니다. 알림의 소스는 NGINX 인스턴스 또는 NGINX Agent 자체일 수 있습니다. 현재 지원되는 이벤트 목록은 다음과 같습니다:
| 이벤트 | 설명 |
| AGENT_START_MESSAGE | Agent 프로세스가 시작됨 |
| AGENT_STOP_MESSAGE | Agent 프로세스가 정지됨 |
| NGINX_FOUND_MESSAGE | 시스템에서 NGINX 마스터 프로세스가 감지됨 |
| NGINX_STOP_MESSAGE | NGINX 마스터 프로세스가 정지됨 |
| NGINX_RELOAD_SUCCESS_MESSAGE | NGINX 마스터 프로세스가 reload에 성공함 |
| NGINX_RELOAD_FAILED_MESSAGE | NGINX 마스터 프로세스가 reload에 실패함 |
| NGINX_WORKER_START_MESSAGE | NGINX 워커 프로세스가 시작됨 |
| NGINX_WORKER_STOP_MESSAGE | NGINX 워커 프로세스가 정지됨 |
| CONFIG_APPLY_SUCCESS_MESSAGE | 새 NGINX 설정을 성공적으로 적용함 |
| CONFIG_APPLY_FAILURE_MESSAGE | 새 NGINX 설정 적용에 실패함 |
| CONFIG_ROLLBACK_SUCCESS_MESSAGE | NGINX 설정 롤백에 성공함 |
| CONFIG_ROLLBACK_FAILURE_MESSAGE | NGINX 설정 롤백에 실패함 |
댓글을 달려면 로그인해야 합니다.