8.2 cn=monitorを使用した監視

eDirectoryには、eDirectoryサーバの現在の状態を監視するためのLDAP検索メソッドが用意されています。eDirectoryは、eDirectoryサブシステムとバックグラウンドプロセス(スレッドプール、接続テーブル、DClient、DSエージェント、バックグラウンドプロセス、LDAPサーバなど)に関する有用なパフォーマンスメトリックおよびサーバ状態の情報を、cn=monitorのベースDNを持つエントリとして記録します。これらの統計情報をサーバから取得するには、cn=monitorの検索ベースを使用して検索要求を発行します。取得したこの統計情報を使用して、eDirectory環境を監視することができます。

重要:cn=monitorは仮想オブジェクトであり、eDirectoryツリーに実際に存在するわけではありません。このメソッドは、LDAPインタフェースを通してeDirectoryを監視する場合に使用できます。

eDirectoryサブシステムは、監視フレームワーク内のデータ生成元として登録されています。eDirectoryの登録済みデータ生成元を、表 8-1に示します。このフレームワークは、登録済みのすべてのデータ生成元からリアルタイムのデータを収集し、このデータの要求側(このデータのコンシューマ)と共有します。監視フレームワークは、検索要求に応じて動的にオブジェクトを収集して、cn=monitorのサブツリーに返します。各オブジェクトには、サーバの特定の側面についての情報が含まれています。一部のオブジェクトは他のオブジェクトのコンテナとして機能し、cn=monitorを最上位のオブジェクトとするオブジェクト階層を構築するために使用されます。監視フレームワーク、アクセス対象、およびその他のコントロールが提供する情報(LDAPサーバ固有の情報や接続固有の情報など)には、LDAPクライアントを使用してアクセスできます。eDirectoryでは、この検索要求を、NCPサーバオブジェクトのNDSRightsToMonitor属性に対する書き込み権を持つユーザに制限しています。

すべての登録済みデータ生成元からのデータには、ldapsearchまたは汎用のLDAPブラウザを使用してアクセスできます。

すべての登録済みデータ生成元の監視データを表示するには、ldapsearchコマンドを使用します。

ldapsearch -h <SrvIP> -p <port> -D <user dn> -w <password> -s sub -b cn=monitor

メモ:eDirectoryでは、cn=monitor検索でのデータフィルタリングをサポートしていません。再帰的に実行するようスケジュールされた一部のバックグラウンドプロセスについては、eDirectoryはcn=monitor検索の応答で、スケジュールされた回数分のプロセスを表示します。そのようなプロセスの一例は、SkulkerWorkerProcです。

8.2.1 監視統計情報の表示

ldapsearchは、すべての登録済みデータ生成元からのデータを、LDAP形式で、cn=monitorをベースとして使用して返します。LDAPサーバは、LDAPオブジェクト形式のデータコンシューマとしても機能します。

表 8-1には、データ生成元と、それに対応する、監視統計情報を格納しているパラメータがリストされます。eDirectoryと一緒に他の製品が設定されている場合は、データ生成元がこれ以外にも存在する可能性があります。

表 8-1 データ生成元と監視統計情報パラメータ

データ生成元

監視統計情報パラメータ

エージェント

  • バックグラウンドプロセス

  • パーティション

  • システムの状態

DHOST

次のDHOSTプロセスおよび接続情報が監視されます。

  • インバウンド接続

  • スレッドプール情報

    • ThreadsSpawned

    • ThreadsDied

    • ThreadsIdle

    • ThreadsWorkers

    • ThreadPeakWorkers

    • ThreadPoolReadyQueueItems

    • ThreadPoolReadyQueueMaxWaitTime

    • ThreadMinWaitTime

    • ThreadMaxWaitTime

DClient

  • アウトバウンドのコンテキスト

  • アウトバウンド接続

LDAP

  • バインディング

  • 着信操作

  • 発信操作

  • トラフィック量

