みなさん、こんにちは。技術系の記事を担当しています、瀬口です。
今回は、EasyBlocks リソース監視やEasyBlocks DDN1からどのようなログが出力されるのか、実際にSyslogを収集してみましたので、ご紹介します。
EasyBlocks リソース監視やEasyBlocks DDN1を運用するうえで、

Syslogサーバーにはどんなログが送られるの…?

障害が起きたとき、どのログが手がかりになるの…?
といったご質問をいただくことがあります。
障害が起きたときに「いつ、何が起きたのか」を後から追うためには、どのようなログが、どのタイミングで出力されるのかを事前に把握しておくことが大切です。
本記事では、EasyBlocks リソース監視とEasyBlocks DDN1から出力されるログをSyslogサーバーで受信し、どのような内容のログが、どのタイミングで出力されるのかをまとめました。
はじめに
EasyBlocks リソース監視は、ネットワーク機器やサーバーの死活監視・リソース監視・トラフィック監視を行えるアプライアンスです。一方で、EasyBlocks DDN1は、DHCP・DNS・NTPサーバーの機能を1台にまとめたアプライアンスです。
どちらもSyslog通知機能を備えており、出力したログをSyslogサーバーへ転送できます。Syslogサーバーにログを集めておくことで、過去の監視状況や払い出し状況などのログを、後から確認できます。また、サービス起動時・停止時のログやEasyBlocksの稼働状況も同様に確認できます。
本記事では、以下の5つのログを確認しました。
- 監視サービスのログ(EasyBlocks リソース監視)
- DHCPサービスのログ(EasyBlocks DDN1)
- DNSサービスのログ(EasyBlocks DDN1)
- サービス起動・停止のログ(共通)
- 稼働状況のログ(共通)
検証するモデル
今回は、以下の2機種から出力されるログを確認しました。
| 製品名 | バージョン | 主な機能 | 確認するログ |
|---|---|---|---|
| EasyBlocks リソース監視 | Ver.1.1.0 | 死活監視・リソース監視・トラフィック監視 | 監視サービス、サービス起動・停止、稼働状況のログ |
| EasyBlocks DDN1 | Ver.1.1.3 | DHCP・DNS・NTPサービス | DHCP・DNSサービス、サービス起動・停止、稼働状況のログ |
なお、ログの受信にはEasyBlocks Syslog(Ver.1.2.2)を使用し、受信したログはWeb UIのログ表示画面で確認しました。
検証方法
EasyBlocks リソース監視、EasyBlocks DDN1より出力されたログをEasyBlocks Syslogへ転送し、ログを確認します。
検証するログと操作内容
今回検証するログは下記のとおりです。
| ログ | 出力元 | ログを出力させる操作 |
|---|---|---|
| 監視サービス | EasyBlocks リソース監視 | 監視対象を停止・復旧させる |
| DHCPサービス | EasyBlocks DDN1 | クライアントPCからIPアドレスの取得・更新・解放を行う |
| DNSサービス | EasyBlocks DDN1 | クライアントPCから名前解決を行う |
| サービス起動・停止 | EasyBlocks リソース監視 EasyBlocks DDN1 |
各サービスを起動・停止する |
| 稼働状況 | EasyBlocks リソース監視 EasyBlocks DDN1 |
なし(定期通知) |
※ EasyBlocks 監視シリーズのSNMP Trapメール転送機能については、受信したSNMP Trapをそのままメール転送する機能となり、受信時にSyslogは出力されません。
※ 本記事では、システムログ転送で出力されるシステムログは確認していません。なお、サービス起動・停止と稼働状況のログは、システムログ転送がオフでも出力されます。
Syslog通知設定
Syslog通知機能を有効にすると、指定したSyslogサーバーへSyslogが送信されます。また、EasyBlocks本体の稼働状況のログと、サービスの起動・停止のログについては、Facilityを<local0〜local7>の中から指定できます。
今回は、EasyBlocks リソース監視は<local3>、EasyBlocks DDN1は<local5>としています。

