あなたの通話責任の追跡


電話技術者は、停電が顧客に影響を及ぼすサービスを確実にすることが起こるとき、防御の最初の線です.我々の最新のブログは、組織の呼び出しの回転で落とし穴を避けるのを助けることができるユースケースのいくつかを概説します.また、我々のアクセスを得るFree On-call Onboarding Checklist
一般的に、顧客とユーザーの信頼性をコミットするための組織の最初のステップは、オンコールの呼び出しを行うことの練習です.
Squadcastで我々は、単一のスケジュール内の複数のスケジューリング層を作成する機能と一緒に太陽、毎日、毎週、または分割シフトローテーションに従うなど、コールの回転の種類に多くのカスタムをサポートするプラットフォームを使用してコールの回転で私たち自身を使用します.
以下では、我々はいくつかの呼び出しの責任は、コールのスケジュールのスクリプトでは、誰がどのようなスラックチャネルを知っているとともに、特定のスケジュールのために呼び出し通知を送信する知ることに役立つコールスケジュールのスクリプトで表示することができます強調表示ユースケースのいくつかを強調表示しました.

スクリプトの目的


スクリプトの実行時に、すべてのシフトを介して与えられた平手打ちスケジュールを呼び出している人々のリストを取得し、スラックチャンネルに送信します.
注意してください、このスクリプトは、シフトの名前に応じてユーザーを分類しない、すなわち、どのユーザーがシフトの呼び出しにあると言うことはありません.
を利用するWho is On-Call API Squadcastの与えられた時間の呼び出しで人々のリストを取得します.

スクリプト入力


スクリプトはコマンドライン引数として設定JSONファイルをとります.
{
"REFRESH_TOKEN": "Squadcast Refresh Token which will be used to be make requests to Public APIs",
"SCHEDULE_NAME": "Name of the schedule for which we are getting the on-call people",
"SLACK_WEBHOOK_URL": "Slack incoming webhook URL for the channel to which we want to send the on-call notification"
}

ステップ


repoのクローン
‍ターミナルウィンドウを開き、次のコマンドを実行してrepoをクローンします.
$ git clone [email protected]:SquadcastHub/who-s-oncall-slack.git
2 .リフレッシュトークンの取得
注:あなたがアカウント所有者またはSquadcastアカウントの管理者である場合は、リフレッシュトークンを取得する手順に従ってください.あなたが利害関係者またはユーザーであるならば、トークンを得るために口座所有者または管理者と連絡をとってください.
i .あなたのSquadcastダッシュボードにログインして、プロフィールページに行きます.

IIここではAPIアクセストークンを見つけます.既に作成していない場合は、新しいAPIトークンを生成するをクリックします.

iii . RefreshRankトークンキーに対応する値に生成されたトークンをパースでコピーします.JSONファイル.

3 .スケジュール名の取得
I .プラットフォーム内のサイドバーからスケジュールを選択する

II画面の右側には、別のスケジュールのリストを作成することができますを参照してください.あなたが呼び出し元のリストのリストを取得するスケジュールの名前をコピーします.JSONファイル.

slack webhook urlを取得する
オープンユアSlack アプリ.
IIスクロールは、アプリケーションのセクションに取得する左側にサイドバー.アプリの横にある'+'ボタンをクリックします.

III .検索ボックスの「webhook」を検索します.入ってくるwebhooksの追加ボタンをクリックしてください.

下の写真のように見えるウェブページにリダイレクトされます.をクリックしてスラックボタンを追加します.

V .あなたは、あなたがメッセージを送るどのスラックチャンネルを選択するように頼まれるスクリーンに向けられます.一度完了したWebhookの統合をクリックしてください.

次の画面では、Webhook URLを取得します.paramsにコピーします.JSONファイル.

