拡張機能
拡張パックの設定
通常のインストール後に拡張パックの機能を使用するには、構成ファイルを作成し、次のようにエージェントを再起動します。
MySQLサーバーリスト
MySQL/MariaDB モニタリングエージェントが利用可能です。
Web URLの性能チェック
WhaTapインフラエージェントは、与えられたWebアドレスに接続し、接続有無および応答時間を収集します。収集されたWeb URLの性能はカテゴリserver_webcheckで確認できます。次のコマンドでチェックするWebアドレスを追加します。URLモニタリングサービスの詳細については、次の文書を参照してください。
- Linux Shell
- Windows Powershell
echo "チェックするウェブアドレス" | sudo tee -a /usr/whatap/infra/conf/webcheck.conf
echo "webcheck.enabled=true" | sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
Add-Content -Path "C:\Program Files\WhatapInfra\webcheck.conf" -Value "チェックするウェブアドレス"
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "webcheck.enabled=true"
Restart-Service "Whatap Infra"
Redisインスタンス
WhaTapインフラエージェントは、特定のRedisアドレスに接続し、接続数を含む複数の性能指数を収集します。収集された性能情報は、カテゴリserver_redisで確認できます。次のコマンドでチェックするRedisサーバーの接続情報を追加できます。
- Linux Shell
- Windows Powershell
sudo echo "addr=Redisアドレス:ポート番号" | sudo tee /usr/whatap/infra/conf/redis.conf
sudo echo "password=Redisパスワード" | sudo tee -a /usr/whatap/infra/conf/redis.conf
sudo service whatap-infra restart
Add-Content -Path "C:\Program Files\WhatapInfra\redis.conf" -Value "addr=Redisアドレス:ポート番号"
Add-Content -Path "C:\Program Files\WhatapInfra\redis.conf" -Value "password=Redisパスワード"
Restart-Service "Whatap Infra"
Memcachedインスタンス
WhaTapインフラエージェントは、特定のMemcachedアドレスに接続し、接続数を含む複数の性能指数を収集します。収集された情報は、カテゴリserver_memcachedで確認できます。次のコマンドでチェックするMemcachedサーバーの接続情報を追加できます。
- Linux Shell
- Windows Powershell
sudo echo "addr=Memcachedアドレス:ポート番号" | sudo tee /usr/whatap/infra/conf/memcached.conf
sudo echo "password=Memcachedパスワード" | sudo tee -a /usr/whatap/infra/conf/memcached.conf
sudo service whatap-infra restart
Add-Content -Path "C:\Program Files\WhatapInfra\memcached.conf" -Value "addr=Memcachedアドレス"
Add-Content -Path "C:\Program Files\WhatapInfra\memcached.conf" -Value "password=Memcachedパスワード"
Restart-Service "Whatap Infra"
TCPポートモニタリング
ネットワークデーモンの受信ポートが無効になった場合に通知を受け取ることができます。
ホーム画面 > プロジェクトの選択 > アラート通知 > イベント設定 > サーバータブを選択し て、+ イベント設定追加ボタンを選択します。

