sstore - Solaris Statistics Store
Oracle Solaris Statistics Store (sstore) は、統計リポジトリに含まれている統計およびイベント情報を取得、エクスポート、および表示する機能を提供します。
このマニュアルページには、sstore の機能の概要と、詳細な情報を含むマニュアルページへの参照が記載されています。
sstore 機能は、sstored(8) によって提供されます。デフォルトのシステム統計リポジトリは、svc:/system/sstore:default サービスによって管理されます。
Oracle Solaris Statistics Store は、統計ストア識別子 (ssid) として知られている識別子を使用します。詳細は、ssid(7) のマニュアルページを参照してください。ssid は、システムリソース、統計、およびイベントを指定します。ssid では、統計に対する統計的操作やイベントのフォーマットも指定できます。
ssid は sstore(1) コマンドおよび libsstore(3LIB) ライブラリコールによって使用されます。ssid は、ssid-metadata(7) のマニュアルページで説明されているように、メタデータを使用して定義できます。
たとえば、CPU 0 の使用率は次の ssid によって指定されます。
//:class.cpu//:res.id/0//:stat.usage
sstore list コマンドでは、ワイルドカードを使って名前空間を調査できます。名前空間の各要素はメタデータによって記述され、sstore info コマンドで一覧表示できます。
統計やイベントを取得したり出力したりするには、sstore コマンドの capture サブコマンドまたは sstore_data_read(3SSTORE) 関数を使用します。
統計が記録されるときはいつでも、履歴データとして保存されます。ただし、すべての統計がどの時点でもアクティブに収集 (取得) されるわけではありません。Collections (ssid-collection.json(5) で説明されている) では、それらの統計が永続的に取得されるように明示的に構成されることを記述します。
履歴統計は、CLI で sstore(1) コマンドの export サブコマンドを使って表示できます。
統計ストアによって取得されるデータは、一連のプロバイダから収集されます。各プロバイダは、それが提供する統計またはイベント用のネイティブな場所を名前空間内に持っています。ネイティブプロバイダの ssid は実装の詳細と見なされるため、デフォルトの出力には表示されません。ただし、プロバイダから得られる一部の統計は、ssid(7) の名前空間のより安定した場所にマップされます。
統計ストアによって次のプロバイダがサポートされています。
libkstatv2 ライブラリへの問い合わせによって入手できる kstat はすべて、統計ストアで自動的に使用可能になります。これらの統計は、kstatv2 ライブラリで提供された名前を使用して、//:class.kstat に格納されます。kstatv2 メタデータ (入手可能な場合) は継承されます。
/proc をときどきクエリーすることによって、プロセスが使用可能になります。これらの統計は、//:class.proc の下にあります。名前空間がポーリングによって取り込まれると、存続期間が短いプロセスは欠落する可能性があります。ユーザーが /proc の下にある pids を表示できない場合は、sstore を介してもそれらを表示できません。
いくつかの API では、ユーザーランドアプリケーションで統計を統計ストアに直接提供できます。C API では、ユーザーランドプログラムで共有メモリーの場所にあるカウンタベースの統計を更新できます。要求されると、sstored(8) はプロバイダの更新には関係なく、独自のペースで共有データをサンプリングします。これにより、統計の更新を非常に安価で行うことができ、ロックステップ更新にかかるパフォーマンスオーバーヘッドもなくなります。
詳細は、sstore_data_attach(3SSTORE) のマニュアルページを参照してください。
デフォルトでは、アプリケーション統計は //:class.app/<company/product/app> に作成されます。
//:class.app/solaris/ は Oracle Solaris による使用のために予約されています。
FMA のイベント、障害、欠陥、およびアラートは統計ストアによって消費され、//:class.event に含まれている統計ストアのコンシューマが使用できます。
DTrace 統計のフォーマットは現在非公開です。D scripts によって生成される統計は //:class.dtrace で使用できます。
sstore(1)、libsstore(3LIB)、ssid-metadata(7)、ssid-op(7)、sstoreadm(1)、sstored(8)