ORACLE/Admin

오라클 AHF Fleet Insights 구성 가이드

내맘대로긍정 2025. 1. 12. 17:03

OS 환경 : Oracle Linux 8.4 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

SW 환경 : AHFFI 24.2, AFH 24.9

 

방법 : 오라클 AHF Fleet Insights 구성 가이드

본문에서는 AHFFI(AHF Fleet Insights)가 무엇인지와 기능, 구성하는 방법등을 설명함
간략하게 설명하면 여러서버에서 AHF로 수집된 데이터들을 한 화면에서 모아보는 기능임

 

 

AHF(Autonomous Health Framework) 란?
TFA, ORAchk 및 EXAchk, oswatcher, oratop 등 여러가지 도구들이 결합된 설치 프로그램임
참고 : 오라클 19c ahf(tfa) 설치 및 로그수집 가이드(SRDC) ( https://positivemh.tistory.com/747 )

 

 

AHF Fleet Insights 란?
AHF Fleet Insights는 database 플릿을 효율적으로 관리하고 진단할 수 있게 해주는 도구임
이를 통해 사용자에게 데이터베이스 서비스를 원활하고 안정적으로 제공할 수 있도록 모니터링하고 문제를 빠르게 파악할 수 있게 해줌
*플릿(Fleet)은 데이터베이스 클러스터 또는 단일 인스턴스 시스템의 모음임
*테스트 결과 grid(클러스터웨어)가 설치되어 있어야 ahffi에 db 등록이 가능함

 

 

주요 기능
Fleet Analytics
AHF Fleet Insights는 다양한 차원에서 전체 플릿을 집계된 뷰로 보여줌
- 토폴로지(Topology) : 플릿의 구조를 이해할 수 있게 해줌. 예를 들어 클러스터 유형(RAC, ODA, Exadata 등)을 확인할 수 있음
- 서버 구성(Server Configurations) : 데이터베이스 버전이나 데이터베이스와 스토리지 서버의 하드웨어 모델 같은 서버 구성을 자세히 볼 수 있음
- 인사이트 관점(Insight Dimensions) : 각 클러스터에서 수집된 주요 이벤트, 권장사항 준수 문제, 운영 체제 문제 등을 분석할 수 있음
Fleet Analytics 기능을 통해 문제를 빠르게 식별하고 해결하며, 성능 최적화와 플릿 관리, 보안 개선에 도움을 줄 수 있음

 

Root Cause Analysis
플릿 전체의 주요 문제를 관찰할 수 있음
- 대시보드를 통해 각 문제의 근본 원인을 심층 분석 가능함
- 필요한 경우 특정 인사이트 보고서로 좁혀가며 세부 원인까지 파악할 수 있음

 

Diagnostic Data Access
보존 기간 제한으로 인한 데이터 손실을 방지하기 위해 제공하는 기능
- 진단 인사이트를 장기간 저장하고 관리할 수 있는 중앙 시스템을 제공함
- 문제가 발생했을 때 중요한 진단 정보를 보존하고 쉽게 접근할 수 있게 해줌

 

 

지원되는 플랫폼
- Oracle Enterprise Linux (OEL) x86_64, Red Hat Enterprise Linux (RHEL) x86_64
- 19c 이상의 db와 24.9 이상의 ahf

 

 

ahffi 용 서버 최소 시스템 사양(선택)
- 4 Cores CPU, 16GB RAM, 클러스터당 4GB 디스크 공간
*ahffi 전용 서버는 필수는 아니지만 성능을 개선할 수 있음(동일한 서버에서 다른 애플리케이션을 실행하면 간섭이 발생하고 성능에 영향을 미칠 수 있음)
*ahffi 웹용 서버와 db용 서버를 따로 구축할수도 있음(본문에서는 한 서버에 db와 웹서비스를 동시에 띄움)

 

 

웹 인터페이스 권장 브라우저
- Microsoft Internet Explorer(최신버전 또는 최신버전에서 -5 버전까지)
- Microsoft Edge(최신버전 또는 최신버전에서 -5 버전까지)
- Google Chrome(최신버전 또는 최신버전에서 -5 버전까지)
- Mozilla Firefox(최신버전 또는 최신버전에서 -5 버전까지)
- Apple Safari(최신버전 또는 최신버전에서 -5 버전까지)

 

 

ahffi 파일 다운로드
- 3043060.1 mos 링크에서 다운로드 가능

 

 

ahffi에서 사용하는 유저
- ahffi : ahffi 수집서버에 수집되는 데이터를 담는 용도로 사용하는 유저
- generic registration user : AHF 클라이언트와 Fleet Insights 도구 간의 통신을 초기화하는 사용자
- fleet_admin : 새 사용자를 만들고 애플리케이션 전체에서 데이터 액세스를 허용/제한할 수 있는 관리자 권한이 있는 UI 사용자

 

 

본문 테스트 환경
수집 서버 : oel8 ahffi 수집 서버 19c single db(hostname : ora19)
대상 서버 : 19c rac 2 node(non-cdb)

 

 

테스트
1. 사전 요구사항 설정
2. 대상 서버 ahf 최신버전으로 업그레이드
3. 수집 서버에 ahffi 설치
4. ahffi에 대상서버(클라이언트) 등록
5. 웹 인터페이스 확인

 

 

테스트
1. 사전 요구사항 설정
수집서버에 19c db 설치
아래 게시글 참고
참고 : Oracle Linux 8.4에 Oracle 19c 설치 가이드 ( https://positivemh.tistory.com/1144 )

 

 

자바 설치

1
# dnf -y install https://download.oracle.com/java/23/latest/jdk-23_linux-x64_bin.rpm

 

 

instant 클라이언트 설치(basic 및 sqlplus)(db가 설치되어 있어도 /usr/bin/ 에서 sqlplus 와 클라이언트 파일을 사용해서 설치가 필요함)

1
2
# dnf -y install https://download.oracle.com/otn_software/linux/instantclient/2340000/oracle-instantclient-basic-23.4.0.24.05-1.el8.x86_64.rpm
# dnf -y install https://download.oracle.com/otn_software/linux/instantclient/2340000/oracle-instantclient-sqlplus-23.4.0.24.05-1.el8.x86_64.rpm

 

 

수집 서버 db에 ahffi용 유저 생성

1
2
3
4
5
6
7
SQL>
create user ahffi identified by ahffi;
grant create session to ahffi;
grant connect, resource to ahffi;
grant create table to ahffi;
grant insert any table to ahffi;
alter user ahffi quota unlimited on users;

 

 

2. 대상 서버 ahf 최신버전으로 업그레이드
ahf 파일 다운로드 후 서버에 업로드
2550798.1 mos 링크에서 다운로드
참고 : 오라클 19c ahf(tfa) 업그레이드 가이드 ( https://positivemh.tistory.com/791 )

 

 

대상 서버 ahf 업그레이드 후 버전 확인

1
2
3
# ahfctl version
 
AHF version: 24.9.0

 

 

3. 수집 서버에 ahffi 설치
ahffi 파일 다운로드 후 서버에 업로드
3043060.1 mos 링크에서 다운로드
*참고
루트가 아닌 Linux 사용자라면 누구나 AHF Fleet Insights를 설치할 수 있음
HTTPS 연결을 보호하기 위해 설치 중에 자체 서명된 SSL 인증서( 키 유형 : RSA, 키 길이 : 4096)가 동적으로 생성됨
CLI(Command-Line Interface)를 통해 기본 인증서를 자신의 인증서로 대체하는 옵션이 존재함
사용자가 지정하지 않는 한 설치를 위한 기본 포트는 5005임(유효한 포트 범위는 1024~49151임)
지정된 포트를 사용할 수 없는 경우 AHF Fleet Insights 이 설치되지 않음

 

 

파일 권한 부여 후 확인

1
2
3
4
# chown oracle:dba AHFFI-LINUX_v24.2.0.zip
# mv AHFFI-LINUX_v24.2.0.zip /home/oracle/
# ls -al /home/oracle/AHFFI-LINUX_v24.2.0.zip
-rw-r--r--. 1 oracle dba 120514760 Nov 24 15:21 /home/oracle/AHFFI-LINUX_v24.2.0.zip

 

 

일반 유저 접속 후 ahffi용 폴더 생성 후 압축 해제

1
2
3
4
5
6
7
8
9
10
$ su - oracle
$ mkdir -p /home/oracle/ahffi
$ mv AHFFI-LINUX_v24.2.0.zip /home/oracle/ahffi/
$ cd /home/oracle/ahffi/
$ unzip AHFFI-LINUX_v24.2.0.zip
Archive:  AHFFI-LINUX_v24.2.0.zip
 extracting: ahf_fleet_setup_onprem.zip
 extracting: ahf_fleet_setup_onprem.dat
  inflating: README.txt
  inflating: oracle-ahffi.pub

 

 

파일 목록 확인

1
2
3
4
5
6
7
8
9
$ ls -al
total 235392
drwxr-xr-x. 2 oracle oinstall       147 Nov 24 15:23 .
drwx------. 8 oracle oinstall       206 Nov 24 15:23 ..
-rw-r--r--. 1 oracle dba      120514760 Nov 24 15:21 AHFFI-LINUX_v24.2.0.zip
-rw-------. 1 oracle oinstall       384 Oct 18 04:09 ahf_fleet_setup_onprem.dat
-rw-------. 1 oracle oinstall 120512044 Oct 18 04:09 ahf_fleet_setup_onprem.zip
-r--------. 1 oracle oinstall       625 Oct 18 04:09 oracle-ahffi.pub
-r-xr-xr-x. 1 oracle oinstall      2701 Oct 18 04:09 README.txt

파일 설명
README.txt : 바이너리 검증, 필수 구성 요소 설정, Fleet Insights 애플리케이션 설치를 위한 명령이 포함되어 있음
ahf_fleet_setup_onprem.dat, oracle-ahffi.pub : 바이너리의 디지털 서명을 확인하기 위한 파일
ahf_fleet_setup_onprem.zip : 설치 프로그램 zip

 

 

ahffi setup zip 압축 해제

1
2
3
4
5
6
7
8
$ unzip ahf_fleet_setup_onprem.zip
Archive:  ahf_fleet_setup_onprem.zip
  inflating: ahf_fleet_setup
  inflating: properties.txt
  inflating: connectstring.txt
  inflating: installer_utils.sh
  inflating: create_db_user.sql
 extracting: version.json

 

 

파일 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ ls -al
total 353112
drwxr-xr-x. 2 oracle oinstall      4096 Nov 24 15:23 .
drwx------. 8 oracle oinstall       206 Nov 24 15:23 ..
-rw-r--r--. 1 oracle dba      120514760 Nov 24 15:21 AHFFI-LINUX_v24.2.0.zip
-rwxrwxr-x. 1 oracle oinstall 120502987 Oct 17 03:24 ahf_fleet_setup
-rw-------. 1 oracle oinstall       384 Oct 18 04:09 ahf_fleet_setup_onprem.dat
-rw-------. 1 oracle oinstall 120512044 Oct 18 04:09 ahf_fleet_setup_onprem.zip
-r-xr-xr-x. 1 oracle oinstall       108 Oct 17 03:23 connectstring.txt
-r-xr-xr-x. 1 oracle oinstall       215 Oct 17 03:23 create_db_user.sql
-r-xr-xr-x. 1 oracle oinstall     19380 Oct 17 03:23 installer_utils.sh
-r--------. 1 oracle oinstall       625 Oct 18 04:09 oracle-ahffi.pub
-r-xr-xr-x. 1 oracle oinstall       207 Oct 17 03:23 properties.txt
-r-xr-xr-x. 1 oracle oinstall      2701 Oct 18 04:09 README.txt
-rw-rw-r--. 1 oracle oinstall        53 Oct 17 03:23 version.json

파일 설명
- ahf_fleet_setup: 설치를 위한 바이너리 파일임
- connectstring.txt: 데이터베이스 연결 문자열의 템플릿 파일로, 필요에 따라 수정 가능하며 설치 중 인수로 전달할 수 있음
- create_db_user.sql: 새로운 데이터베이스 사용자(AHFFI라는 기본 사용자 이름으로 생성)를 만들고 필요한 권한을 부여하는 SQL 스크립트임. 사용자는 암호 자리 표시자를 안전한 암호로 교체해야 함
- properties.txt: 구성 속성 템플릿 파일로, -quiet 모드를 사용할 때 설치 시 수정하여 인수로 전달할 수 있음
- version.json: 버전 정보를 포함한 파일로, 수정 금지됨
- installer_utils.sh: 설치를 위한 유틸리티 파일로, 수정 금지됨

 

 

ClamAV 설치(선택)
설치하는 동안 오픈소스 바이러스 백신 엔진인 ClamAV를 활성화 또는 비활성화하라는 메시지가 표시됨
설치하고싶은 경우 https://www.clamav.net/ 에서 ClamAV 다운로드 후 설치 가능함
ClamAV를 활성화하는 것은 선택 사항이지만, 활성화하면 처리 시간이 늘어남
나의 경우 설치하지 않음

 

 

ahffi 설치
설치시 ahffi 수집서버 ip 및 리스너 포트와 수집서버 db에 생성한 ahffi 유저와 패스워드를 입력하고 generic registration user 이름과 패스워드도 입력하게됨
참고로 generic registration user 의 패스워드는 최소 8자 이상이어야 하며 숫자, 특수문자, 대문자를 각각 하나씩 포함되어야함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
$ ./ahf_fleet_setup -loc /home/oracle/ahffi
2024-11-24 15:31:08 [INFO] AHF Fleet Insights installation log : /tmp/ahf_fleet_insights_log/ahf_fleet_insights_install_2024_11_24_15_31_08.log
Enter port number to run web server on (in the range 1024 - 49151) [default 5005]:  <<--- 원하는 포트 입력 또는 엔터 입력(미입력시 5005 포트 사용됨)
Please provide DB related information
DB host: 192.168.137.19  <<--- 수집 서버 host(ip) 입력
DB port: 1521  <<--- 수집 서버 db 포트 입력
DB service name: oracle19  <<--- 서비스네임 입력
Enter DB credentials
DB user: ahffi  <<--- ahffi 입력
DB password:  <<--- ahffi 유저 패스워드 입력
 
Enter DB password again
DB password:  <<--- ahffi 유저 패스워드 입력(나의경우 ahffi 입력함)
 
 
Following DB info recorded
DB host: "192.168.137.19"
DB port: "1521"
DB service: "oracle19"
DB user: "ahffi"
Proceed with installation? [y|n] : y  <<--- y 입력
Would you like to create generic registration user now? (y|n) : y  <<--- y 입력
 
Set generic registration user username
Generic registration username: genuser  <<--- genuser 입력
Set generic registration user password
Generic registration password:  <<--- Txptmxm1! 입력
 
Enter generic registration password again
Generic registration password:   <<--- Txptmxm1! 재입력
2024-11-24 15:34:10 [WARNING] ClamAV not found on the system. Skipping virus scan setup
2024-11-24 15:34:11 [INFO] Running self extracting installer
2024-11-24 15:34:11 [INFO] Extracting payload
2024-11-24 15:34:11 [INFO] Extracting AHF fleet insights installer... (this might take some time)
2024-11-24 15:34:16 [INFO] Done with extraction
2024-11-24 15:34:16 [INFO] Running AHF Fleet Insights installer
2024-11-24 06:34:16 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Beginning of install_ahf_service.sh
2024-11-24 06:34:16 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] No valid AHF Fleet Insights installation found at /home/oracle/ahffi, starting a fresh installation
2024-11-24 06:34:16 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Installing AHF Fleet Insights at /home/oracle/ahffi with build info: {"app_version":"24.2.0.0","build_id":"1729102526827"}
2024-11-24 06:34:16 UTC: [ora19] [4988] [MANAGE_APP] [INFO] Component chosen as all
2024-11-24 06:34:16 UTC: [ora19] [4988] [MANAGE_APP] [INFO] Action chosen as stop
2024-11-24 06:34:16 UTC: [ora19] [4988] [MANAGE_APP] [INFO] Successfully removed job(s) for all from crontab
2024-11-24 06:34:17 UTC: [ora19] [4988] [MANAGE_APP] [SUCCESS] Killed the existing AHF Fleet Insights processes for component(s): all.
2024-11-24 06:34:17 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Syncing files from the kit to /home/oracle/ahffi
2024-11-24 06:34:19 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Creating ssl certificates for AHF Fleet Insights Application
2024-11-24 06:34:22 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Successfully created ssl certificates
2024-11-24 06:34:22 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Updating configurations using input from /home/oracle/ahffi/fleet_insights_install.properties
2024-11-24 06:34:22 UTC: [ora19] [5120] [UPDATE_PROPERTIES] [INFO] Path to the input properties file provided as : /home/oracle/ahffi/fleet_insights_install.properties
2024-11-24 06:34:25 UTC: [ora19] [5120] [UPDATE_PROPERTIES] [INFO] nginx: the configuration file /home/oracle/ahffi/ahf_service/third_party/nginx/conf/ahfs_nginx_with_ssl.conf syntax is ok
2024-11-24 06:34:25 UTC: [ora19] [5120] [UPDATE_PROPERTIES] [INFO] nginx: configuration file /home/oracle/ahffi/ahf_service/third_party/nginx/conf/ahfs_nginx_with_ssl.conf test is successful
2024-11-24 06:34:28 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] App secret is not set.
2024-11-24 06:34:28 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] App secret stored successfully.
2024-11-24 06:34:28 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Performing db migration using properties at /home/oracle/ahffi/ahf_service/source_env.sh
2024-11-24 06:34:34 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] DB migration completed successfully. Corresponding logs can be found at /home/oracle/ahffi/ahf_service/log/db_migrate.log
2024-11-24 06:34:34 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Registering the AHF Fleet Insights UI Admin user
2024-11-24 06:34:37 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Successfully registered AHF Fleet Insights UI Admin user
2024-11-24 06:34:38 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Component chosen as all
2024-11-24 06:34:38 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Action chosen as start
2024-11-24 06:34:38 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Starting Fleet Insights server
2024-11-24 06:34:42 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Started Fleet Insights server successfully
2024-11-24 06:34:42 UTC: [ora19] [6394] [MANAGE_APP] [INFO] The path to manage_app.log is /home/oracle/ahffi/ahf_service/log/manage_app.log
2024-11-24 06:34:42 UTC: [ora19] [6394] [MANAGE_APP] [INFO] The path to nginx access.log is /home/oracle/ahffi/ahf_service/third_party/nginx/logs/access.log
2024-11-24 06:34:42 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Starting the collection processing engine
2024-11-24 06:34:43 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Collection processing engine is running
2024-11-24 06:34:43 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Started the collection processing engine successfully
no crontab for oracle
2024-11-24 06:34:43 UTC: [ora19] [6394] [MANAGE_APP] [INFO] Successfully added job(s) for all from crontab
2024-11-24 06:34:43 UTC: [ora19] [6394] [MANAGE_APP] [SUCCESS] Started the AHF Fleet Insights processes for component(s): all.
2024-11-24 06:34:44 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Copying install location to user home
2024-11-24 06:34:44 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] Successfully completed AHF Fleet Insights installation {"app_version":"24.2.0.0","build_id":"1729102526827"}
2024-11-24 06:34:44 UTC: [ora19] [4883] [INSTALL_AHFS] [INFO] The web app can be accessed at https://ora19:5005/ahfservice
+-----------------------------+------------+
| Stage                       | Status     |
+-----------------------------+------------+
| Stopping Fleet Insights     | Successful |
+-----------------------------+------------+
| Syncing files               | Successful |
+-----------------------------+------------+
| Configuring the application | Successful |
+-----------------------------+------------+
| Database Migration          | Successful |
+-----------------------------+------------+
| Registering UI Admin User   | Successful |
+-----------------------------+------------+
| Starting Fleet Insights     | Successful |
+-----------------------------+------------+
2024-11-24 15:34:45 [INFO] Installation completed successfully at /home/oracle/ahffi
2024-11-24 15:34:45 [INFO] Registering generic registration user genuser
2024-11-24 15:34:47 [INFO] AHF Fleet Insights installation log : /tmp/ahf_fleet_insights_log/ahf_fleet_insights_install_2024_11_24_15_31_08.log

