15.6. 검증 프레임워크 로그 출력 포멧

유효성 검사 프레임워크의 기본 동작은 유효성 검사 로그를 JSON 형식으로 저장하는 것입니다. ANSIBLE_STDOUT_CALLBACK 환경 변수를 사용하여 로그 출력을 변경할 수 있습니다.

검증 출력 로그 포멧을 변경하려면 검증을 실행하고 --extra-env-vars ANSIBLE_STDOUT_CALLBACK=<callback> 옵션을 포함합니다.

$ openstack tripleo validator run --extra-env-vars ANSIBLE_STDOUT_CALLBACK=<callback> --validation check-ram

<callback>을 Ansible 출력 콜백으로 바꿉니다. 표준 Ansible 출력 콜백 목록을 보려면 다음 명령을 실행합니다.

$ ansible-doc -t callback -l

검증 프레임워크에는 다음과 같은 추가 콜백이 포함됩니다.

validation_json
프레임워크는 JSON 형식의 검증 결과를 /var/logs/validations의 로그 파일로 저장합니다. 이는 검증 프레임워크의 기본 콜백입니다.
validation_stdout
프레임워크는 화면에 JSON 형식의 검증 결과를 표시합니다.
http_json

프레임워크는 JSON 형식의 검증 결과를 외부 로깅 서버로 전송합니다. 이 콜백에 대한 추가 환경 변수도 포함해야 합니다.

HTTP_JSON_SERVER
외부 서버의 URL입니다.
HTTP_JSON_PORT
외부 서버의 API 진입점에 대한 포트입니다. 8989의 기본 포트입니다.

추가 --extra-env-vars 옵션을 사용하여 이러한 환경 변수를 설정합니다.

$ openstack tripleo validator run --extra-env-vars ANSIBLE_STDOUT_CALLBACK=http_json \
    --extra-env-vars HTTP_JSON_SERVER=http://logserver.example.com \
    --extra-env-vars HTTP_JSON_PORT=8989 \
    --validation check-ram
중요

http_json 콜백을 사용하기 전에 ansible.cfg 파일의 callback_whitelist 매개변수에 http_json을 추가해야 합니다.

callback_whitelist = http_json