25.4. 알림 유형
자동화 컨트롤러에서 지원되는 알림 유형은 다음과 같습니다.
각 알림 유형에는 고유한 구성 및 동작 의미 체계가 있습니다. 다양한 방법으로 테스트해야 할 수도 있습니다. 또한 각 유형의 알림을 특정 세부 정보 또는 알림을 트리거하는 일련의 기준으로 사용자 지정할 수 있습니다.
추가 리소스
사용자 지정 알림 구성에 대한 자세한 내용은 사용자 정의 알림 생성 을 참조하십시오. 다음 섹션에서는 각 알림 유형에 대한 자세한 내용을 제공합니다.
25.4.1. 이메일
이메일 알림 유형은 다양한 SMTP 서버를 지원하며 SSL/TLS 연결을 지원합니다.
이메일 알림을 설정하려면 다음 세부 정보를 제공합니다.
- 호스트
- 수신자 목록
- 보낸 사람 이메일
- port
- 시간 제한 (초): 최대 120초로 설정할 수 있습니다. 이는 자동화 컨트롤러가 실패하기 전에 이메일 서버에 연결을 시도하는 시간입니다.

25.4.2. Grafana
Grafana를 통합하려면 먼저 Grafana 시스템에서 API 키를 생성해야 합니다. 자동화 컨트롤러에 제공되는 토큰입니다.
Grafana 알림을 설정하려면 다음 세부 정보를 제공합니다.
- Grafana URL: http://yourcompany.grafana.com과 같은 Grafana API 서비스의 URL입니다.
- Grafana API 키: Grafana 시스템에서 먼저 API 키를 생성해야 합니다.
- 선택 사항: 대시보드 ID: Grafana 계정에 대한 API 키를 생성할 때 고유한 ID로 대시보드를 설정할 수 있습니다.
- 선택 사항: 패널 ID: Grafana 인터페이스에 패널과 그래프를 추가한 경우 여기에서 ID를 지정할 수 있습니다.
- 선택 사항: 주석 태그: 구성 중인 알림의 이벤트 유형을 식별하는 키워드를 입력합니다.
- SSL 확인 비활성화: SSL 확인은 기본적으로 켜져 있지만 대상 인증서의 진위 확인 기능을 해제할 수 있습니다. 내부 또는 개인 CA를 사용하는 환경에 대한 확인을 비활성화하려면 이 옵션을 선택합니다.

25.4.3. IRC
IRC 알림은 채널 또는 개별 사용자에게 메시지를 연결하고, 연결한 다음 연결을 끊는 IRC 봇의 형태를 취합니다. 알림 봇은 SSL 인증도 지원합니다. 봇은 현재 닉네임 식별 기능을 지원하지 않습니다. 채널 또는 사용자가 존재하지 않거나 온라인이 아닌 경우 알림이 실패합니다. 실패 시나리오는 연결을 위해 특별히 예약되어 있습니다.
IRC 알림을 설정하려면 다음 세부 정보를 제공합니다.
- 선택 사항: IRC 서버 암호: IRC 서버에 연결하려면 암호가 필요할 수 있습니다. 서버에 필요하지 않은 경우 비워 둡니다. IRC 서버 포트: IRC 서버 포트입니다. IRC 서버 주소: IRC 서버의 호스트 이름 또는 주소입니다. IRC 닉네임: 서버에 연결된 봇의 닉네임입니다. 대상 채널 또는 사용자: 알림이 전송되는 사용자 또는 채널 목록입니다.
- 선택 사항: SSL 확인 비활성화: 연결할 때 봇이 SSL을 사용하도록 하려면 확인합니다.

25.4.4. Mattermost
Mattermost 알림 유형은 Mattermost의 메시징 및 협업 작업 공간에 간단한 인터페이스를 제공합니다.
다음 세부 정보를 제공하여 Mattermost 알림을 설정합니다.
- 대상 URL: 게시된 전체 URL입니다.
- 선택 사항 : 사용자 이름: 알림에 대한 사용자 이름을 입력합니다.
- 선택 사항: 채널: 알림에 사용할 채널을 입력합니다.
- icon URL: 이 알림에 표시할 아이콘을 지정합니다.
- SSL 확인 비활성화: 대상 인증서의 진위 확인을 끕니다. 내부 또는 개인 CA를 사용하는 환경에 대한 확인을 비활성화하려면 이 옵션을 선택합니다.