今、私たちは一度パームを持っています.JSONファイルの準備、次のスクリプトを構築し、cronを設定します.
注意:スクリプトのビルド
このスクリプトをビルドするには、システムにインストールされたGolangが必要になります.
あなたが既にそれを持っていない場合は、ダウンロードすることができますhere
スクリプトをビルドするには、スクリプトのディレクトリに移動して
$ go build
ビルドが成功すると、現在の作業ディレクトリにoncallという名前のバイナリが表示されます.このバイナリを実行するには、paramsへのパスを指定する必要があります.前の手順で設定したすべてのパラメータを含むJSONファイル.実行するコマンドは
$ ./oncall <path_to_params.json>
現在、スクリプト自体は、これを実行するときの設定を注意しません.それは外部で扱われる必要があります.そこで、このブログでは、Linuxシステムでcronジョブを設定する方法を説明します.
Linuxでcronジョブを設定する
12時の月曜ごとに組織でのオン・コール・ハンドオフが起こるとしましょう.したがって、このスクリプトを実行するのは意味があります.そうするためには、次の手順を実行します.
iターミナルをオープンし、次のコマンドを実行します
$ crontab -e
IIファイルエディタが端末で開きます.次の行をファイルにペーストして保存します.
0 12 * * 1 <path_to_binary> <path_to_params.json>
どこ

  • < PathRange Tools >バイナリスクリプトの絶対パス.

  • <説>Paramの絶対パス.JSONファイル.
  • crontabコマンドの使用方法の詳細についてはmanpage コマンドを実行する
    $ man crontab
    
    また、これらのブログを参照することがあります.
    https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/
    https://phoenixnap.com/kb/set-up-cron-job-linux
    注意:スクリプトの起動を自動化するが、スクリプトを頻繁に起動しないようにします.親指の規則として、1時間のタイムウィンドウで1回以上スクリプトを起動しないようにします.
    cronが設定されると、スクリプトの呼び出し時に新しいユーザーについて選択されたスラックチャネルに通知を取得します.

    Q & AS


    Googleのhangout/マイクロソフトチームのような他のチャットクライアントに通知を得ることができますか?
    スクリプトでは、NotifyStyle関数を自分の書いたNotifyHangoutまたはNotifySteam関数で置き換える必要があります.セットアップの詳細については、それぞれのチャットOPSプラットフォームのAPIドキュメントを参照する必要があります.
    どのように、私はシフトによってユーザー名を分類しますか?
    現在、APIはシフト名でグループ化をサポートしていません.後で私たちがAPIでそれをサポートするとき、我々は同様にスクリプトをアップデートします.
    私は複数のスケジュールのコールユーザーを得ることができますか?
    あなたは、単に複数のparamsを持つことができます.JSONファイルは、異なる構成で、複数の異なる構成でスクリプトを呼ぶためにcron仕事を構成します.
    たとえば、2つのparamsがある場合.絶対パス/home/params 1を持つJSONファイル.JSONのホーム.JSONのバイナリを/home/oncallにして、crontabファイルを
    0 12 * * 1 /home/oncall /home/params1.json
    0 12 * * 1 /home/oncall /home/params2.json
    
    これにより、多くのことをする柔軟性があります.
  • あなたは、別のスラックチャネルに別のスケジュールの通知を送信することができます.
  • 異なるスケジュールのcronsを同じ/異なる時刻で呼び出すことができます.
  • ロードマップ


    今まで明らかになるように、スラックに送られた通知は、我々のSquadcast APIをポーリングすることによって行われます.それはいくつかのフックによって駆動されたイベントではない.イベントフック駆動通知のincaseは、スケジュール内の任意の変更があるたびに、イベントが生成され、フックは、それがアクションを取る通知されます.サポートのフックの一部ですproduct roadmap .
    一旦イベントフック通知が利用できるならば、利点は以下の通りです:
    i .ユーザがスクリプトを実行するときに心配する必要はありません.
    IIスケジュールに不規則な突然の変更のincaseは、まだオンユーザーの通知を得ることができます.しかしポーリングの場合、それは定期的に行われます.それゆえに、どんな不規則な変化も見逃されるでしょう.

    呼び出しのスケジューリングを最大限に活用する


    回転型の任意の種類の呼び出し管理またはチームのスカッドキャストで合理化.ここでは、最初に我々は、搭乗手続きの上で私たちの呼び出しを開始しながら作成された簡単なチェックリストです.あなたがあなたのオン・コール・チームのためにこれを計画しているならば、彼らがピッチから始めて、それが構築されているように改善することから始められるようにするのは、最高です.アクセスFree On-call Onboarding Checklist はい.あなたが直接これを使用するか、現在のプロセスとニーズに合わせて微調整することを選択することができますのでご注意ください.
    我々はこれらのスクリプトを使用すると、問題に対応するためにあなたのチームのために可能な限り簡単にあなたの呼び出しの回転プロセスを定式化することができます願っています.私たちはhear from you に従うことができる他のベストプラクティスimproved on-call experience .
    Squadcast SRE用に構築されたインシデント管理ツールです.あなたのチームは、不要なアラートを取り除くことができる、関連する通知を受け取る、仮想事故の戦争室を使用してコラボレーションで作業し、tobookのように自動化ツールを使用して苦労を排除する.