728x90
반응형
NGINX Amplify는 NGINX의 모니터링 및 분석을 위한 클라우드 기반 서비스입니다. NGINX Amplify Agent를 설치하여 NGINX 서버의 메트릭 데이터를 수집하고, NGINX Amplify에서 데이터를 시각화하고 분석할 수 있습니다.
NGINX Amplify Agent를 리눅스에 설치하는 방법은 다음과 같습니다.
NGINX 모니터링 SaaS 형태 참고 URL
Step1 : NGINX Amplify 에이전트 설치
Amplify Agent는 운영 체제 및 NGINX 인스턴스에서 다양한 메트릭 및 메타데이터를 수집하고 시각화를 위해 데이터를 Amplify 백엔드로 보냅니다.
1. SSH를 사용하여 모니터링할 시스템에 연결하고 로그인합니다.
2. curl(1) 또는 wget(1)을 사용하여 설치 스크립트를 다운로드합니다.
curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
3. 다음 명령을 루트로 실행하여 Amplify 에이전트 패키지를 설치합니다.
API_KEY='ef4fcae454491655f1a34386c123456789' sh ./install.sh
root@raspberrypi2:/home/pi/install# API_KEY='ef4fcae454491655f1a34386c52a4eaf' sh ./install.sh
--- This script will install the NGINX Amplify Agent package ---
1. Checking admin user ... root, ok.
2. Checking API key ... using ef4fcae454491655f1a34386c52a4eaf
3. Checking if uuid should be stored in the config ... False
4. Checking OS compatibility ... debian detected.
5. Checking Python ... found python 3.9
6. Adding public key ... done.
7. Adding repository ... added.
8. Updating repository ...
받기:1 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
받기:2 http://deb.debian.org/debian bullseye InRelease [116 kB]
...
내려받기 24.7 M바이트, 소요시간 9초 (2,606 k바이트/초)
패키지 목록을 읽는 중입니다... 완료
N: Repository 'http://deb.debian.org/debian bullseye InRelease' changed its 'Version' value from '11.6' to '11.7'
N: Skipping acquire of configured file 'amplify-agent/binary-armhf/Packages' as repository 'https://packages.amplify.nginx.com/py3//debian bullseye InRelease' doesn't support architecture 'armhf'
8. Updating repository ... done.
9. Installing nginx-amplify-agent package ...
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
raspinfo
Use 'apt autoremove' to remove it.
The following additional packages will be installed:
libc-ares2 libev4 python3-daemon python3-gevent python3-greenlet python3-lockfile python3-netifaces python3-psutil python3-pymysql python3-setproctitle python3-ujson
제안하는 패키지:
python-gevent-doc python3-gevent-dbg python-greenlet-doc python-greenlet-dev python3-greenlet-dbg python-lockfile-doc python-psutil-doc python-pymysql-doc
다음 새 패키지를 설치할 것입니다:
libc-ares2 libev4 nginx-amplify-agent python3-daemon python3-gevent python3-greenlet python3-lockfile python3-netifaces python3-psutil python3-pymysql python3-setproctitle
python3-ujson
0개 업그레이드, 12개 새로 설치, 0개 제거 및 51개 업그레이드 안 함.
1,327 k바이트 아카이브를 받아야 합니다.
이 작업 후 6,093 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://deb.debian.org/debian bullseye/main arm64 libc-ares2 arm64 1.17.1-1+deb11u2 [100 kB]
받기:2 http://deb.debian.org/debian bullseye/main arm64 libev4 arm64 1:4.33-1 [41.3 kB]
...
Created symlink /etc/systemd/system/multi-user.target.wants/amplify-agent.service → /lib/systemd/system/amplify-agent.service.
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u5) ...
9. Installing nginx-amplify-agent package ... done.
10. Building configuration file ... done.
11. Checking if sudo -u www-data -g www-data can be used for tests ... done.
12. Checking if euid 33(www-data) can find root processes ... ok.
13. Checking if euid 33(www-data) can access I/O counters for nginx ... ok.
14. Checking if stub_status is configured ... ok.
15. Checking connectivity to the receiver ... ok.
16. Checking system time ... ok.
OK, everything went just fine!
To start and stop the Amplify Agent type:
service amplify-agent { start | stop }
Amplify Agent log can be found here:
/var/log/amplify-agent/agent.log
After the agent is launched, it takes a couple of minutes for this system to appear
in the Amplify user interface.
PLEASE CHECK THE DOCUMENTATION HERE:
https://amplify.nginx.com/docs/
Launching amplify-agent ...
All done.
4. 설치에 성공하면 약 1분 후에 새 시스템이 왼쪽 목록에 나타납니다.
Step2 : 필수 메트릭을 시각화하도록 NGINX 구성
1. 현재 작업 디렉토리를 /etc/nginx로 변경합니다.
cd /etc/nginx
2. conf.d의 파일이 NGINX 구성에 자동으로 포함되는지 확인합니다.
그렇지 않으면 stub_status 모듈 구성을 nginx.conf에 직접 추가해야 합니다.
grep -i include\.*conf nginx.conf
3. stub_status 구성으로 새 파일을 만듭니다.
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
}
4. stub_status 구성 파일이 성공적으로 생성되었는지 확인합니다.
ls -la conf.d/stub_status.conf && cat conf.d/stub_status.conf
5. stub_status 모듈 구성이 활성화되도록 NGINX를 다시 로드합니다.
kill -HUP `cat /var/run/nginx.pid`
Step3 : 애플리케이션 성능에 대해 자세히 알아보기 위해 추가 NGINX 메트릭 설정
Amplify Agent는 로그 파일에서 여러 추가 NGINX 메트릭을 수집할 수 있습니다. "요청 시간", "업스트림 응답 시간" 및 "캐시 적중 횟수"와 같은 메트릭은 NGINX 구성에서 특별히 활성화된 후에만 볼 수 있습니다.
1. access.log 로그 형식에는 확장된 NGINX 변수 집합이 포함되어야 합니다.
2. error.log 로그 수준을 warning으로 설정해야 합니다.
3. NGINX 구성 변경 후 kill -HUP 또는 service nginx reload로 NGINX를 다시 로드합니다.
728x90
반응형
LIST
'WEB,WAS' 카테고리의 다른 글
[Nginx] nginx websocket 통신을 위한 설정방법 (1) | 2023.06.13 |
---|---|
[DB] postgresql 데이터 마이그레이션 방법 (1) | 2023.05.23 |
[WEB/WAS] Nginx log_format 사용 방법 (0) | 2023.05.16 |
[WEB/WAS] nginx conf 파일에서 취약점 조치 사항 (2) | 2023.05.15 |
[WEB/WAS] Nginx subdomain 추출 방법 (정규식, map) (1) | 2023.05.14 |