ahffi 설치가 완료됨

 

 

필수 속성
INSTALL_DIR/: 설치 디렉토리가 있어야 하며 설치 사용자가 접근할 수 있어야 함
DB_HOST : 데이터베이스 호스트 이름
DB_PORT : 데이터베이스 포트
DB_SERVICE : 데이터베이스 서비스 이름
DB_USER : 데이터베이스 사용자 이름
DB_PASSWORD : 데이터베이스 비밀번호

 

 

참고용 ahf_fleet_setup help

1
2
3
4
5
6
7
8
9
$ ./ahf_fleet_setup -h
Usage: ./ahf_fleet_setup [OPTIONS]
Options:
  -h, --help                  Print this help message and exit
  -loc <path>                 Specify installation path (not needed for patching)
  -connect_string <file>      Specify the DB connection string as a text file (optional)
  -db_wallet_path <path>      Specify DB wallet path (optional)
  OR
  -quiet [<property file>]    Proceed with installation/patching in quiet mode

 

 

generic registration user 를 ahffi 설치중 생성하지 않은 경우 아래와 같이 생성 가능함

1
2
$ cd <install_dir>
$ ./ahffi create-generic-user <user name>

generic registration user의 패스워드는 최소 8자 이상이어야 하며 숫자, 특수문자, 대문자를 각각 하나씩 포함되어야함

 

 

