ログ収集用の「DNA」

オリジナル:ミス・スメル(WeChatパブリックアカウントID:xjjdog)、共有を歓迎します。転載してください。ソースは保管してください。

Xjjdogは、以下の8つの記事など、ログ収集に関する記事をかなり多く書いています。今日は主にログの分割についてご紹介します。このツールは強力ですが、着陸したときにのみ効果があります。

[1]非常に多くの監視コンポーネントがあり、常に適切な
[2] elkbの実務経験があり、複雑な構成ファイルのセット
[3]人間に火の使用を教えるために使用していたプロメテウスを提供し、現在、彼らは
[4]野生の花を警報するために懸命に働いています。私の花束
[5] 2wの長いテキスト、「コールチェーン」の開発経験をすぐに体験させましょう [6]このラウンドでは、スカイウォークが勝ちました
[7]不人気な機器パッケージ、関数d fried sky [8] マイクロサービス
がすべてではありません。ドメイン固有のサブセット

ログ収集は、すべての企業、特に軌道に乗っている企業に必要な基本コンポーネントです。しかし、ログ収集は何を収集したいですか?この情報を同等に扱う必要がありますか?

ログのカテゴリ

一般的に、ログに関して言えば、バックエンドのログが頭に浮かびます。ただし、バックエンドログのさまざまなニーズとログレベルに応じて、最終的なフローの方向と処理方法も異なります。

一般的なビジネスログ。この世界では、DEBUGログレベルでオンラインで実行しているプログラマーがいたるところにいることを知っておく必要があります。おしっこなどの実行中のアカウントを収集する必要はありません。つまり、ほとんどのビジネスログは無用です。このようなデータを処理するために必要なのは、統合ストレージの場所が1つだけであることです。

取得可能なビジネスログ。取得したビジネスログにはビジネス属性があります。たとえば、システムとサードパーティの支払いの間の接続によって生成された报文交互データ。通常の業務ログよりも有用ですが、データベースに保存する必要はなく、ESなどの大容量ストレージに収集するのが一般的な処理方法です。

それはあなたがESを収集したということではなく、kibanaそれを掛けるだけで完了です。また、この情報を取得する必要があります。つまり、フィールドには特定の意味が必要です。現時点普通字符串では役に立たないjsonため、仕様データのクラスに変換する必要があるため、特定の条件に従って統計を検索できます。

ESとmongoもこれをサポートしています。

ビジネスログの取得は構築の焦点であり、ログ出力コンポーネントの二次的な開発とカスタマイズは、連携して完了するために必要です。

以下は、可能な外観インターフェースです。

//输出携带参数的日志,参数为偶数,将会对其进行key,value配对。
LogMe.out("title","remark aa", "vendorid", 5, "storecode", "1011", "poscode", "POS1111", "version", "7.0.0.16");

//参数为奇数,放入_all字段,无法根据内容查找(要尽量避免此情况)
LogMe.out("test _all title","remark aa", "vendorid", 5, "storecode", "1011", "poscode", "POS1111", "version");

//手工组装参数(参数非常多时,建议此方式)
Map<String, Object> param = new HashMap<>();
param.put("vendorid", 5);
param.put("madetime", new Date());
param.put("orderno", 21731310830180019L);
LogMe.out("test map","remarkaa", param);

//error堆栈+参数,以上两个方法都可以追加异常栈
LogMe.out("error","remark error", new Exception("error"), "vendorid", "5", "storecode", "1011");
复制代码

例外ログ。例外ログは別のフローです。この種の情報を扱うと、2つの効果が得られると期待しています。1つは、異常なログをビジネス担当者がタイムリーに発見できること、もう1つは、異常なログを分析して後で分析できることです。したがって、トリガーされたログ処理チェーンと、検索タイプのコンテキストクエリが必要です。

APMはフロントエンドとターミナルに統合されており、コールチェーンの追跡と動作分析を実行できます。これは通常、エンドの全体的な分析です。有料やオープンソースを含め、市場にはそのような製品がたくさんあります。

さらに上には、いくつかの端末のログがあります。端末には、Android、IOS、およびその他のハンドヘルドデバイスが含まれます。WEB側と似ていますが、ツールチェーンが異なります。

行動ログ。一部のアプリを使用する場合は匿名发送使用数据-帮助我们提高デフォルトで前のオプションをオンにします最も詳細な行動データレコード。ユーザーがイベントをクリックするたびにログが生成され、これらのログは分析のためにサーバーに送信されます。この種のログのデータは一般に非常に大きいため、TSDB超大容量ストレージを使用して特別に処理および保存する必要があります。