レコードマネージャ

  • キャッシュ失敗表示

  • キャッシュ障害

  • 現在のサイズ、ヒット数

  • ヒット表示

  • キャッシュに保存された項目

  • 最大サイズ

  • OldVersionCachedCount

  • OldVersionCachedSize

  • DIbサイズ

  • チェックポイントスレッド

cn=monitorの検索ベースを使用して検索要求を発行すると、表 8-2に示されているように、監視フレームワークは検索要求の応答で、cn=monitorサブツリーのオブジェクトを動的に生成して返します。

表 8-2 cn=monitor検索で監視されるオブジェクト

オブジェクト名

説明

cn=Monitor

データを監視するルートレベルオブジェクト。

cn=Agent,cn=Monitor

ディレクトリサービスエージェントに関する情報を提供します。

cn=BackGroundProcInterval,cn=Agent,cn=Monitor

バックグラウンドプロセスに関する情報を提供します。(特定のプロセス、または通常はすべてのバックグラウンドプロセス)

cn=ARC resolve timer thread,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

詳細参照コストのバックグラウンドプロセスに関する情報を提供します。

cn=BacklinkProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

バックリンカのバックグラウンドプロセスに関する情報を提供します。

cn=CPU Usage monitor,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

CPU使用率のバックグラウンドプロセスに関する情報を提供します。

cn=CheckBacklinks,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

バックリンカのチェックのバックグラウンドプロセスに関する情報を提供します。

cn=CheckExtRefProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

外部参照のチェックのバックグラウンドプロセスに関する情報を提供します。

cn=ExtRefRefreshProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

外部参照の更新のバックグラウンドプロセスに関する情報を提供します。

cn=Janitor,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

ジャニタのバックグラウンドプロセスに関する情報を提供します。

cn=RunLimberUp,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

スケジュールリンバのバックグラウンドプロセスに関する情報を提供します。

cn=Limber,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

リンバ(コネクティビティチェック)のバックグラウンドプロセスに関する情報を提供します。

cn=HiConvergenceHeartBeat,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

Skulkerのスケジュールのバックグラウンドプロセスに関する情報を提供します。

cn=ObitProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

破損通知のバックグラウンドプロセスに関する情報を提供します。

cn=PartitionPurgeProcess,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

パーティションパージャのバックグラウンドプロセスに関する情報を提供します。

cn=Predicate Statistics Update,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

予測統計情報更新のバックグラウンドプロセスに関する情報を提供します。

cn=RNRAdvertise,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

アドバタイズサービスアドレスのバックグラウンドプロセスに関する情報を提供します。

cn=RefreshBinderyContext,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

バインダリ更新のバックグラウンドプロセスに関する情報を提供します。

cn=Repair Inactive Replicas,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

非アクティブレプリカの修復のバックグラウンドプロセスに関する情報を提供します。

cn=SchemaProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

スキーマ同期のバックグラウンドプロセスに関する情報を提供します。

cn=SkulkerProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

同期のバックグラウンドプロセスに関する情報を提供します。

cn=SkulkerWorkerProc,cn=BackGroundProcInterval,cn=Agent,cn=Monitor

同期のバックグラウンドプロセスに関する情報を提供します。

cn=Partition,cn=Agent,cn=Monitor

サーバ上のすべてのユーザパーティションに関する情報を提供します。同じ属性の値が複数ある場合、それは複数のパーティションがあることを意味します

cn=Status,cn=Agent,cn=Monitor

サーバのステータスに関する情報を提供します。

cn=DHOST,cn=Monitor

DHOSTサブシステムに関する情報を提供します。

cn=InBoundConnection,cn=DHOST,cn=Monitor

インバウンド接続テーブルの情報に関する情報を提供します。

cn=ThreadPool,cn=DHOST,cn=Monitor

DHOSTスレッドプール統計に関する情報を提供します。

cn=Dclient,cn=Monitor

サーバ側DClientに関する情報を提供します。

cn=OutBoundConnection,cn=Dclient,cn=Monitor

アウトバウンド接続テーブルの情報に関する情報を提供します。

cn=OutBoundContext,cn=Dclient,cn=Monitor

