Oracle Cloud : 알림 서비스와 oci-cli를 사용하여 매 시간마다 DBCS 상태를 알립니다.
이번은 1시간마다 DBCS의 상태를 메일 통지하는 것으로, 너무 사용을 예방하기 위해 작성했습니다.
사실은 기동하고 있을 때만 1시간마다 통지하고 싶었습니다만, 이번 기사는 기동의 유무에 관계없이 1시간마다 계속 보내는 구현이 되고 있습니다.
DBCS를 사용할 때만 crontab을 움직이고, 정지하면 멈추는 조금 아날로그적인 사용법을 하고 있습니다만, 통지가 오면 낭비하지 않게 되었습니다.
순서로 인용시킨 기사는 이쪽
■이벤트·서비스와 통지의 사용법
[OCI] 이벤트 서비스 및 알림을 사용하여 ADB 인스턴스 시작 알림
■ DBCS 상태를 CLI로 가져오기
Oracle Cloud의 데이터베이스를 명령 줄 (CLI)에서 시작 및 중지했습니다.
작업 절차
1. "알림"설정
2. 주제 만들기
3. 구독 생성 및 활성화
4. OCI CLI에서 DB 노드의 상태 얻기
5. OCI CLI로 메시지 보내기
6. messeage 송신 동작 확인
7.crontab 설정
8.crontab의 동작 확인
이번에 사용한 서비스와 기술
· OCI 통지 서비스
· OCI CLI
· Oracle Database Cloud Service
· crontab
저자의 환경
Mac OS X 10.15.7
1. 「통지」설정 3. 서브스크립션의 작성·활성화
[OCI] 이벤트 서비스 및 알림을 사용하여 ADB 인스턴스 시작 알림 「통지」의 설정」부터 「구독의 유효화」까지를 실행
4. OCI CLI로 DB 노드의 상태 취득
Oracle Cloud의 데이터베이스를 명령 줄 (CLI)에서 시작 및 중지했습니다. "명령 실행 : 상태 확인"을 참조하여 상태를 얻습니다.
덧붙여 mikika씨 작성의 mydb.sh는 매우 편리하므로, DBCS를 사용할 때 매우 편리합니다.
매일 운용에 활용하겠습니다.
5. OCI CLI로 메시지 전송
OCI CLI에서 메시지를 보내는 쉘을 작성합니다.
--db-node-id의 OCID와 --topic-id의 OCID에 "xxx..."가 있습니다.
이것은 사용자 고유의 값입니다.
myons.sh
$ #!/bin/bash
dbcs_node_get=$(oci db node get --db-node-id ocid1.dbnode.oc1.ap-tokyo-1.xxx...)
oci ons message publish --topic-id ocid1.onstopic.oc1.ap-tokyo-1.xxx... --title "DBCS Info" --body "${dbcs_node_get}"
crontab에서 사용할 수 있도록 실행 권한을 변경합니다.
chmod 755 myons.sh
알림 서비스 주제 ID의 OCID가 나열된 위치
"콘솔"- "메뉴 바"- "응용 프로그램 통합"- "알림"
'알림'-'주제'-'주제 OCID'
6. messeage 송신 동작 확인
myons.sh를 실행하여 알림 서비스의 "구독"에 등록한 이메일 주소에 알림이 도착하는지 확인합니다.
7.crontab 설정
저자의 환경에서는 평소 crontab을 사용하지 않기 때문에 여러 가지 설정이 필요했습니다.
7-1. Mac의 시스템 환경 설정 변경
· "시스템 환경 설정"- "보안 및 개인 정보 보호"- "풀 디스크 액세스"를 엽니 다.
・팝업 윈도우 화면 좌하키의 마크를 클릭해, 유저명과 패스워드를 입력.
・「+」마크를 클릭
· Shift + Cmd + G를 입력하고/usr/sbin/cron 추가
7-2.crontab 편집
$ crontab -e
7-3.crontab에 다음 내용 추가
PATH를 추가하지 않으면 crontab을 실행할 때 "oci: command not found"가 발생합니다.
5. 작업으로 터미널에서 직접 쉘을 실행하면 발생하지 않으므로 요주의입니다.
PATH="/usr/local/bin/oci:/usr/local/bin:/usr/bin:/bin"
*/60 * * * * /Users/ipaccho/ons_instance_test.sh
「*/60」으로 60분마다 실행합니다.
8.crontab의 동작 확인
동작 확인시는 crontab의 설정을 「/60」에서 「/1」로 변경해, 1분에 메세지를 보냅니다.
동작 확인 후 「*/60」으로 되돌립니다.
다음을 실행하여 내용을 확인합니다.
오류가 없으면 아래와 같은 메시지가 표시됩니다.
메일러에도 6.과 같은 내용의 메일이 도착합니다.
cat /var/mail/ユーザー名
From [email protected] Mon Jan 11 23:55:07 2021
Return-Path: <[email protected]>
X-Original-To: ipaccho
Delivered-To: [email protected]
Received: by iPaccho-no-MacBook-Pro.local (Postfix, from userid 501)
id 711983003AFAA7; Mon, 11 Jan 2021 23:55:07 +0900 (JST)
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <ipaccho@iPaccho-no-MacBook-Pro> /Users/ipaccho/ons_instance_test.sh
X-Cron-Env: <PATH=/usr/local/bin/oci:/usr/local/bin:/usr/bin:/bin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <LOGNAME=ipaccho>
X-Cron-Env: <USER=ipaccho>
Message-Id: <[email protected]>
Date: Mon, 11 Jan 2021 23:55:07 +0900 (JST)
{
"data": {
"message-id": "8a0e2ed9-7978-0f27-6f70-d514bab143d2",
"time-stamp": null
}
}
You have mail in /var/mail/ipaccho
참고
Oracle Cloud Infrastructure Documentation Publishing Messages
Oracle Cloud Infrastructure 문서 알림 개요
Oracle Cloud Infrastructure Notifications
재게재
■이벤트·서비스와 통지의 사용법
[OCI] 이벤트 서비스 및 알림을 사용하여 ADB 인스턴스 시작 알림
■ DBCS 상태를 CLI로 가져오기
Oracle Cloud의 데이터베이스를 명령 줄 (CLI)에서 시작 및 중지했습니다.
Reference
이 문제에 관하여(Oracle Cloud : 알림 서비스와 oci-cli를 사용하여 매 시간마다 DBCS 상태를 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iPaccho/items/6be2ab6423268520a90c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)