ahffi 명령어을 PATH에 등록 후 적용

1
2
3
4
5
6
$ cd ~
$ vi .bash_profile
기존
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch::$PATH
수정
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/home/oracle/ahffi/:$PATH

 

 

적용

1
$ . ./.bash_profile

 

 

ahffi 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
$ ahffi status
2024-11-24 06:40:58 UTC: [ora19] [12602] [MANAGE_APP] [INFO] Component chosen as all
2024-11-24 06:40:58 UTC: [ora19] [12602] [MANAGE_APP] [INFO] Action chosen as status
2024-11-24 06:40:59 UTC: [ora19] [12602] [MANAGE_APP] [INFO] Fleet Insights server is running
2024-11-24 06:40:59 UTC: [ora19] [12602] [MANAGE_APP] [INFO] Collection processing engine is running
2024-11-24 06:40:59 UTC: [ora19] [12602] [] [INFO] All AHF Fleet Insights processes for component(s): all are running.
+------------------------------+---------+
| Component                    | Status  |
+------------------------------+---------+
| Fleet Insights server        | Running |
+------------------------------+---------+
| Collection Processing Engine | Running |
+------------------------------+---------+

정상적으로 Running 상태임
참고로 현재 AHFFI는 로컬 시간대(KST)가 아닌 협정 세계시(UTC)를 사용하여 운영되고 있음

 

 

