タイトルだけ見ると何のこっちゃという感じですが、前提としてはこんな感じです。
- Mackerelチームではサービスに関するtweetを定期的に観測している
mackerelというクエリは鯖に関するものとmackerel.ioに関するものが混じるので、そのまま流していると困るmackerel.ioに関するものだけを機械学習でフィルタリングするsaba_disambiguatorというツールを作っていた
今回はこのツールのアップデートに関する話です。
複数の設定をできるように
当初はmackerelというクエリのみを定期的に見ていたのですが、周辺のサービスやOSSのtweetも見たいという要望がありました。例えば、Prometheusとか。Prometheusは意外と曖昧性があって、そのままTwitterで検索すると、荒野行動のチーム名に関するtweetがたくさん出てきます。世の中、色んなところに曖昧性が存在する。saba_disambiguatorは、曖昧性を解消した上で自分の欲しい結果に絞り込むツールなので、どんぴしゃな領域です。
mackerelやPrometheusをTwitterの検索クエリとしてそれぞれsaba_disambiguatorで設定したいところですが、これまではリソースを一つしか作れませんでした(deployで使っているSAMのパラメータが決め打ちだったため)。今回のアップデートで、適当に環境変数を変更することで複数の設定をできるようにしました。
色んなキーワードで設定できるようになったので、是非お試しください。
Secretの値を設定ファイルに書くのではなく、AWSパラメータストアから読むように変更
saba_disambiguatorを使うためには、TwitterのAPIを叩くためのconsumer_secretやaccess_secretを設定する必要があります。チームで管理する際には設定ファイルをgit管理したくなりますが、secretの生の値が入った設定ファイルをリポジトリに入れて管理するのはあまりよろしくありません。
そこで、secretをリポジトリに置くのではなく、AWSのパラメータストアに置くようにし、saba_disambiguatorの実行時にパラメータストアからsecretの値を引くように変更しました(設定ファイルにはパラメータストアのkeyの名前を書くようになりました)。
所感
saba_disambiguator、地味にアップデートを続けています。一昨年にリリース、昨年にアップデート、そして今回と約一年毎に何かしらいいアップデートができているので、来年くらいにまたさらによくできているといいな...!