ログファイルの解析

ログファイルの解析

私はプロセス/ユーザーリソースの利用に関するデータを保存するUbuntu用のシステム統計ツールを開発したいと思います。私はこのデータを私のログファイルに保存します(たとえば、プロセスのデータ収集用)。 Cプログラミング言語を使用してログファイルを解析する/var/log/<process>.logAPIがあるかどうかを知りたいです。procfsこれらのログファイルには、ユーザー名、プロセスID、CPU%、MEM%、I / Oなどが含まれます。

答え1

どのAPIが必要ですか?ログファイルはテキストです。役に立つと思われるテキスト解析ユーティリティ、スクリプト、または言語を使用します。

個人的に私が選択する言語はなのにawk、それは慣れているからだ。時には簡単grepsed十分な時もあります。

しかし、実際にはすべてがログで何をしたいかによって異なります。可能性は無限です。

答え2

あなたがあなたの私自身ログファイルも独自のAPIを作成する必要があると思います。

答え3

あなたのニーズとスキルに応じて選択できるさまざまなオプションがあります。

Perl - テキスト操作に理想的なスクリプト言語です。 PerlはしばしばSEDとAWKを使用します。

Awk - シェルスクリプトで簡単に使用できます。 awkはsedよりも少し複雑な構文を使用します(しかしまだ単純です)。 awkはsedよりはるかに高速です。

Sed - awkと同様に、sedもシェルスクリプトで使用できます。 Sedはほとんどの人が学びやすいです。

Python - 洗練されたロギングシステムが必要で、迅速な監査システムが必要な場合は、Pythonを試してください。しかし、Pythonがわからない場合は、学習に時間がかかります。

答え4

統合を検討することもできます。RRDツール)をあなたのワークフローに追加します。すでにあなたが探していることをたくさんやっているようです。オンラインにはよく文書化された例がたくさんあるので、始めるのはそれほど難しくありません。

関連情報