-
ポート指標のトグルボタンをクリックして、使用状態に変更します。
-
保存ボタンを選択して保存します。
-
対象サーバーに、次のコマンドを追加します。
- Linux Shell
- Windows Powershell
#以下の変数にモニタリング対象IPを指定します。
export TARGET_IP=127.0.0.1
#以下の変数にモニタリング対象ポート番号を指定します。
export TARGET_PORT=80
echo "tcp.check.$TARGET_PORT=tcp://$TARGET_IP:$TARGET_PORT" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
#以下の変数にモニタリング対象IPを指定します。
$TARGET_IP="127.0.0.1"
#以下の変数にモニタリング対象ポート番号を指定します。
$TARGET_PORT="80"
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "tcp.check.${TARGET_PORT}=tcp://${TARGET_IP}:${TARGET_PORT}"
マルチポートモニタリング
複数のポートをモニタリングするためにはwhatap.confファイル内の追加設定が必要です。 次の例を参考にしてください。
# port 8080, port 80
tcp.check.8080=tcp://127.0.0.1:8080
tcp.check.80=tcp://127.0.0.1:80
プロセスFile Descriptor情報の収集
プロセスFile Descriptor情報は、サーバーリスト > サーバー 詳細画面のプロセスウィジェットで確認できます。
- Linux Shell
- Windows Powershell
echo "process.fdcheck=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
# 管理者権限が必要です。
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "process.fdcheck=true"
サーバースペック収集
CPU、MEMORY、DISK、NICの仕様とインストールされたパッケージおよび仮想マシンのメタ情報を収集します。 各カテゴリで、次の内容を確認できます。
server_package:インストールされているパッケージです。server_inventory:CPU、MEMORY、DISK、NICの仕様です。server_pending_security_update:Linuxのセキュリティパッチの待機リストです。
- Linux Shell
- Windows Powershell
echo "inventory.product.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
# 管理者権限が必要です。
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "inventory.product.enabled=true"
Linuxコンテナの性能収集
LinuxコンテナのCPU、MEMORY、DISK、NIC性能を収集します。収集された性能情報は 、カテゴリserver_containerで確認できます。
echo "container.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Windowsサーバーサービスの動作状態を収集する
ウィンドウサーバーサービスの運用状態を収集します。収集されたサービスの運用状態はカテゴリ server_windows_serviceで確認できます。
# 管理者権限が必要です。
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "winservice.enabled=true"
ファイルシステムの収集除外
収集する必要のないファイルシステムを正規表現で指定して除外できます。スナップショットマウントのように使用率が常に100%に近く報告されるファイルシステムを除外すると、不要なアラートとデータを減らせます。
filesystem.exclude.patternオプションに正規表現を入力してください。マウントポイントまたはデバイス名が正規表現と一致する ファイルシステムは、server_diskとinfra_filesystemの2つのカテゴリーの両方から除外します。
filesystem.exclude.pattern=^/snap/
| Item | Description |
|---|---|
filesystem.exclude.pattern | 収集から除外するファイルシステムのマウントポイント・デバイス名の正規表現。デフォルト値は空で、空の場合は除外しません |
正規表現が誤っている場合、エージェントはエラーをログに残し、オプションを適用しません。ファイルシステムの収集自体は継続して動作します。
サポートするエージェントバージョンは、Linux・Windowsは2.9.23以上、Unix(AIX・HP-UX・Solaris)は1.4.14以上です。設定を変更した後は、エージェントを再起動してください。
ファイルモニタリング
ファイルシステム上に存在または存在する可能性のあるファイルおよびディレクトリをモニタリングできます。
- Linux Shell
- Windows Powershell
echo "filecheck.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "モニタリングするファイルまたはディレクトリのフルパス" |sudo tee -a /usr/whatap/infra/conf/filesystem.conf
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "filecheck.enabled=true"
Add-Content -Path "C:\Program Files\WhatapInfra\filesystem.conf" -Value "モニタリングするファイルまたはディレクトリの全体パス"
監視パスの日付置換
監視パスに日付形式の文字を入れると、エージェントが収集時点の日付に置換して監視します。日付ごとにファイル名が変わるログのように、パスが毎日変わる対象を1つの設定で監視できます。ログ監視機能と同じ方式です。
/var/log/app/access_%Y%m%d.log
| Item | Description |
|---|---|
%Y | 年(4桁) |
%m | 月(2桁) |
%d | 日(2桁) |
%H | 時(2桁) |
日付が変わって監視対象のパスが変わった場合、以前のパスの状態と比較せず、新たに監視を開始します。
サポートするエージェントバージョンは、Linux・Windowsは2.9.23以上、Unix(AIX・HP-UX・Solaris)は1.4.14以上です。
WhaTapエージェントのログオプション
ログの保存場所
WhaTapエージェントログ(whatap_infrad.log、whatap_infra.log、whatap_infrad.fork.stdout.log)のパスを変更します。指定パスがない場合は、WhaTapエージェントは指定パスの作成を試みます。エージェント2.0.6バージョン以降に対応されています。
- Linux Shell
- Windows Powershell
echo "agent.log.prefix=変更するディレクトリ" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "agent.log.prefix=変更するディレクトリ"
Windowsの場合、パスの区切り文字を\\と入力できます。
ログ出力制御オプション
サーバーモニタリングエージェントのログは、デフォルトで /var/log ディレクトリ配下に保存されます。
以下のオプションを使用して、ログファイルのサイズ上限およびバックアップファイル数を調整できます。
- Linux / Windows
- Unix (AIX, HPUX, Solaris)
- Linux / Windows
- agent.log.size
- 既定値:10(単位:MB)
- agent.log.backupfile
- 既定値:2(単位:個数)
- agent.log.size
-
Unix(AIX、HPUX、Solaris)
- log.size
- 既定値:4(単位:MB)
- log.backup
- 既定値:3(単位:個数)
- log.size
-
AIX 追加ログオプション(errpt 収集ログ)
- aix.errpt.log.size=4
- 既定値:4(単位:MB)
- aix.errpt.log.backup=3
- 既定値:3(単位:個数)
- aix.errpt.log.size=4
Netstatモニタリング
netstatコマンドが入力された場合、1分間隔で収集され、カテゴリserver_netstat(netstat connection統計)、server_netstat_s(netstat -sコマンドの結果)がアップロードされます。
- Linux Shell
- Windows Powershell
echo "netstats.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "netstats.enabled=true"
ユーザースクリプトモニタリング
- Linux Shell
- Windows Powershell
Linuxサーバーで実行可能なユーザースクリプトを定期的に実行して結果をアップロードします。 ユーザースクリプトモニタリング機能は、決められたサイクルに従ってスクリプトを実行し、その結果を収集サーバーにアップロードします。 30秒周期間隔でスクリプトを実行して結果を収集します。
データはスクリプト実行が完了した時点を基準に収集され、実行するスクリプト内容によって実際の収集時刻とデータ反映時刻には一部差が生じることがあります。 次の例を参考にして、ユーザースクリプトを作成します。
-
スクリプトを次のように作成して実行してください。
Linux Shell#!/bin/bash
urls=("https://www.whatap.io" "https://blog.whatap.io" "https://service.whatap.io")
for url in ${urls[*]}; do
echo "M $url url $url"
curl -w @- -o /dev/null -s "$url" <<'EOF'
M %{url_effective} url %{url_effective}\n
H %{url_effective} time_namelookup %{time_namelookup}\n
H %{url_effective} time_connect %{time_connect}\n
H %{url_effective} time_appconnect %{time_appconnect}\n
H %{url_effective} time_pretransfer %{time_pretransfer}\n
H %{url_effective} time_redirect %{time_redirect}\n
H %{url_effective} time_starttransfer %{time_starttransfer}\n
H %{url_effective} time_total %{time_total}\n
EOF
done -
次のように出力されるか確認してください。
Linux Shell$ ./curl.sh
M https://www.whatap.io/ url https://www.whatap.io/
H https://www.whatap.io/ time_namelookup 0.007289
H https://www.whatap.io/ time_connect 0.010702
H https://www.whatap.io/ time_appconnect 0.033637
H https://www.whatap.io/ time_pretransfer 0.033831
H https://www.whatap.io/ time_redirect 0.000000
H https://www.whatap.io/ time_starttransfer 0.043230
H https://www.whatap.io/ time_total 0.043312
M https://blog.whatap.io/ url https://blog.whatap.io/
H https://blog.whatap.io/ time_namelookup 0.000000
H https://blog.whatap.io/ time_connect 0.000000
H https://blog.whatap.io/ time_appconnect 0.000000
H https://blog.whatap.io/ time_pretransfer 0.000000
H https://blog.whatap.io/ time_redirect 0.000000
H https://blog.whatap.io/ time_starttransfer 0.000000
H https://blog.whatap.io/ time_total 0.005654
M https://service.whatap.io/ url https://service.whatap.io/
H https://service.whatap.io/ time_namelookup 0.004296
H https://service.whatap.io/ time_connect 0.007282
H https://service.whatap.io/ time_appconnect 0.038404
H https://service.whatap.io/ time_pretransfer 0.038607
H https://service.whatap.io/ time_redirect 0.000000
H https://service.whatap.io/ time_starttransfer 0.055226
H https://service.whatap.io/ time_total 0.055307 -
スクリプトの正常収集を確認し、次のようにWhaTapサーバーのモニタリングエージェントにスクリプトを登録してください。
Linux Shellexport USER_SCRIPT=実行するユーザースクリプトのフルパス
suco chmod +x $USER_SCRIPT
sudo mkdir /usr/whatap/infra/ext/
sudo cp -r $USER_SCRIPT /usr/whatap/infra/ext/
export RUNAS_USER=ユーザースクリプトを実行するアカウント、rootアカウントを除く
sudo WHATAP_HOME=/usr/whatap/infra/conf /usr/whatap/infra/whatap_infrad --user=$RUNAS_USER init-script
sudo service whatap-infra restart
収集されたデータは、分析 > メトリクスチャートのカテゴリserver_ext_フォルダ_実行スクリプトで確認できます。
Windowsサーバーで実行可能なユーザースクリプトを定期的に実行して結果をアップロードします。 ユーザースクリプトモニタリング機能は、決められたサイクルに従ってスクリプトを実行し、その結果を収集サーバーにアップロードします。 30秒周期間隔でスクリプトを実行して結果を収集します。
データはスクリプト実行が完了した時点を基準に収集され、実行するスクリプト内容によって実際の収集時刻とデータ反映時刻には一部差が生じることがあります。 次の例を参考にして、ユーザースクリプトを作成します。
- BAT
- PowerShell
BATスクリプト実行
-
スクリプトを次のように作成して実行してください。
BAT@echo off
setlocal enabledelayedexpansion
set urls=https://www.whatap.io https://blog.whatap.io https://service.whatap.io
for %%u in (%urls%) do (
echo M %%u url %%u
rem Use curl to fetch the URL and get the total time taken for the request
for /f "tokens=*" %%i in ('curl -o nul -s -w "M %%{url_effective} url %%{url_effective}" %%u') do (
echo %%i
)
rem Measure the start time
set startTime=!time!
rem Perform the curl request and measure the end time
curl -o nul -s %%u
set endTime=!time!
rem Parse the start time
for /F "tokens=1-4 delims=:.," %%a in ("!startTime!") do (
set /A "startH=%%a, startM=%%b, startS=%%c, startMS=%%d"
)
rem Parse the end time
for /F "tokens=1-4 delims=:.," %%a in ("!endTime!") do (
set /A "endH=%%a, endM=%%b, endS=%%c, endMS=%%d"
)
rem Calculate the elapsed time in milliseconds
set /A "elapsedMS=(endH*3600000 + endM*60000 + endS*1000 + endMS) - (startH*3600000 + startM*60000 + startS*1000 + startMS)"
rem Convert milliseconds to seconds and milliseconds part
set /A "elapsedSec=elapsedMS/1000"
set /A "elapsedMSPart=elapsedMS %% 1000"
echo H %%u time_total !elapsedSec!.!elapsedMSPart!
)
endlocal -
次のように出力されるか確認してください。
BAT>webcheck.bat
M https://www.whatap.io url https://www.whatap.io
M https://www.whatap.io/ url https://www.whatap.io/
H https://www.whatap.io time_total 0.38
M https://blog.whatap.io url https://blog.whatap.io
M https://blog.whatap.io/ url https://blog.whatap.io/
H https://blog.whatap.io time_total 0.1
M https://service.whatap.io url https://service.whatap.io
M https://service.whatap.io/ url https://service.whatap.io/
H https://service.whatap.io time_total 0.922 -
スクリプトの正常収集を確認し、次のようにWhaTapサーバーのモニタリングエージェントにスクリプトを登録してください。
BATcd "\Program Files\WhatapInfra"
whtap_infra.exe init-script
sc stop "Whatap Infra"
sc start "Whatap Infra"
PowerShellスクリプト実行
-
スクリプトを次のように作成して実行してください。
PowerShell$urls = @("https://www.whatap.io", "https://blog.whatap.io", "https://service.whatap.io")
# Hide progress bar
$ProgressPreference = 'SilentlyContinue'
foreach ($url in $urls) {
Write-Output "M $url url $url"
$startTime = Get-Date
try {
$response = Invoke-WebRequest -Uri $url -UseBasicParsing
$endTime = Get-Date
$timeTotal = ($endTime - $startTime).TotalSeconds
Write-Output "M $($response.BaseResponse.ResponseUri) url $($response.BaseResponse.ResponseUri)"
Write-Output ("H {0} time_total {1}" -f $url, $timeTotal)
} catch {
Write-Output "Failed to access $url"
}
} -
次のように出力されるか確認してください。
PowerShell> .\webcheck.ps1
M https://www.whatap.io url https://www.whatap.io
M url
H https://www.whatap.io time_total 0.376979
M https://blog.whatap.io url https://blog.whatap.io
Failed to access https://blog.whatap.io
M https://service.whatap.io url https://service.whatap.io
Failed to access https://service.whatap.io -
スクリプトの正常収集を確認し、次のようにWhaTapサーバーのモニタリングエ ージェントにスクリプトを登録してください。
PowerShellcd "\Program Files\WhatapInfra"
.\whatap_infra.exe init-script
Restart-Service "Whatap Infra"
サーバー時間同期化モニタリング
事前確認
-
OS:Linux
-
WhaTapサーバーモニタリングエージェントバージョン:2.5.4以降
次のオプションを使用してサーバー時間の同期化(NTP) モニタリング機能を活性化することができます。
echo "ntpq.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf