ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Marid は廃止予定で、2022 年 11 月 21 日に完全に廃止されます。詳細はコミュニティの投稿をご覧ください。
アトラシアンの拡張性プラットフォームをこれまでご利用になられたことがない場合は「拡張性プラットフォームとしての Opsgenie Edge Connector」をご参照のうえ、Opsgenie アカウントで実行する方法をご確認ください。
Marid をご利用で Opsgenie Edge Connector に移行する場合は「Opsgenie Edge Connector に移行する必要がある理由」をご参照ください。
OEC にはプロキシサーバー機能がありません。Marid のプロキシサーバー機能を使用している場合は、他のプロキシサーバーソリューションを使用する必要があります。参考までに、この目的のために使用できる一般的なツールには、FreeProxy、Squid、Nginx、Wingate、TinyProxy、Ultrasurf、Privoxy、Polipo、Apache Traffic Server があります。
OEC には Web サーバー機能がありません。次のチュートリアルは、DjangoServerを使用して同じ機能を実現するための基本的なデモンストレーションです。これは、無料のオープンソースWebフレームワークです。
Django サーバーをインストールします。
pip install Django==2.2.5
スクリプト サーバーを提供するプロジェクトを作成します。
django-admin startproject oecserver
手順 2 で作成したプロジェクトの下にスクリプト フォルダを作成して、実行するスクリプトをこのフォルダの下に追加します。この例では、
hello.py
コンソールに「Hello World!」と表示されるスクリプト フォルダの下に、上記が追加されます。
作成
views.py
をプロジェクトフォルダの下に作成します。 views.py には、次のコード行が含まれています。
view.py
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
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
import json,requests
from subprocess import Popen, PIPE, STDOUT
def hello():
command = ["python3","oecserver/scripts/hello.py","create" ]
try:
process = Popen(command, stdout=PIPE, stderr=STDOUT)
output = process.stdout.read()
exitstatus = process.poll()
if (exitstatus==0):
return {"status": "Success", "output":str(output)}
else:
return {"status": "Failed", "output":str(output)}
except Exception as e:
return {"status": "failed", "output":str(e)}
@csrf_exempt
def execute(request):
data = hello()
response = HttpResponse(json.dumps(data) , content_type='application/json', status=200)
return response
execute
メソッドは、HTTPリクエストを処理する主なメソッドです。これは、
hello
メソッドを呼び出してスクリプトを実行し、実行結果を HTTP 応答に追加します。上記と同じ方法で、他の言語で実装された任意の実行可能ファイルまたはスクリプトを実行できます。
urls.py を使用して、スクリプトに URL をバインドします。
urls.py
1
2
3
4
5
6
7
8
9
10
11
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from django.contrib import admin
from django.views import generic
from oecserver.views import execute #added
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^hello_api$', execute)
]
hello_api
バインドするURLです。
execute
次で実装された主なメソッドの名前です。
views.py
。
サーバーを起動します。次のコマンドの最後のパラメーターを操作することで、ホストとポート番号を変更できます。
python ./manage.py runserver 0.0.0.0:8000
以下のコマンドを実行して、サーバーをテストできます。
curl -i -X POST localhost:8000/hello_api -d '{"anyData":"data"}'
回答
1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Date: Mon, 16 Sep 2019 14:20:16 GMT
Server: WSGIServer/0.2 CPython/3.7.0
Content-Type: application/json
X-Frame-Options: SAMEORIGIN
Content-Length: 54
{"status": "Success", "output": "b'Hello, World!\\n'"}
上記の例は、移行の基本的なスターターチュートリアルに過ぎません。その他の機能や詳細については、DjangoのWebサイトをご確認ください。Django と Python SDK (または任意の他の SDK またはスクリプト) を使用することで、同じ動作を実現できます。
この内容はお役に立ちましたか?