端末例外ログ端末例外ログは、通常、技術的な活動です。アプリケーションの通常の操作中に生成された例外を収集するだけでなく、アプリケーションが異常終了したときにも例外情報を取得する必要があります。

各タイプのログには独自の使用シナリオがあり、バックエンドで使用されるテクノロジースタックも異なることがわかります。

何のため?

バックエンドログが収集された後、それらのほとんどは、開発または運用と保守を支援して問題を特定し、問題の分析にかかる時間を短縮するために使用されます。

クライアントログの収集に重点を置いています。

マイニングのためにハードウェアを密かに使用する悪質なアプリに加えて、Alipayのような大きな工場のソフトウェアもあり、あなたの写真を密かに撮ってあなたの声を録音します(自分で検索してください、それは本当だと思います)。目的は、ユーザーデータを収集し、ビッグデータと同様の活動に従事することです。iPhone自体と同様に、同様の機能があり、それほど重要でないものはデフォルトでチェックされています。

ほとんどのユーザーは自分の行動データに気づいていませんが、大量のデータが集約されると、製造業者は非常に香り高く、非常に感情的になります。もちろん、それは達成するためのテクニックであり、良心を非難する必要はありません。空が下がり、PR部門の大砲の餌がその上にあります。

通話の関係とパフォーマンスを改善するために使用されるツールであるAPMとは異なり、クライアントによって収集されるデータはより断片化され、ビジネスモデルはより多様です。

ユーザーのデータはとても貴重なので、何が収集されますか?どのように収集されますか?もちろん、アンケートを集めることではありません。ユーザーがクリックするたびに、ページの滞留時間も分析の対象になる場合があります。

ユーザーがソフトウェアをインストールするので、ユーザーのプライバシー、スクリーンショット、オーディオ、ビデオなど、ハードウェアを呼び出すデバイスが取得したデータなど、ハードウェア環境に関する情報も取得できます。したがって、収集されるデータは多様です。

1.ハードウェア情報

これはAndroidデバイスではより明白です。このデータを収集して、アプリとデバイスの関係、デバイスのバージョン、言語などを分析します。作業の焦点は、市場シェアの高いデバイスとバージョンに移行できます。また、製品を最適化するために、デバイスのCPU、メモリ、グラフィックスカードなどの情報を収集することもできます。

2.ソフトウェア環境

独自のソフトウェアソフトウェアバージョンに関する情報を収集しますユーザーがインストールした各ソフトウェアバージョンの数を分析することで、維持するバージョンと維持しないバージョン、さらに多くのバグがあるバージョンなどを決定できます。これは、多くの決定の基礎となります。

他のソフトウェアからの情報の収集より明白な例はCookieです。たとえば、百度でインフレータブル人形を検索しましたが、井東を開いたときに大人のおもちゃをお勧めしました。

3.機能監視

グレースケールまたは重要な機能を監視します。たとえば、新しいアイデアをオンラインで持っている場合、オンラインデータでそれを検証する必要があります。ログを分析することで、どの製品マネージャーのアイデアが非常に悪いかを判断できます。

4、LBS

ユーザーの位置データは非常に機密です。LBSはMomoを実現しました。ほとんどのアプリケーションでは、ロケーションデータを使用して、特定の地域、州、国における製品の人気と差別化を分析できます。

新しい製品要件をリリースするときは、要件の影響を評価するために、後のデータ追跡を検討する必要があります。リリース中にユーザーがインストールおよびアンインストールしたボリュームを含みます。これは、頭を軽く叩くことによってではなく、データによってサポートされています。

5.行動データ

数年前は、これはまだ比較的人気のある推奨機能でしたが、ディープラーニングのサポートにより、分析はより正確になりました。マシンはバックグラウンドで設定を静かに記録し、設定に対応する対応する出力を生成します。

終わり

要約すると、より包括的なロギングシステムの設計にはまだいくつかの課題があります。ビジネスログの種類が異なれば、分析方法や処理方法も異なり、データの最終的なフローも異なります。このフィールドについて詳しく知りたい場合は、記事の冒頭に記載されている記事を参照してください。xjjdogは、ログ仕様の観点からこのシステムを要約しようとします。

著者について:Miss Taste(xjjdog)、プログラマーが迂回することを許可しないパブリックアカウント。インフラストラクチャとLinuxに焦点を当てます。10年間のアーキテクチャと数百億の毎日の流れは、あなたと並行性の高い世界について話し合い、あなたに別の味を与えます。私の個人的なWeChat xjjdog0、さらなるコミュニケーションのために友達を追加することを歓迎します。

おすすめ

転載: juejin.im/post/5e93b6c3e51d4546f5790887