수집 서버에서 방화벽 해제

1
# systemctl stop firewalld

 

 

4. ahffi에 대상 서버(클라이언트) 추가 등록
수집 서버에서 ahffi 정보 확인

1
2
3
$ ahffi info
Application URL      : https://ora19:5005/ahfservice
Registration command : ahf configuration set --type fleet-insights --user-name <generic registration user> --url https://ora19:5005

 

 

대상 서버의 /etc/hosts에 ahffi 서버 정보 등록

1
2
# cat /etc/hosts
192.168.137.19 ora19

 

 

대상 서버에서 root 유저로 등록작업 수행(rac)
ex) ahf configuration set --type fleet-insights --user-name --url https://demo.oracle.system.com:5000

1
2
3
4
# ahf configuration set --type fleet-insights --user-name genuser --url https://ora19:5005
Enter fleet insights registration user password:  <<--- genuser 유저 패스워드 입력(Txptmxm1!)
Re-enter fleet insights registration user password:  <<--- genuser 유저 패스워드 재입력(Txptmxm1!)
Successfully registered.

 

 

등록됬는지 확인

1
2
# ahf configuration check --type fleet-insights
Parameters for 'fleet-insights' are configured correctly

정상적으로 등록됨

 

 

*참고용
rac의 경우 노드 하나만 입력해주면 자동으로 다 등록되는듯함
rac 2번 노드에서 입력시 아래와 같은 에러 발생함

