僕らのサービスと一緒に育つMackerel氏

こんにちは。
ShareWisなんでもエンジニア、@kuchitamaこと国平です。

12月に入ってからScalaアドベントカレンダーの記事ばかり投稿していましたが、
今回の記事はMackerelアドベントカレンダー 10日目の記事です。

ShareWisのリニューアルについては、前回の記事の冒頭でお知らせしました。

そのリニューアル版の公開が間もなくということで、ドキドキしています。

しっかりとテストを行い、負荷試験も実施して、あとはリリースするだけなのですが、それでも予期せぬエラーが起こったり、サーバが急に停止したりするかもしれません。

そんな不安を解消するために、ShareWisではMackerelによるサーバ監視を行っています。

mackrel氏

Mackerelを導入したわけ

これまでのShareWisではサーバ監視にNewRelicを利用していました。

しかし、今回のリニューアルに伴って、サーバ監視についても見直しました。

いくつかの候補から、ShareWisの監視にはもっとも導入が簡単だったMackerelを採用しました。

MackrelAgentをAnsibleでインストールする

Mackerelのヘルプを見ていただければわかるのですが、Mackerelのインストールは非常に簡単です。

しかし、ShareWisはAWSを利用しており、ユーザ数の増加に合わせてサーバをスケールアウトできる構成になっています。

導入が簡単とはいえ、何度も手作業でインストールを行うのは面倒です。

そこで、ShareWisではAnsibleを利用して、サーバにMackerelのインストールを行うことにしました。

Mackerel公式のGalaxy Role

以前の記事でお伝えした通り、ShareWisのプロビジョニングにはAnsibleを利用しています。
AnsibleGalaxyにはMackerelが管理しているGalaxyRoleがあり、このRoleを利用してMackerelのインストールと設定を行うことにしました。

Galaxy|mackerel-agent

しかし、導入しようとした際に、一つ問題がありました。

このRoleは UbuntuやCentOSには対応していたのですが、AmazonLinuxには対応していませんでした。

別のRoleを探すか、自分でRoleを作成しようかとも思ったのですが、一通り実装を読んでみると、このRoleは非常にシンプルに実装されていました。

それに、同様の機能をもつRepositoryを量産するのもメリットがないので、AmazonLinuxにも対応できるように修正したPRを送りました。

また、このRoleを使うことで、agent-pluginを利用するための設定も簡単に行えるのですが、このRoleでは肝心のagent-plugin自体はインストールできませんでした。

これでは、片手落ちだと思ったので、agent-pluginをインストールする機能も作成してPRを送りました。

いきなりのPRだったので、マージされるまでに時間がかかるかと思っていたのですが、PRを出したその日のうちにマージしてもらえました。

ということで、MackerelのAnsible Galaxy Roleは、かなり扱いやすくなったんじゃないかと思います。

もし、サーバ監視にMackerelをご利用される際には、このRoleを使うといいでしょう。

これから

先週の告知ブログを読んでいて気づいたのですが、チェックプラグインを使うとログ監視もできるんですね。

現在ShareWisではログ監視にlogmonというIBM製のツールを利用しています。
もちろん、インストールにはAnsibleを利用しているのですが、ShareWis開発時点ではGalaxyにRoleがなかったので、作って公開しました。

https://galaxy.ansible.com/detail#/role/5870

しかし、Mackerelの通知機能を利用できるのは便利なので、近いうちにMackerelのログ監視機能を使おうと思います。

今のところ、MackerelのRoleはチェックプラグインのインストールに対応していないのですが、対応できるようにしようと思います。

Mackerelは非常に導入がシンプルなので、Ansibleのようなプロビジョニングツールの利用も非常にシンプルに実現できます。

そのため、自分の用途に足りないものがあった時にも、すぐに追加できます。

Mackerelチームの方々はPRにも、すぐに反応してくれるので、みなさんAnsibleRoleや他のMackerel関連のツールにもじゃんじゃんPRを送っていきましょう。

採用情報

株式会社シェアウィズでは、新しいメンバーの募集を積極的に行っています。フルタイムの勤務から学生インターンまで、ご関心をお持ちの方はお気軽にコンタクトしてください!

採用ページへ

フォローする