さくらのクラウド向けPrometheus Exporterであるsakuracloud_exporterのv0.13をリリースしました。
主な変更点は以下2つです。
- ショートメッセージサービスのサポート
- GitHub Container Registryでのイメージ配布の開始
ショートメッセージサービスのサポート
ショートメッセージサービスとは
先月(2020年9月)に「さくらのクラウド ショートメッセージサービス(SMS)」が提供開始されました。
携帯電話番号をAPIまたはコントロールパネルから指定すると6桁の番号をスマートフォンや携帯電話に送信することができるサービスです。
2要素認証で使うよくあるアレですね。
こんな感じのメッセージが送られてきます。
6桁の数値はさくらのクラウド側で生成、またはAPI( or コンパネ)から指定することができます。
sakuracloud_exporterでのショートメッセージサービスのサポート
sakuracloud_exporterではショートメッセージサービスのサポートとして以下2つのメトリクスを追加しました。
sakuracloud_esme_info
: ESME自体の情報の参照用、常に1を返すsakuracloud_esme_message_count
: 処理したメッセージ送信リクエストの数
それぞれ以下のような値となります。
# HELP sakuracloud_esme_info A metric with a constant '1' value labeled by ESME information # TYPE sakuracloud_esme_info gauge sakuracloud_esme_info{description="description",id="123456789012",name="example",tags=",tag1,tag2,"} 1
# HELP sakuracloud_esme_message_count A count of messages handled by ESME # TYPE sakuracloud_esme_message_count gauge sakuracloud_esme_message_count{id="123456789012",name="example",status="All"} 4 sakuracloud_esme_message_count{id="123456789012",name="example",status="Accepted"} 2 sakuracloud_esme_message_count{id="123456789012",name="example",status="Delivered"} 2
sakuracloud_esme_message_count
の方にはラベルとしてstatus
という項目を設けています。
2要素認証SMSのAPIでは各メッセージごとにステータスを持っていますのでそれを集計してます。
// ショートメッセージサービスAPIレスポンスの例(ログ取得API) { "ESME": { "logs": [ { "messageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "status": "Delivered", <-- この値ごとに集計している "otp": "123456", "destination": "819012345678", "sentAt": "...", "doneAt": "...", "retryCount": 0 }, ... ] } }
メッセージ全体の件数はstatusがAll
のやつを見ればOKです。
GitHub Container Registryでのイメージ配布の開始
v0.13.1からDocker Hubでのイメージ配布に加えてGitHub Container RegistryでもDockerイメージの配布を行うようになりました。
当面は両方で配布しますが、将来的にはGitHub Container Registryに1本化するつもりです。
使い方は従来のイメージ指定部分にghcr.io
を付け加えるだけです。
# DockerHubのイメージを利用する場合(従来) $ docker run docker run <options> sacloud/sakuracloud_exporter # GitHub Container Registryを利用する場合 $ docker run <options> ghcr.io/sacloud/sakuracloud_exporter
既にドキュメント類もGitHub Container Registryを利用する方法に書き換えていますので、今からsakuracloud_exporterを利用し始める方はそちらをご利用ください。
余談: ESMEってなんの略?
今回追加されたショートメッセージサービスについてですが、さくらのクラウドAPI上ではesme
という名前になってます。
なんの略だろうと調べてみたら、どうもExternal Short Message Entityの略っぽいですね。
なるほど。。勉強になりました。
ということで今回は以上です。是非ご利用ください。