アウトバウンドコンテキストテーブルの情報に関する情報を提供します。

cn=LDAP,cn=Monitor

LDAPサーバの情報を提供します。

cn=LDAPStatistics,cn=LDAP,cn=Monitor

LDAPサーバの統計に関する情報を提供します。

cn=Bindings,cn=LDAPStatistics,cn=LDAP,cn=Monitor

LDAPサーバ上のバインディング統計に関する情報を提供します。

cn=IncomingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor

LDAPサーバ上の着信操作統計に関する情報を提供します。

cn=OutgoingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor

LDAPサーバ上の発信操作統計に関する情報を提供します。

cn=TrafficVolume,cn=LDAPStatistics,cn=LDAP,cn=Monitor

LDAPサーバのトラフィック量統計に関する情報を提供します。

cn=RecordManager,cn=Monitor

FLAIMデータベースに関する情報を提供します。

cn=Size,cn=RecordManager,cn=Monitor

FLAIMデータベースのサイズに関する情報を提供します。

cn=CheckPointThreadData,cn=RecordManager,cn=Monitor

チェックポイントスレッドに関する情報を提供します。

cn=CacheStatistics,cn=RecordManager,cn=Monitor

FLAIMデータベースのキャッシュ統計に関する情報を提供します。

cn=CacheFaultLooks,cn=CacheStatistics,cn=RecordManager,cn=Monitor

キャッシュ失敗表示の情報を提供します。

cn=CacheFaults,cn=CacheStatistics,cn=RecordManager,cn=Monitor

キャッシュ失敗の情報を提供します。

cn=HitLooks,cn=CacheStatistics,cn=RecordManager,cn=Monitor

キャッシュヒット表示の情報を提供します。

cn=Hits,cn=CacheStatistics,cn=RecordManager,cn=Monitor

キャッシュヒットの情報を提供します。

cn=ItemsCached,cn=CacheStatistics,cn=RecordManager,cn=Monitor

キャッシュに保存された項目数の情報を提供します。

cn=OldVersionCachedCount,cn=CacheStatistics,cn=RecordManager,cn=Monitor

古いバージョンのキャッシュに保存された項目数の情報を提供します。

cn=MaximumSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor

最大キャッシュサイズの情報を提供します。

cn=CurrentSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor

現在のキャッシュサイズの情報を提供します。

cn=OldVersionCachedSize,cn=CacheStatistics,cn=RecordManager,cn=Monitor

古いバージョンのキャッシュサイズの情報を提供します。

各オブジェクトには、サーバの特定の側面(接続やスレッドなど)についての情報が格納されます。監視統計情報が格納される属性を、表 8-3に示します。

表 8-3 統計情報を監視するための属性

属性

説明

BackgroundProcScheduled

バックグラウンドプロセスが次にスケジュールされている時刻。複数の値は、バックグラウンドプロセスが複数回スケジュールされていることを意味します。

BackgroundProcStartTime

次のバックグラウンドプロセスの開始時刻。複数の値は、バックグラウンドプロセスが複数回実行されることを意味します。

PerishableData

他のサーバと同期されていない状態のデータの量(秒単位で示されます)。

OBIT_NEWRDN_PURGEABLE

PURGEABLE状態のNEWRDN破損通知の数。

OBIT_NEWRDN_OK_TO_PURGE

パージ可能状態のNEWRDN破損通知の数。

OBIT_NEWRDN_NOTIFIED

NOTIFIED状態のNEWRDN破損通知の数。

OBIT_NEWRDN_ISSUED

ISSUED状態のNEWRDN破損通知の数。

OBIT_MOVED_PURGEABLE

PURGEABLE状態に移された破損通知の数。

OBIT_MOVED_OK_TO_PURGE

パージ可能状態に移された破損通知の数。

OBIT_MOVED_NOTIFIED

NOTIFIED状態に移された破損通知の数。

OBIT_MOVED_ISSUED

ISSUED状態に移された破損通知の数。

OBIT_DEAD_PURGEABLE

PURGEABLE状態で停止している破損通知の数。