25.4.5. PagerDuty
Pagerduty를 통합하려면 먼저 PagerDuty 시스템에서 API 키를 생성해야 합니다. 자동화 컨트롤러에 제공되는 토큰입니다. 그런 다음 자동화 컨트롤러에 제공되는 통합 키를 제공하는 서비스를 생성합니다.
다음 세부 정보를 제공하여 Pagerduty 알림을 설정합니다.
- API 토큰: 먼저 Pagerduty 시스템에서 API 키를 생성해야 합니다. 자동화 컨트롤러에 제공되는 토큰입니다.
-
PagerDuty 하위 도메인: Pagerduty 계정에 등록할 때 통신할 고유한 하위 도메인이 제공됩니다. 예를 들어 "testuser"로 등록한 경우 웹 대시보드는
testuser.pagerduty.com
에 있으며 APItestuser
를 전체 도메인이 아닌 하위 도메인으로 제공합니다. - API 서비스/통합 키: Pagerduty에서 생성된 API 서비스/통합 키를 입력합니다.
- 클라이언트 식별자: API 키 및 서비스를 사용하는 서비스를 식별하는 데 도움이 되도록 Pagerduty 서비스에 경고 콘텐츠와 함께 전송됩니다. 여러 통합에서 동일한 API 키 및 서비스를 사용하는 경우 유용합니다.

25.4.6. Rocket.Chat
Rocket.Chat 알림 유형은 Rocket.Chat의 협업 및 통신 플랫폼에 대한 인터페이스를 제공합니다.
다음 세부 정보를 제공하여 Rocket.Chat 알림을 설정합니다.
-
대상 URL:
POST된
전체 URL입니다. - 선택 사항: 사용자 이름: 사용자 이름을 입력합니다.
- 선택 사항: 아이콘 URL: 이 알림에 표시할 아이콘을 지정합니다.
- SSL 확인 비활성화: 대상 인증서의 진위 확인을 끕니다. 내부 또는 개인 CA를 사용하는 환경에 대한 확인을 비활성화하려면 이 옵션을 선택합니다.

25.4.7. Slack
Slack은 협업 팀 통신 및 메시징 도구입니다.
Slack 알림을 설정하려면 다음 세부 정보를 제공합니다.
- Slack 애플리케이션. 자세한 내용은 생성 방법에 대한 Slack 설명서의 빠른 시작 페이지를 참조하십시오.
- 토큰: 토큰입니다. 자세한 내용은 Legacy 봇 및 최신 토큰 유형 설명서 페이지의 봇 토큰에 대한 특정 세부 정보를 참조하십시오.
- 대상 채널: 한 줄에 하나의 Slack 채널입니다. 채널에는 파운드 기호(#)가 필요합니다. 특정 메시지에 응답하거나 스레드를 시작하려면 부모 메시지 ID가 상위 메시지 ID가 16자리인 채널에 상위 메시지 ID를 추가합니다. 점(.)은 10번째 숫자 뒤에 수동으로 삽입해야 합니다. 예를 들면 :#destination-channel, 1231257890.006423입니다.
알림 색상: 알림 색상을 지정합니다. 허용되는 색상은 16진수 색상 코드입니다(예: #3af 또는 #789abc). 봇 또는 앱이 설정된 경우 다음 단계를 완료해야 합니다.
- 앱으로 이동합니다.
- 새로 생성된 앱을 클릭한 다음 추가 기능 및 기능으로 이동하여 들어오는 Webhook, 봇 및 권한을 구성하고 작업 공간에 앱을 설치할 수 있습니다.

25.4.8. Twilio
Twilio는 음성 및 SMS 자동화 서비스입니다. 로그인할 때 메시지가 전송되는 전화번호를 생성해야 합니다. 그런 다음 프로그램 가능한 SMS 에서 메시징 서비스를 정의하고 이전에 생성한 번호를 연결할 수 있습니다.
이 번호 또는 다른 정보를 사용하여 임의의 번호로 보낼 수 있도록 허용하기 전에 이 번호 또는 기타 정보를 확인해야 할 수 있습니다. 메시징 서비스에는 상태 콜백 URL이 필요하지 않으며 인바운드 메시지를 처리하는 기능이 필요하지 않습니다.
개별(또는 하위) 계정 설정에 API 인증 정보가 있습니다. Twilio는 두 가지 인증 정보를 사용하여 API 요청을 보내는 계정을 확인합니다. 사용자 이름 역할을 하는 계정 SID 및 암호 역할을 하는 Auth 토큰 입니다.
다음 세부 정보를 제공하여 Twilio 알림을 설정합니다.
- 계정 SID: 계정 SID를 입력합니다.
- 계정 토큰: 계정 토큰을 입력합니다.
- 소스 전화 번호: 메시징 서비스와 관련된 번호를 "+15556667777" 형식으로 입력합니다.
- 대상 SMS 번호: SMS 수신을 원하는 번호 목록을 입력합니다. 10자리 전화 번호여야 합니다.

25.4.9. Webhook
Webhook 알림 유형은 사전 정의된 웹 서비스에 POST를
보내는 간단한 인터페이스를 제공합니다. 자동화 컨트롤러는 JSON 형식 의 관련 세부 정보가 포함된 데이터 페이로드와 함께 애플리케이션 및 JSON 콘텐츠 유형을 사용하여 이 주소에 POST
합니다. 일부 웹 서비스 API에서는 HTTP 요청이 특정 필드가 포함된 특정 형식이어야 합니다.
다음을 사용하여 Webhook 알림을 구성합니다.
-
POST
또는PUT
을 사용하여 HTTP 메서드를 구성합니다. - 발신 요청의 본문입니다.
- 기본 인증을 사용하여 인증을 구성합니다.
Webhook 알림을 설정하려면 다음 세부 정보를 제공합니다.
- 선택 사항: 사용자 이름: 사용자 이름을 입력합니다.
- 선택 사항: 기본 인증 암호:
-
대상 URL: Webhook 알림이
PUT
또는POST인 전체 URL을
입력합니다. - HTTP 헤더: 키와 값이 문자열인 JSON 형식으로 헤더를 입력합니다. 예를 들면 다음과 같습니다.
{"Authentication": "988881adc9fc3655077dc2d4d757d480b5ea0e11", "MessageType": "Test"}`.
{"Authentication": "988881adc9fc3655077dc2d4d757d480b5ea0e11", "MessageType": "Test"}`.
- SSL 확인 비활성화: SSL 확인은 기본적으로 켜져 있지만 대상 인증서의 진위 확인을 끄도록 선택할 수 있습니다. 내부 또는 개인 CA를 사용하는 환경에 대한 확인을 비활성화하려면 이 옵션을 선택합니다.
- HTTP 메서드: Webhook의 방법을 선택합니다.
- POST: 새 리소스를 생성합니다. 또한 다른 카테고리에 맞지 않는 작업에 대해 다양한 역할을 합니다. Webhook 서비스에 PUT 이 필요하지 않은 경우 POST 가 필요할 수 있습니다.
- PUT: 특정 리소스(ID별) 또는 리소스 컬렉션을 업데이트합니다. 리소스 ID를 미리 알고 있는 경우 PUT 을 사용하여 특정 리소스를 생성할 수도 있습니다.

25.4.9.1. Webhook 페이로드
Webhook 끝점에서 자동화 컨트롤러에서 다음 데이터를 보냅니다.
job id name url created_by started finished status traceback inventory project playbook credential limit extra_vars hosts http method
job id
name
url
created_by
started
finished
status
traceback
inventory
project
playbook
credential
limit
extra_vars
hosts
http method
다음은 자동화 컨트롤러에서 반환한 Webhook 메시지를 통해 시작된
알림의 예입니다.
{"id": 38, "name": "Demo Job Template", "url": "https://host/#/jobs/playbook/38", "created_by": "bianca", "started": "2020-07-28T19:57:07.888193+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Demo Inventory", "project": "Demo Project", "playbook": "hello_world.yml", "credential": "Demo Credential", "limit": "", "extra_vars": "{}", "hosts": {}}POST / HTTP/1.1
{"id": 38, "name": "Demo Job Template", "url": "https://host/#/jobs/playbook/38", "created_by": "bianca", "started":
"2020-07-28T19:57:07.888193+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Demo Inventory",
"project": "Demo Project", "playbook": "hello_world.yml", "credential": "Demo Credential", "limit": "", "extra_vars": "{}",
"hosts": {}}POST / HTTP/1.1
다음 데이터는 성공/실패
상태에 대해 Webhook 끝점에서 자동화 컨트롤러에서 반환합니다.
job id name url created_by started finished status traceback inventory project playbook credential limit extra_vars hosts
job id
name
url
created_by
started
finished
status
traceback
inventory
project
playbook
credential
limit
extra_vars
hosts
다음은 Webhook 메시지를 통해 자동화 컨트롤러에서 반환된 성공/실패
알림의 예입니다.
{"id": 46, "name": "AWX-Collection-tests-awx_job_wait-long_running-XVFBGRSAvUUIrYKn", "url": "https://host/#/jobs/playbook/46", "created_by": "bianca", "started": "2020-07-28T20:43:36.966686+00:00", "finished": "2020-07-28T20:43:44.936072+00:00", "status": "failed", "traceback": "", "inventory": "Demo Inventory", "project": "AWX-Collection-tests-awx_job_wait-long_running-JJSlglnwtsRJyQmw", "playbook": "fail.yml", "credential": null, "limit": "", "extra_vars": "{\"sleep_interval\": 300}", "hosts": {"localhost": {"failed": true, "changed": 0, "dark": 0, "failures": 1, "ok": 1, "processed": 1, "skipped": 0, "rescued": 0, "ignored": 0}}}
{"id": 46, "name": "AWX-Collection-tests-awx_job_wait-long_running-XVFBGRSAvUUIrYKn", "url": "https://host/#/jobs/playbook/46",
"created_by": "bianca", "started": "2020-07-28T20:43:36.966686+00:00", "finished": "2020-07-28T20:43:44.936072+00:00", "status": "failed",
"traceback": "", "inventory": "Demo Inventory", "project": "AWX-Collection-tests-awx_job_wait-long_running-JJSlglnwtsRJyQmw", "playbook":
"fail.yml", "credential": null, "limit": "", "extra_vars": "{\"sleep_interval\": 300}", "hosts": {"localhost": {"failed": true, "changed": 0,
"dark": 0, "failures": 1, "ok": 1, "processed": 1, "skipped": 0, "rescued": 0, "ignored": 0}}}