この設定が適用されるのは、稼働状況とサービスの起動・停止のログのみです。
監視サービスのログは<local4>、リースファイルの管理ログは<local0>で出力されます。
DHCP・DNSサービスのログは後述の設定で指定したFacilityにて出力されます。
DHCP・DNSのログについて
DHCPサービスとDNSサービスでは、Syslog通知機能とは別に、それぞれのサービスで、ログの取得内容ごとに有効・無効を設定できます。また、Facilityも<daemon、user、local0〜local7>の中から指定できます。
今回は、DHCPサービスとDNSサービスはどちらも<daemon(初期値)>としています。

検証結果
監視サービスは監視対象の状態が変わったとき、DHCPサービスとDNSサービスは端末が通信するたびに、ログが出力されました。NTPサービスは、起動・停止したときのみログが出力されました。
監視サービスのログ
EasyBlocks リソース監視の監視サービスより出力されたログは以下のとおりです。

| メッセージ | 内容 |
|---|---|
|
① PROBLEM Service Alert: [監視対象名]/[監視項目名] is CRITICAL |
監視対象の障害発生(CRITICAL)を検知した |
|
② RECOVERY Service Alert: [監視対象名]/[監視項目名] is OK |
監視対象の復旧を検知した |
※ [監視対象名]は、監視対象を登録した際の名称です(例:NAS、Webcam)。
[監視項目名]は、監視パターンまたはリソース監視の設定で登録した際の名称です(例:PING、HTTP)。
①障害発生のときは「PROBLEM」、②復旧のときは「RECOVERY」から始まるため、メッセージを見るだけで監視対象の障害発生・復旧のタイミングがわかります。
障害発生の状態は、CRITICAL(異常のしきい値を超えた、または応答がない)のほかに、WARNING(警告のしきい値を超えた)やUNKNOWN(監視結果を取得できない)の場合も、仕様上は出力されます。(今回の検証ではCRITICALとOKを確認しました)
また、Facility・Priority・プログラムはいずれのログも共通で、Facilityは<local4>、Priorityは<info>、プログラムは<monitor>でした。
このことから、障害発生・復旧が起きた日時や、どの監視対象のどの監視項目で発生したか確認できます。
DHCPサービスのログ
EasyBlocks DDN1のDHCPサービスより出力されたログは以下のとおりです。

| メッセージ | 内容 |
|---|---|
| ① DHCP4_QUERY_LABEL | クライアントからの要求を受信する(DHCPDISCOVERにあたる) |
| ② DHCP4_LEASE_OFFER | サーバーが割り当てるIPアドレスを提示する(DHCPOFFERにあたる) |
| ③ DHCP4_QUERY_LABEL | クライアントからの要求を受信する(DHCPREQUESTにあたる) |
| ④ DHCP4_LEASE_ALLOC | サーバーが割り当てを確定する(DHCPACKにあたる) |
| ⑤ LFC_START〜LFC_TERMINATE | リースファイルを定期的に整理する(リースファイルの管理ログ) |
| ⑥ DHCP4_RELEASE | クライアントがIPアドレスを解放した(DHCPRELEASEにあたる) |
①〜④の流れから、「いつ、どのMACアドレスの端末に、どのIPアドレスを払い出したか」が確認できました。同じtid(トランザクションID)の行が、同じ端末とのやり取りです。なお、端末によっては、その後の更新でも同じtidが使われます。
なお、①と③は同じメッセージですが、②の提示の前の要求がDISCOVER、④の確定の前の要求がREQUESTにあたります。
⑤のリースファイルの管理ログは、端末の通信とは関係なく定期的に出力されます。普段の運用で確認することは少ないですが、「errors」が0以外のときは、確認しておくと安心です。
次に、クライアントがIPアドレスを解放したときと、リースを更新したときのログは以下のとおりです。