1
2
3
4
5
6
7
8
# ahf configuration set --type fleet-insights --user-name test --url https://ora19:5005
Enter fleet insights registration user password:
Re-enter fleet insights registration user password:
AHF-00000: internal error encountered
Cause:     Internal error 'AHF-02019: request error: ['namespace oel19db already exists']
Cause:     The SDK encountered an error with the connection with server.
Action:    Review the server status and data provided and reissue the command.' encountered.
Action:    Open a Service Request and provide the log file to Oracle Support.

 

 

grid가 기동중이지 않은 경우에 일반 유저에서 명령어 실행시 아래와 같은 에러 발생함

1
2
3
4
5
6
7
8
9
$ ahf configuration set --type fleet-insights --user-name genuser --url https://ora19:5005
Enter fleet insights registration user password:
Re-enter fleet insights registration user password:
AHF-00000: internal error encountered
Cause:     Internal error 'AHF-02016: crsctl error: crsctl finish on error:
 
Cause:     The SDK encountered a crsctl execution error.
Action:    Open a Service Request and provide the log file to Oracle Support.' encountered.
Action:    Open a Service Request and provide the log file to Oracle Support.

 

 

root 유저가 아닌 일반 유저에서 configuration set 명령어 실행시 에러발생함

1
2
3
4
5
6
$ ahf configuration set --type fleet-insights --user-name genuser --url https://ora19:5005
Enter fleet insights registration user password:
Re-enter fleet insights registration user password:
AHF-00000: internal error encountered
Cause:     Internal error ''NoneType' object is not subscriptable' encountered.
Action:    Open a Service Request and provide the log file to Oracle Support.

 

 