OBIT_DEAD_OK_TO_PURGE

パージ可能状態で停止している破損通知の数。

OBIT_DEAD_NOTIFIED

NOTIFIED状態で停止している破損通知の数。

OBIT_DEAD_ISSUED

ISSUED状態で停止している破損通知の数。

OBIT_COUNT_FROM_DATABASE_INDEX

破損通知の合計数。

MaxRingDelta

レプリカリングの任意の2つのサーバ間で同期されていない状態のデータの最大量(秒単位で示されます)。

ChangeCacheCount

パーティション上の現在の変更キャッシュカウント。

eDirectoryUpTime

サーバ起動後の経過時間(秒数)。

eDirectorySystemCurrTime

サーバの現在のシステム時刻。

eDirectoryAgentVersion

カレントディレクトリサーバエージェントのバージョン。

MaxInBoundConnection

最大インバウンド接続。

InBoundConnectionCount

現在のインバウンド接続数。

ThreadsWorkers

スレッドプール内のワーカスレッド数。

ThreadsSpawned

生成されたスレッド数。

ThreadsIdle

アイドルスレッド数。

ThreadsDied

停止スレッド数。

ThreadWaitingQueuePeakItems

待機キュー内のスレッドの最大数。

ThreadWaitingQueueItems

待機キュー内の現在のスレッド数。

ThreadPoolReadyQueueMaxWaitTime

ReadyQueue内のスレッドの最大待機時間。

ThreadPoolReadyQueueItems

ReadyQueue内の現在のスレッド数。

ThreadPeakWorkers

プールワーカの最大数。

ThreadMinWaitTime

スケジュールされるまでのスレッドの最小待機時間。

ThreadMaxWaitTime

スケジュールされるまでのスレッドの最大待機時間。

TotalOpenOutBoundConnection

現在のオープンアウトバウンド接続数。

RefusedOutBoundConnection

拒否されたアウトバウンド接続数。

MaxOutBoundConnection

最大アウトバウンド接続数。

TotalOutBoundContextCount

最大アウトバウンドコンテキスト数。

ActiveOutBoundContextCount

現在のアウトバウンドコンテキスト数。

unAuthBinds

認証を省略した匿名バインド要求を受け取った回数。

strongAuthBinds

バインド要求のうち、強度の高い認証手続きであるSASLおよびX.500の認証に成功したものの回数。外部認証手続きによるものも数に含みます。

simpleAuthBinds

バインド要求のうち、簡易認証手続きにより認証に成功したものの回数。簡易認証手続きとは、パスワードを暗号化して、またはクリアテキストのまま送ることにより行うものです。

bindSecurityErrors

バインド要求のうち、認証手続きが適切でない、あるいは資格情報が無効であるために拒否したものの回数。

wholeSubtreeSearchOps

受け取ったサブツリー全体の検索要求の数。

searchOps

受け取った検索要求(ベースオブジェクト検索、1レベル検索、サブツリー全体の検索)の数。

removeEntryOps

受け取ったエントリ削除要求の数。

readOps

受け取った読み出し要求の数。

oneLevelSearchOps

受け取った1レベル検索要求の数。

modifyRDNOps

受け取ったRDN(相対識別名)変更要求の数。

modifyEntryOps

受け取ったエントリ変更要求の数。

listOps

受け取ったリスト要求の数。

inOps

クライアントから受け取った要求の数。

extendedOps

拡張処理の回数。

compareOps

受け取った比較要求の数。

addEntryOps

受け取ったエントリ追加要求の数。

abandonOps

LDAPが破棄した要求の数。

referrals

処理要求に応じて返した参照の個数。

chainings

このeDirectoryサーバから他のeDirectoryサーバに転送した処理の数。

outBytes

インタフェース上の送信トラフィック(バイト単位)。クライアントやeDirectoryサーバへの応答と、他のeDirectoryサーバへの要求がこれに含まれます。

inBytes

インタフェース上の受信トラフィック(バイト単位)。クライアントからの要求と、他のeDirectoryサーバからの応答がこれに含まれます。

合計

FLAIMキャッシュに含まれる項目の合計数。

EntryCache

エントリキャッシュに含まれる項目の合計数。

BlockCache

ブロックキャッシュに含まれる項目の合計数。

TotalSize

FLAIMキャッシュに含まれる項目の合計サイズ。

EntryCacheSize

エントリキャッシュに含まれる項目の合計サイズ。

BlockCacheSize

ブロックキャッシュに含まれる項目の合計サイズ。

CheckPointThreadWritingDataBlocks

0は、そのチェックポイントがダーティブロックに書き込んでいないことを意味します。1は、そのチェックポイントがダーティブロックに書き込んでいることを意味します。

CheckPointThreadStartTime

チェックポイントスレッドの開始時刻。この値を確認する必要があるのは、チェックポイントスレッドが実行されている場合のみです。

CheckPointThreadLogBlocksWritten

書き込まれたログブロックの数。

CheckPointThreadIsRunning

0は、チェックポイントが実行されていないことを意味します。1は、チェックポイントスレッドが実行されていることを意味します。

CheckPointThreadIsForced

チェックポイントが強制されているかどうかを示します。

CheckPointThreadForceStartTime

チェックポイントの強制開始時刻。この値を確認する必要があるのは、チェックポイントが強制的に開始される場合のみです。

CheckPointThreadDirtyCacheBlocks

ダーティキャッシュブロックの数。

CheckPointThreadDataBlocksWritten

書き込まれたダーティブロックの数。

CheckPointThreadBlockSize

現在のブロックサイズ。

TotalDIBSize

FLAIMデータベースの合計サイズ。

DIBStreamFileSize

ストリームファイルの合計サイズ。

DIBRollBackFileSize

ロールバックファイルの合計サイズ。

DIBRflmFileSize

ロールフォワードログファイルの合計サイズ。

DIBFileSize

DIBファイルの合計サイズ。

以下に、LDAP検索の出力例を示します。

