Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

はじめに

本チュートリアルでは、Collectdデーモンのネットワーク(network)プラグインを有効化し、ネットワーク上のさまざまなサーバーに導入された他のCollectdクライアントから統計情報を集約する「中央監視サーバー」として動作させる方法を解説します。

Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

この構成では、まず社内の1台のホストにCollectdデーモン(およびCollectd-Webインターフェース)を導入し、サーバーモードで稼働させて監視の中心点とします。残りの監視対象ホストでは、Collectdをクライアントモードで設定するだけで、収集したすべての統計情報が中央サーバーへ送信される仕組みです。

前提条件

  • CollectdおよびCollectd-Webのインストール手順については、関連記事「Install Collectd and Collectd-Web to Monitor Linux Servers」を参照してください。

ステップ1:Collectdサーバーモードの事前準備(時刻同期)

1. サーバーとして動作させるマシンにCollectdデーモンとCollectd-Webがすでにインストールされていることを前提に、最初に行うべきは、システム時刻を近くのタイムサーバーと同期させておくことです。

そのためには、マシンにntpサーバーをインストールする方法もありますが、より手軽なのは、cronからntpdateコマンドを定期的に実行し、ローカルまたは近近隣の公開タイムサーバーと時刻を同期する方法です。利用可能なNTPサーバーは https://pool.ntp.org で確認できます。

まだシステムに存在しない場合は、以下のコマンドでntpdateをインストールし、最寄りのタイムサーバーと時刻同期を行いましょう。

# apt-get install ntpdate [Debian系の場合]
# yum install ntpdate [RedHat系の場合]
または
# dnf install ntpdate
# ntpdate 0.ro.pool.ntp.org

注: 上記コマンド内のNTPサーバーURLは、ご自身の環境に合わせて適宜置き換えてください。

Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

2. 次に、この時刻同期コマンドをrootのcrontabに登録し、毎日午前0時に自動実行されるようにします。以下のコマンドを実行してください。

# crontab -e

3. rootのcrontabファイルが開いたら、ファイルの末尾に次の行を追記して保存・終了します。これでスケジュールが有効になります。

@daily ntpdate 0.ro.pool.ntp.org
Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

注: ネットワーク上に今後追加されるすべてのCollectdクライアントでも、同じ時刻同期の手順を実施しておきましょう。全ホストのシステム時刻を中央のタイムサーバーに揃えることで、収集データの時刻ずれを防げます。

ステップ2:中央監視サーバーでCollectdをサーバーモードに設定する

4. Collectdデーモンをサーバーとして動作させ、各クライアントから統計情報を収集するには、networkプラグインを有効にする必要があります。

networkプラグインの役割は、デフォルトの25826/UDPポートで接続を待ち受け、クライアントインスタンスからデータを受信することです。Collectdのメイン設定ファイルを開き、以下の記述をコメント解除してください。

# nano /etc/collectd/collectd.conf
または
# nano /etc/collectd.conf

以下の記述を探して、先頭のコメント記号を外します。

LoadPlugin logfile
LoadPlugin syslog
<Plugin logfile>
 LogLevel "info"
 File STDOUT
 Timestamp true
 PrintSeverity false
</Plugin>
<Plugin syslog>
 LogLevel info
</Plugin>
LoadPlugin network
Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順 Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

さらにファイル内を読み進めてnetworkプラグインのブロックを見つけ、以下の記述もコメント解除します。「Listen」のアドレス指定は、次の抜粋のように変更してください。

<Plugin network>
...
# server setup:
 <Listen "0.0.0.0" "25826">
 </Listen>
....
</Plugin>
Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

5. 編集が完了したらファイルを保存して閉じ、Collectdサービスを再起動して変更を反映させます。これにより、サーバーはすべてのネットワークインターフェース上でクライアントからの接続を待ち受けるようになります。netstatコマンドでCollectdのネットワークソケットの状態を確認しましょう。

# service collectd restart
または
# systemctl restart collectd [systemd採用システムの場合]
# netstat –tulpn | grep collectd
Collectdを活用したLinuxクライアント向け中央監視サーバーの構築手順

まとめ

以上で、Collectdを中央監視サーバーとして動作させるための基本設定は完了です。この状態になると、ネットワーク上の各クライアントから25826/UDPポート経由で統計情報が送信され、中央サーバー側で一元的に収集できるようになります。後編では、監視対象となるクライアント側のCollectd設定方法や、Collectd-Webによるデータの可視化について詳しく解説していきます。

  1. 安全なSSH接続に最適なPuTTY代替ツールおすすめ10選

    概要: 本記事では、SSHクライアントとして利用できる最高のPuTTY代替ツール10選を徹底解説します。 PuTTYは、最も広く使われているSSH・Telnetクライアントの一つです。サーバーをはじめ、ルーターやスイッチなどのネットワーク機器へリモートログインするために、世界中のエンジニアに愛用されています。 シンプルで直感的なインターフェースを備えたターミナルエミュレーターであり、初心者でも手軽にリモート接続を確立できる点が大きな魅力です。 PuTTYはもともとWindows向けに開発されましたが、現在ではLinux、macOS、その他UNIX系OSにも移植されています。リモート接続ツールと

  2. 初心者から上級者まで使える!Linux topコマンドの実例15選

    本記事は、特定のコマンドや機能について15個の実例を紹介する「15例シリーズ」のひとつです。これまでに、findコマンド、crontabの活用例、grepコマンド、historyコマンド、pingコマンド、wgetの実例などを取り上げてきました。 今回は、初心者はもちろん経験豊富なエンジニアにも役立つLinux topコマンドの実例15選を解説します。 1. 任意の列でプロセスをソートする – Oキーを押す topコマンドはデフォルトでCPU使用率の高い順にプロセスを表示します。実行中にM(大文字)を押すと、メモリ使用量順に並べ替えて表示できます。 図: Mキーでメモリ使用量順にソート –