root 유저가 아닌 일반 유저에서 configuration unset 명령어 실행시 에러발생함

1
2
3
4
5
6
$ ahf configuration unset --type fleet-insights
AHF-00005: infrastructure error
Cause:     There was an error in the software stack.
AHF-00005: infrastructure error
Cause:     There was an error in the software stack.
Action:    Open a Service Request and provide the log file to Oracle Support.

 

 

5. 웹 인터페이스 확인
ahffi info에 나온 주소로 접속
기본 로그인 id/password : fleet_admin/welcome1
초기 로그인 이후 pw를 변경해야함
Fvmfflt1!으로 변경함

 

 

패스워드 변경 후 로그인하면 help 페이지가 표시됨

 

 

우측 상단 - admin 선택

 

 

monitoring 선택

 

 

우측 상단에서 조회할 날짜 선택 - Time range 에서 1 Day 를 선택함

 

 

현재 db를 실행한지 얼마 안되서 별다른 데이터가 없음

 

 

대상 서버에서 설정된 수집 cron 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# tfactl refreshconfig listcrons
 
TFA CRON item:
Name:     id001
Command:  ahf analysis create --type insights
Schedule: 0 3 * * 1
Active:   false
 
TFA CRON item:
Name:     id002
Command:  tfactl diagcollect -srdc insights -last 12h -silent -tag DAILYINSIGHTS
Schedule: 0 5,17 * * *
Active:   false
 
