回答:
これが私がこれらの言葉を使う方法です。その他には、追加または異なる使用法があります。手元の仕事に応じて、用語の使い方を変えます。開発チームと運用チームには、異なるニーズがあります。
モニタリングはモニタリングです。通常、それは進行中であり、できれば自動化されています。オープンソースのツールが好きMunin
、Nagios
と、MRTG
このカテゴリに分類されます。市販のツールもたくさんあります。sar
このカテゴリには継続的に実行することも含まれますが、その結果は通常監視されません。監視ツールを使用して、監視対象のリソースがトリガーレベルを上回ったり下回ったりしたときにアラートをトリガーできます。多くの監視ツールは、異種環境でうまく機能します。
プロファイリングは通常、特定のプログラムで実行され、どのコードが最もリソースを使用しているかを確認します。多くの場合、これはCPU時間ですが、メモリ、I / O、および実行(壁)時間も含めることができます。通常、最適化の候補コードを識別するために使用されます。プロファイリングツールは、言語やプラットフォームに依存する傾向があります。
ログや監視データを使用して、異なる種類のプロファイリングが行われます。これは使用状況のプロファイリングであり、さまざまな理由で実行できます。これを行うための多くのツールは見つかりませんでした。
いくつかの異なる方法でトレースを使用します。最も頻繁に、ネットワークルートをトレースします。ネットワークおよびファイアウォールの設定に応じて、さまざまなツールが使用されますが、多少の成功を収めます。これらのほとんどには、名前または説明にtracerouteがあります。
プログラムトレースとは、プログラムの実行をトレースすることです。これは通常、テスト状況で行われます。これはいくつかの方法で行うことができます(私の使用法と経験の順序で):
strace
どのコードが呼び出されるかを確認します。これは、プログラムが失敗する、または期待どおりに応答しない理由を判断するのに役立ちます。