# LDAPv3
# base <cn=monitor> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
# BackGroundProcInterval, Agent, Monitor
dn: cn=BackGroundProcInterval,cn=Agent,cn=Monitor
slowSyncInterval: 1800
fastSyncInterval: 5
ServerStateUpThreshold: 1800
JanitorInterval: 120
HeartBeatSkulkInterval: 3600
FlatCleaningInterval: 43200
DRLInterval: 60
BacklinkInterval: 46800
objectclass: Top
objectclass: extensibleObject
# .GOOD-ONE., Partition, Agent, Monitor
dn: cn=.GOOD-ONE.,cn=Partition,cn=Agent,cn=Monitor
ChangeCacheCount: 0
objectclass: Top
objectclass: extensibleObject
# InBoundConnection, DHOST, Monitor
dn: cn=InBoundConnection,cn=DHOST,cn=Monitor
MaxInBoundConnection: 256
InBoundConnectionCount: 20
objectclass: Top
objectclass: extensibleObject
# ThreadPool, DHOST, Monitor
dn: cn=ThreadPool,cn=DHOST,cn=Monitor
ThreadsWorkers: 37
Monitoring
ThreadsSpawned: 3572
ThreadsIdle: 7
ThreadsDied: 3535
ThreadWaitingQueuePeakItems: 24
ThreadWaitingQueueItems: 20
ThreadPoolReadyQueueMaxWaitTime: 574529
ThreadPoolReadyQueueItems: 0
ThreadPeakWorkers: 90
ThreadMinWaitTime: 2
ThreadMaxWaitTime: 16394616
objectclass: Top
objectclass: extensibleObject
# OutBoundConnection, Dclient, Monitor
dn: cn=OutBoundConnection,cn=Dclient,cn=Monitor
TotalOpenOutBoundConnection: 17
RefusedOutBoundConnection: 0
MaxOutBoundConnection: 4294967295
objectclass: Top
objectclass: extensibleObject
# OutBoundContext, Dclient, Monitor
dn: cn=OutBoundContext,cn=Dclient,cn=Monitor
TotalOutBoundContextCount: 256
objectclass: Top
objectclass: extensibleObject
# Bindings, LDAPStatistics, LDAP, Monitor
dn: cn=Bindings,cn=LDAPStatistics,cn=LDAP,cn=Monitor
unAuthBinds: 6908
strongAuthBinds: 0
simpleAuthBinds: 4433475
bindSecurityErrors: 0
objectclass: Top
objectclass: extensibleObject
# IncomingOperations, LDAPStatistics, LDAP, Monitor
dn: cn=IncomingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor
wholeSubtreeSearchOps: 4426462
searchOps: 4426462
removeEntryOps: 0
readOps: 0
oneLevelSearchOps: 0
modifyRDNOps: 0
modifyEntryOps: 4
listOps: 0
inOps: 8901739
extendedOps: 0
compareOps: 0
addEntryOps: 5
abandonOps: 0
objectclass: Top
objectclass: extensibleObject
# OutgoingOperations, LDAPStatistics, LDAP, Monitor
dn: cn=OutgoingOperations,cn=LDAPStatistics,cn=LDAP,cn=Monitor
referrals: 0
chainings: 0
objectclass: Top
objectclass: extensibleObject
# TrafficVolume, LDAPStatistics, LDAP, Monitor
dn: cn=TrafficVolume,cn=LDAPStatistics,cn=LDAP,cn=Monitor
outBytes: 326809576
inBytes: 380249498
objectclass: Top
objectclass: extensibleObject
Monitoring
# CacheFaultLooks, RecordManager, Monitor
dn: cn=CacheFaultLooks,cn=RecordManager,cn=Monitor
TotalSize: 2699
EntryCacheSize: 2539
BlockCacheSize: 160
objectclass: Top
objectclass: extensibleObject
# CacheFaults, RecordManager, Monitor
dn: cn=CacheFaults,cn=RecordManager,cn=Monitor
TotalSize: 1948
EntryCacheSize: 1788
BlockCacheSize: 160
objectclass: Top
objectclass: extensibleObject
# CurrentSize, RecordManager, Monitor
dn: cn=CurrentSize,cn=RecordManager,cn=Monitor
TotalSize: 4849664
EntryCacheSize: 3866624
BlockCacheSize: 983040
objectclass: Top
objectclass: extensibleObject
# HitLooks, RecordManager, Monitor
dn: cn=HitLooks,cn=RecordManager,cn=Monitor
TotalSize: 656418775
EntryCacheSize: 489811630
BlockCacheSize: 166607145
objectclass: Top
objectclass: extensibleObject
# Hits, RecordManager, Monitor
dn: cn=Hits,cn=RecordManager,cn=Monitor
TotalSize: 449815580
EntryCacheSize: 283226835
BlockCacheSize: 166588745
objectclass: Top
objectclass: extensibleObject
# ItemsCached, RecordManager, Monitor
dn: cn=ItemsCached,cn=RecordManager,cn=Monitor
TotalSize: 1865
EntryCacheSize: 1691
BlockCacheSize: 174
objectclass: Top
objectclass: extensibleObject
# MaximumSize, RecordManager, Monitor
dn: cn=MaximumSize,cn=RecordManager,cn=Monitor
TotalSize: 200015872
EntryCacheSize: 100007972
BlockCacheSize: 100007900
objectclass: Top
objectclass: extensibleObject
# OldVersionCachedCount, RecordManager, Monitor
dn: cn=OldVersionCachedCount,cn=RecordManager,cn=Monitor
TotalSize: 7
EntryCacheSize: 3
BlockCacheSize: 4
objectclass: Top
objectclass: extensibleObject
# OldVersionCachedSize, RecordManager, Monitor
dn: cn=OldVersionCachedSize,cn=RecordManager,cn=Monitor
Monitoring
TotalSize: 21376
EntryCacheSize: 4448
BlockCacheSize: 16928
objectclass: Top
objectclass: extensibleObject
# search result
search: 2
result: 0 Success
# numResponses: 20
# numEntries: 19