クライアントがIPアドレスを解放すると、⑥のログが出力されます。
その後、IPアドレスを取り直す際には、②の提示と④の確定が出力されています。
また、取り直した後は、②が出力されずに④だけが約9〜11時間ごとに出力されました。これがリースの更新にあたります。リース時間(今回は24時間)の半分前後のタイミングで、端末が自動的に更新していました。
※この画像では、①・③(要求の受信)のログを省略しています。
なお、Priorityはいずれも<info>でした。Facilityとプログラムは、①〜④と⑥が<daemon>と<kea-dhcp4>、⑤が<local0>と<DhcpLFC>です。
このことから、どの端末に、いつ、どのIPアドレスを払い出し、いつ解放・更新されたかを確認できます。
DNSサービスのログ
EasyBlocks DDN1のDNSサービスより出力されたログは以下のとおりです。

| メッセージ | 内容 |
|---|---|
| ① client … query: [ドメイン名] IN A + ([DDN1のIPアドレス]) | 名前解決の問い合わせを受信した(クエリーログ) |
| ② zone [ゾーン名]/IN: loaded serial [シリアル番号] | ゾーンを読み込んだ |
| ③ all zones loaded / running | すべてのゾーンの読み込みが終わり、DNSサービスが起動した |
①はクエリーログ取得を有効にした場合に出力され、問い合わせたクライアントのIPアドレス、問い合わせたドメイン名、問い合わせの種類(AはIPv4、AAAAはIPv6、PTRはIPアドレスから名前を調べる逆引き)がわかります。ただし、回答したIPアドレスや名前解決の成否は、今回の設定ではログに出力されませんでした。
②では、読み込んだゾーンの名前とシリアル番号がわかります。シリアル番号はゾーンを更新すると増えるため、設定変更の後に番号が変わっていれば、反映されたことを確認できます。
なお、Facilityは<daemon>、プログラムは<named>で共通でした。Priorityは、①・②が<info>、③が<notice>です。
このことから、どの端末がどのドメインを問い合わせたか、またゾーンが読み込まれたかを確認できます。
サービスの起動・停止のログ
EasyBlocks リソース監視、DDN1より出力されたサービの起動・停止に関するログは以下のとおりです。

| メッセージ | 内容 |
|---|---|
| ① [サービス名]サービスを有効にしました / 無効にしました | Web UIでサービスを有効・無効にした |
| ② [サービス名]サービスを起動しました。 / 停止しました。 | サービスが起動・停止した |
| ③ [サービス名]サービスをリロードしました。 | サービスの設定を再読み込み(リロード)した |
※ [サービス名]には、DHCP、DNS、NTP、監視などのサービス名が入ります。
サービスを有効にすると「有効にしました」に続いて「起動しました。」が、無効にすると「無効にしました」に続いて「停止しました。」が出力されました。日本語のメッセージで出力されるため、どのサービスをいつ操作したかがすぐにわかります。
また、DNSサービスは「設定のリロード」が可能なため、③サービス設定の再読み込みのログも出力されます。
なお、Priorityは<info>、プログラムは<easyblocks>で共通でした。FacilityはSyslog通知機能で指定した値になり、今回はリソース監視が<local3>、DDN1が<local5>でした。
このことから、いつ、どのサービスを有効・無効にし、起動・停止したかを確認できます。
稼働状況のログ
EasyBlocks リソース監視、DDN1より出力された稼働状況のログは以下のとおりです。

