Fellow of the Business Platform Development
LINE の Business Platform 開発担当フェローの Matsuno です。今回は Spring Boot でアプリケーションを開発した場合のメトリクスの勘所についてご紹介しようと思います。 我々のチームでは Kotlin + Spring Boot での開発がデファクトスタンダードとなっているのですが、正直まだまだこのテクニカルスタックで開発しているエンジニアは日本では少ないのです。そこで、実際の運用の雰囲気を感じていただければと思いまして今回の記事を書くことにしました。 メトリクス取得の基本 我々のチームではメトリクスの格納先として Prometheus を利用しています。Prometheus で格納したデータを元にアラートを発出したり、grafana でレンダリングしたりできるので便利です。後からクエリでデータを集計できるので、柔軟な運用が可能となっています。 Prometheus にデータを収集してもらうには Prometheus の形式でテキストデータを出力する HTTP のエンドポイントがあれば良いです。 具体的には以下のようなフォーマットで出力しま
LINE Engineer
みなさんこんにちは、LINEのサーバーサイドエンジニアの長谷部です。普段は、最近でいうとLINE Login や LINE Customer Connect などの開発を担当しています。 2018年の年始に LINEのお年玉 というイベントを実施し、その開発を担当しました。今回の記事では、LINEのお年玉のアーキテクチャの紹介や、当日実際に発生した問題(サービス過負荷起因のkafka consumer遅延)などの振り返りについて書こうと思います。 LINEのお年玉とは お年玉イベント期間中に、お年玉とLINEスタンプをセットで「お年玉つきスタンプ」として販売しました。対象スタンプを購入したユーザーさんは、スタンプ購入数 x 10個 のお年玉が付与されます。 こういったメッセージが受信されます ユーザーは自分がもっているお年玉を友だちに直接送ったりグループに送信することができ、お年玉を受け取って開封したユーザーは抽選で以下の報酬を得ることができます。 1等 100本 現金にて 1,000,000円 2等 1,000本 LINE Pay残高10,000円分 3等 10,
現在、開発者向けの便利なサーバーモニタリングシステムと通知システムの構築に携わっています。
こんにちは。LINE Fukuoka開発チームのPaul Traylorです。LINEファミリーアプリを支えるたくさんのサーバーのモニタリングを担当しています。この記事はLINE Advent Calendar 2017の25日目の記事です。 ほとんどの開発者にとって興味深いことといえば、コード作成や新機能の追加ではないかと思います。しかし機能が正常に動作しないときは、原因がわかれば役に立ちますよね。とはいえ、開発者が自分自身でモニタリングの設定を行うのは、そう簡単ではないときもあります。そこで私は、最高のパフォーマンスのためあらゆるサービスをモニタリングできるように、モニタリングの設定管理を簡単にすることに取り組んでいます。その一環として開発されたのが、Prometheusの設定を管理するためのツールであるPromgenです。これを利用すれば、モニタリングターゲットを簡単に登録したり、担当サービスのアラートを購読したりできます。 モニタリングの設定 ほとんどのサービスは導入時にはシンプルで小規模なものですが、時間が経つにつれ、数百台のサ ーバーにまたがる数十ものコンポーネントで構成され
macOSメニュバーの活用 こんにちは。LINE Fukuokaの開発チームで働いているPaul Traylorです。LINE に入社してからの主な仕事は、内部サーバのモニタリングシステムをPrometheusやGrafanaを利用してより使い勝手の良いものに改良することです。最終的には、個々の開発者が自分の通知を簡単に設定できるようにするのが狙いです。モニタリングシステムの管理担当者という仕事柄、異なる環境に構築された沢山のサーバや様々なチャートをこまめにチェックする作業が欠かせませんが、あらゆることに目を配るのはますます大変になってきています。そこでモニタリング作業の手間を省くことができるシンプルなツールを調べてみました。中でも私が重宝しているのは、BitBarと呼ばれるものです。このツールを利用して簡単なステータスプラグインを作っておくとだいたい何でもモニタリングできますので、 私が作成したプラグインについてご紹介します。 Pythonへのプラグイン実装 BitBarの要は、スクリプトから出力された結果を取得してカスタムメニューに表示することです。上記キャプチャ画面のように、メニ