TFA CRON item:
Name:     fleet-insights
Command:  tfactl diagcollect -srdc insights -last 12h -silent -tag PERIODICPERFDATA_#TFADEFAULTTAG#
Schedule: 0 5,17 * * *
Active:   true
 
TFA CRON item:
Name:     AUTOSTART_CLIENT
Command:  /opt/oracle.ahf/bin/orachk -usediscovery -syslog -tag autostart_client -readenvconfig -autorun_id AUTOSTART_CLIENT
Schedule: 3 3 * * 0
Active:   true
 
TFA CRON item:
Name:     AUTOSTART_CLIENT_ORATIER1
Command:  /opt/oracle.ahf/bin/orachk -usediscovery -profile oratier1 -syslog -dball -showpass -tag autostart_client_oratier1 -readenvconfig -autorun_id AUTOSTART_CLIENT_ORATIER1
Schedule: 3 2 * * 1,2,3,4,5,6
Active:   true

 

 

위에 나온 명령어로 수동 수집 수행
(기존에 12시간 이내에 수집되있는 tfactl 결과를 ahffi 로 업로드함)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# tfactl diagcollect -srdc insights -last 12h -silent
 
Components included in this collection: CHA INSIGHTS CHMOS
 
Preparing to execute support diagnostic scripts.
 
Please use "/oracle/app/grid/19c/bin/tfactl print actions" to monitor the status of this run.
 
 
Collecting data for all node(s).
 
TFA is using system timezone for collection, All times shown in KST.
Scanning files from 2025-01-04 05:55:28 KST to 2025-01-04 17:55:28 KST
 
Collection Id : 20250104175534oel19db1
 
Detailed Logging at : /oracle/app/oracle/oracle.ahf/data/repository/srdc_insights_collection_Sat_Jan_04_17_55_36_KST_2025_node_all/diagcollect_20250104175534_oel19db1.log
 
Waiting up to 60 seconds for collection to start

 

 

수동으로 ahffi 에 업로드할 tfactl 한번 더 수집

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# tfactl diagcollect -insight -onlyrequestedcomponents
-insight Will be deprecated in upcoming AHF versions. Please use -insights
AHF was unable to find recent compliance data for the insights report.
Gathering compliance data in Lite mode for Insights which may take up to ~30 minutes
Enhancing system health: AHF compliance quietly at work in the background. Progress can be tracked in /oracle/app/oracle/oracle.ahf/data/oel19db1/diag/ahf_insights/user_root/ahf_compliance_lite_run_output_040125_175704.log.
Gathering compliance data for Insights completed.
AHF is now generating the Insights report.
 
Collecting data for all nodes
 
TFA is using system timezone for collection, All times shown in KST.
Scanning files from 2025-01-04 16:04:15 KST to 2025-01-04 18:04:15 KST
 
Collection Id : 20250104180421oel19db1
 
Detailed Logging at : /oracle/app/oracle/oracle.ahf/data/repository/collection_Sat_Jan_04_18_04_27_KST_2025_node_all/diagcollect_20250104180421_oel19db1.log
 
Waiting up to 60 seconds for collection to start
2025/01/04 18:04:40 KST : NOTE : Any file or directory name containing the string .com will be renamed to replace .com with dotcom
2025/01/04 18:04:40 KST : Collection Name : tfa_Sat_Jan_04_18_04_24_KST_2025.zip
2025/01/04 18:04:40 KST : Collecting diagnostics from hosts : [oel19db1, oel19db2]
2025/01/04 18:04:41 KST : Getting list of files satisfying time range [01/04/2025 16:04:15, 01/04/2025 18:04:15]
2025/01/04 18:04:41 KST : Collecting Additional Diagnostic Information...
2025/01/04 18:04:53 KST : Completed Collection of Additional Diagnostic Information...
2025/01/04 18:04:56 KST : Completed Collection of Additional Diagnostic Information for Insights...
2025/01/04 18:05:01 KST : Collecting ADR incident files...
2025/01/04 18:05:02 KST : Completed Local Collection
2025/01/04 18:05:02 KST : Not Redacting this Collection...
2025/01/04 18:05:02 KST : Remote Collection in Progress...
2025/01/04 18:05:02 KST : Collection completed on host: oel19db2
2025/01/04 18:05:02 KST : Executing Creation of insights zip with timeout of 900 seconds...
2025/01/04 18:05:17 KST : Finished creation of insights zip with status 0
2025/01/04 18:05:17 KST : Report oel19db1_insights_2025_01_04_18_05_03.zip added to oel19db1.tfa_Sat_Jan_04_18_04_24_KST_2025.zip
2025/01/04 18:05:18 KST : Collection completed on host: oel19db1
2025/01/04 18:05:17 KST : Completed collection of zip files.
 
.-------------------------------------.
|          Collection Summary         |
+----------+-----------+-------+------+
| Host     | Status    | Size  | Time |
+----------+-----------+-------+------+
| oel19db2 | Completed | 2MB   |  16s |
| oel19db1 | Completed | 2.2MB |  22s |
'----------+-----------+-------+------'
 
Logs are being collected to: /oracle/app/oracle/oracle.ahf/data/repository/collection_Sat_Jan_04_18_04_27_KST_2025_node_all
/oracle/app/oracle/oracle.ahf/data/repository/collection_Sat_Jan_04_18_04_27_KST_2025_node_all/oel19db2.tfa_Sat_Jan_04_18_04_24_KST_2025.zip
/oracle/app/oracle/oracle.ahf/data/repository/collection_Sat_Jan_04_18_04_27_KST_2025_node_all/oel19db1.tfa_Sat_Jan_04_18_04_24_KST_2025.zip

 

 

tfactl 결과를 ahffi 로 업로드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# tfactl diagcollect -srdc insights -last 12h -silent
 
Components included in this collection: CHA INSIGHTS CHMOS
 
Preparing to execute support diagnostic scripts.
 
Please use "/oracle/app/grid/19c/bin/tfactl print actions" to monitor the status of this run.
 
 
Collecting data for all node(s).
 
TFA is using system timezone for collection, All times shown in KST.
Scanning files from 2025-01-04 07:43:10 KST to 2025-01-04 19:43:10 KST
 
Collection Id : 20250104194321oel19db1
 
Detailed Logging at : /oracle/app/oracle/oracle.ahf/data/repository/srdc_insights_collection_Sat_Jan_04_19_43_26_KST_2025_node_all/diagcollect_20250104194321_oel19db1.log
 
Waiting up to 60 seconds for collection to start

 

 

다시 web 인터페이스 확인

 

 

그래프 점부분에 마우스를 올리면 정보가 표시됨

 

 

클릭해보면 아래와 같이 표시됨

내가 ahffi로 업로드한 시간은 KST 2025-01-04 19:43 인데 웹 인터페이스에서는 UTC 2025-01-04 10:44 으로 표시됨
이부분은 추후 수정되지 않을까 싶음

이외 다른 기능들은 메뉴얼을 보고 확인해보길 바람

 

 

결론 :
AHF Fleet Insights(AHFFI)는 데이터베이스 플릿을 효율적으로 관리하고 문제를 빠르게 진단할 수 있는 강력한 도구임
ahffi를 이용해 여러 서버에서 생성된 tfa 결과들을 한페이지에서 손쉽게 확인할 수 있게됨
DB 사용량 등의 데이터를 EM에서 모아서 한페이지에서 보는것과 같은 기능임
ahffi의 기능들을 잘 숙지한다면 문제를 찾는 방면에서 유용하게 사용할 수 있을것 같음
현재 웹 인터페이스에서 UTC 표기를 사용하는 등 일부 시간 표기 차이는 있지만 추후 개선될것으로 보임

 

 

참조 : 

3043060.1
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahffi/index.html
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahffi/ahffi.html#GUID-964FE628-68D7-4CC4-82A9-FEE6F10E723B
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/index.html
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahffi/deregister-client-clusters.html
https://blogs.oracle.com/database/post/ahf-fleet-insights
https://www.oracle.com/kr/database/technologies/rac/ahf/faq/
https://www.youtube.com/watch?v=psVeKrFzCHs