Red Hat Ansible 내부 보고 가이드
Red Hat 내부 보고 이해
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. Red Hat Ansible 내부 보고
Red Hat Ansible Inside 서브스크립션 요구 사항을 준수하려면 자동화 사용에 대한 메트릭 파일을 Red Hat에 보내야 합니다. 이 가이드에서는 수집된 데이터, 컬렉션 구현 방법 및 Red Hat으로 데이터를 반환하는 방법을 설명합니다.
1.1. 메트릭 정보
Ansible Inside는 자동화 작업에 대한 높은 수준의 사용 데이터를 저장합니다. Red Hat은 이 데이터를 사용하여 제품 개선 및 새로운 기능에 중점을 둘 위치를 식별합니다.
자동화 작업이 완료되면 작업에 대한 다음 정보를 저장하기 위해 메트릭이 수집됩니다.
- 자동화 작업의 유형, 기간, 시간입니다.
- 작업에 사용되는 컬렉션 및 역할의 이름과 사용되는 횟수입니다.
- 설치, 업데이트, 실패 및 건너뛰는 노드 수입니다.
- 작업 중에 발생한 이벤트입니다.
Red Hat은 IP 주소, 위치, 사용자 정보 또는 운영 체제 사양과 같은 개인 식별 정보(PII)를 수집하지 않습니다.
다음 아키텍처 다이어그램에서는 Python 애플리케이션 외부의 영구 데이터 스토리지에 데이터를 저장하여 Red Hat으로 전송하는 방법을 보여줍니다.

1.2. 메트릭 파일 정보
지표 데이터는 tarball 파일에 번들됩니다. 각 작업에 대해 별도의 파일이 생성됩니다. 파일의 내용을 볼 수 있습니다: 암호화되지 않습니다.
각 tarball 파일에는 다음과 같은 암호화되지 않은 CSV 파일이 포함되어 있습니다.
-
jobs.csv
는 자동화 작업의 기간 및 상태, 실행된 작업 수, 작업의 영향을 받는 호스트 수를 기록합니다. -
modules.csv
는 모듈 이름, 작업 수 및 기간을 기록합니다. -
collections.csv
: 컬렉션 이름, 작업 수 및 기간을 기록합니다. -
roles.csv
는 역할 이름, 작업 수 및 기간을 기록합니다. -
playbook_on_stats.csv
는 이벤트 ID와 데이터를 기록합니다.
2장. 지표 파일 위치
Red Hat에 보고 메트릭을 보고해야 합니다. Ansible SDK를 설치하면 자동화 작업의 로깅 메트릭이 자동으로 활성화됩니다. 비활성화할 수 없습니다.
자동화 작업이 실행될 때마다 새 tarball이 생성됩니다. 스토리지 위치에서 데이터를 스크랩하고 디렉터리의 크기를 모니터링할 책임이 있습니다.
플레이북을 실행하는 각 Python 파일의 지표 스토리지 위치를 사용자 지정하거나 기본 위치를 사용할 수 있습니다.
2.1. 메트릭 파일의 기본 위치
Ansible SDK를 설치하면 기본 메트릭 스토리지 위치가 ~/.ansible/metrics
디렉터리로 설정됩니다.
자동화 작업이 완료되면 디렉터리의 tarball에 지표가 작성됩니다. Ansible SDK는 디렉터리가 없는 경우 디렉터리를 생성합니다.
2.2. 메트릭 스토리지 위치 사용자 정의
플레이북을 실행하는 Python 파일에 메트릭 파일을 저장할 디렉터리의 경로를 지정할 수 있습니다.
모든 Python 자동화 작업 파일에 대해 다른 디렉터리 경로를 설정하거나 여러 작업의 tarball을 하나의 디렉터리에 저장할 수 있습니다. Python 파일에 경로를 설정하지 않으면 실행되는 작업의 tarball이 기본 디렉터리(~/.ansible/metrics
)에 저장됩니다.
절차
- 지표 데이터를 저장할 파일 시스템의 위치를 결정합니다. 위치를 읽고 쓸 수 있는지 확인합니다. Ansible SDK는 디렉터리가 없는 경우 디렉터리를 생성합니다.
Python 파일의
main()
함수의job_options
에서metrics_output_path
매개변수를 tarballs를 저장할 디렉터리로 설정합니다.다음 예에서 지표 파일은
pb.yml
플레이북이 실행된 후/tmp/metrics
디렉터리에 저장됩니다.async def main(): executor = AnsibleSubprocessJobExecutor() executor_options = AnsibleSubprocessJobOptions() job_options = { 'playbook': 'pb.yml', # Change the default job-related data path 'metrics_output_path': '/tmp/metrics', }
2.3. 메트릭 파일 보기
자동화 작업이 완료되면 데이터를 저장하기 위해 지정한 디렉터리로 이동하여 파일을 나열합니다.
새로 완료된 작업의 데이터는 자동화 작업이 실행된 날짜 및 시간으로 시작하는 tarball 파일에 포함되어 있습니다. 예를 들어 다음 파일은 2023년 3월 8일에 실행되는 자동화 작업의 데이터를 2.30AM으로 기록합니다.
$ ls 2023_03_08_02_30_24__aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa_job_data.tar.gz
tarball의 파일을 보려면 tar xvf
를 실행합니다.
$ tar xvf 2023_03_08_02_30_24__aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa_job_data.tar.gz x jobs.csv x modules.csv x collections.csv x roles.csv x playbook_on_stats.csv
다음 예제는 jobs.csv
파일을 보여줍니다.
$ cat jobs.csv job_id,job_type,started,finished,job_state,hosts_ok,hosts_changed,hosts_skipped,hosts_failed,hosts_unreachable,task_count,task_duration 84896567-a586-4215-a914-7503010ef281,local,2023-03-08 02:30:22.440045,2023-03-08 02:30:24.316458,,5,0,0,0,0,2,0:00:01.876413
매개변수 값을 사용할 수 없는 경우 CSV 파일의 해당 항목이 비어 있습니다. 위의 jobs.csv
파일에서 job_state
값을 사용할 수 없습니다.
3장. Red Hat에 데이터 보고
서브스크립션 계약을 체결하려면 .tar
파일을 회계 목적으로 Red Hat에 보내야 합니다. Red Hat 파트너 담당자가 Red Hat에 파일을 보내는 방법을 안내합니다.