| メッセージ | 内容 |
|---|---|
| Running notice: [uptime] [時刻] up [稼働時間], [ユーザー数] user, load average: [1分], [5分], [15分] | EasyBlocks本体の稼働状況を通知した |
EasyBlocks本体の稼働状況のログは、異常の有無にかかわらず15分ごと(毎時00分・15分・30分・45分)に出力されます。メッセージからは、起動してからの稼働時間、ログインしているユーザー数、直近1分・5分・15分のCPU負荷の平均(load average)がわかります。
なお、Priorityは<info>、プログラムは<easyblocks>で共通でした。Facilityは、サービスの起動・停止のログと同じく、Syslog通知機能で指定した値になります。
稼働状況のログが途切れた場合は、機器の停止や通信の断絶などが考えられるため、機器の稼働状況を確認する目安になります。
検証からわかる注意点
- 監視サービスのログはPriorityがすべて<info>: 障害発生時と復旧時のログはどちらも<info>で出力されるため、Priorityでは障害発生のログだけを絞り込めません。
- Facilityはログによって決まり方が異なる:設定で指定した値になるログのほかに、監視サービスのログ<local4>やリースファイルの管理ログ<local0>で出力されるため、Facilityで絞り込むと見落とすおそれがあります。
- DHCPの取得と更新は同じメッセージ: 取得と更新はどちらも「DHCP4_LEASE_ALLOC」で出力されるため、直前に提示(DHCP4_LEASE_OFFER)があるかどうかで見分けます。
- DNSのクエリーログは取得を有効にした場合のみ出力:名前解決の結果(回答したIPアドレスや成否)は、今回の設定ではログに出力されませんでした。
- NTPは起動・停止のログのみ: 今回の検証では、どの端末が時刻同期したかは、ログから確認できませんでした。
ログを確認する場合のフィルタリング例
EasyBlocks Syslogのログ表示画面のフィルタ機能を使用することで、受信したログのなかから必要なログを絞り込むことができます。今回確認したログをもとに、用途ごとのフィルタリング例をまとめました。
| 用途 | ホスト | プログラム | メッセージ |
|---|---|---|---|
| 障害発生のログだけを確認する | リソース監視 | monitor | PROBLEM |
| 特定の監視対象のログを確認する | リソース監視 | monitor | [監視対象名] |
| 特定の端末へのIPアドレスの払い出しを確認する | DDN1 | kea-dhcp4 | [MACアドレス] |
| 特定のドメインを問い合わせた端末を確認する | DDN1 | named | query: [ドメイン名] |
| サービスの起動・停止を確認する | 確認したい機器 | easyblocks | サービスを |
設定のポイント
フィルタの条件によって検索時間がどのくらい変わるかは、「【検証】ログ検索には何秒かかる?フィルタリングの検索時間を測ってみた」で記事で紹介していますので、あわせてご覧ください。
まとめ
今回は、EasyBlocks リソース監視とEasyBlocks DDN1から出力されるログについてご紹介しました。
- 監視サービスのログ:障害発生(PROBLEM)と復旧(RECOVERY)のタイミングと、どの監視対象のどの監視項目で発生したかがわかる
- DHCPサービスのログ:どの端末に、いつ、どのIPアドレスを払い出したかがわかる
- DNSサービスのログ:クエリーログ取得を有効にすると、どの端末がどのドメインを問い合わせたかがわかる。ゾーンの読み込みも確認できる
- サービス起動・停止のログ:いつ、どのサービスを有効・無効にし、起動・停止したかが日本語のメッセージでわかる
- 稼働状況のログ:15分ごとに出力され、機器が稼働しているかを確認できる
監視のメール通知で障害発生に気づいたら、Syslogサーバーに集めた各ログを時系列で確認することで、原因の切り分けに役立ちます。たとえば、同じ時間帯に複数の監視対象がまとめてCRITICALになっている場合は、個々の機器ではなく、スイッチやルーターなど経路上の障害の可能性を考える手がかりになります。
また、障害の直前にサービスの停止や設定のリロードが行われていないかを、サービス起動・停止のログから確認することもできます。DHCPサービスのログをSyslogサーバーに保存しておけば、「ある時刻にこのIPアドレスを使っていたのはどの端末か」を後から調べる手がかりになります。
EasyBlocks リソース監視やEasyBlocks DDN1の運用、ログの活用方法についてご不明な点がございましたら、お気軽にお問い合わせください。
▼ 今回ご紹介した製品はコチラ ▼

