前のガイドでは、Cacti監視サーバーをCentOS 8にインストールする方法を示しました。このチュートリアルでは、さらに一歩進んで、CactiにリモートLinuxホストを追加および監視する方法を示します。監視のために、リモートのUbuntu20.04LTSおよびCentOS8システムをcactiサーバーに追加します。
始めましょう。
ステップ1)LinuxホストにSNMPサービスをインストールします
SNMP、Simple Network Management Protocolの略は、ネットワーク内のデバイスに関する情報を収集するために使用されるプロトコルです。 SNMPを使用すると、CPU使用率、メモリ使用率、ディスク使用率、ネットワーク帯域幅などのメトリックをポーリングできます。この情報は、後でCactiでグラフ化され、リモートホストのパフォーマンスの直感的な概要を提供します。
そのことを念頭に置いて、両方のLinuxホストにSNMPサービスをインストールして有効にします。
Ubuntu20.04の場合
snmpエージェントをインストールするには、次のコマンドを実行します。
$ sudo apt install snmp snmpd -y
CentOS8の場合
$ sudo dnf install net-snmp net-snmp-utils -y
SNMPは、インストール時に自動的に開始されます。これを確認するには、次を実行してステータスを確認します。
$ sudo systemctl status snmpd
サービスがまだ実行されていない場合は、次のように起動して有効にします。
$ sudo systemctl start snmpd
サービスが稼働していることがはっきりとわかります。デフォルトでは、SNMPはUDPポート161でリッスンを実行します。これは、次のようにnetstatコマンドを使用して確認できます。
$ sudo netstat -pnltu | grep snmpd
ステップ2)SNMPサービスの構成
これまでのところ、snmpサービスのインストールに成功し、期待どおりに実行されていることを確認しました。次のアクションは、データを収集してCactiサービスに送信できるようにSNMPサービスを構成することです。
構成ファイルは/etc/snmp/snmpd.confにあります。
Ubuntu20.04の場合
いくつかのパラメータを設定する必要があります。まず、sysLocationディレクティブとsysContactディレクティブを見つけます。これらは、Linuxクライアントの物理的な場所を定義します。
したがって、クライアントの場所を自由に提供してください。
次に、エージェントアドレスを見つけます 指令。これは、エージェントがリッスンするIPアドレスとポート番号を指します。
以下に示すようにディレクティブを調整します。ここで、192.168.2.106はクライアントシステムのアドレスです。
agentaddress udp:192.168.2.106:161
これで、ディレクティブにより、システムのローカルIPがSNMP要求をリッスンできるようになります。次に、他のビューディレクティブの上に以下のビューディレクティブを追加します。
view all included .1 80
次に、以下に示すrocommunity属性を変更します
rocommunity public default -V systemonly to: rocommunity public default -V all
最後に、SNMPサービスが期待どおりに機能していることを確認するには、Linuxホストで以下のコマンドを実行します。
$ sudo snmpwalk -v 1 -c public -O e 192.168.2.106
図のように、大量の出力が得られるはずです。
CentOS8の場合
CentOS 8では、構成が少し異なります。まず、次のようにcom2secディレクティブで始まる行を見つけます。
AllUserという新しいセキュリティ名を指定し、次のようにnotConfigUserを削除します。
次に、図のようにgroupディレクティブで始まる行を見つけます。
前に定義したように、2番目の属性を変更し、グループ名としてAllGroupを指定し、セキュリティ名としてAllUserを指定します。
ビューセクションで、この行を追加します
view AllView included .1
最後に、アクセスディレクティブで始まる行を見つけます。
図のように変更します:
変更を保存して、構成ファイルを終了します。変更を有効にするには、snmpdデーモンを再起動します
$ sudo systemctl restart snmpd
また、起動時にサービスを開始できるようにします。
$ sudo systemctl enable snmpd
もう一度、snmpwalkコマンドを使用して、SNMP構成が期待どおりに機能しているかどうかを確認します。
$ sudo snmpwalk -v 2c -c public -O e 127.0.0.1
完全!すべてが期待どおりに実行されているようです。
ステップ3)snmpのファイアウォールルールを構成します
次に、udpポート161を開いて、CactiサーバーとLinuxホストの両方でSNMPトラフィックを許可する必要があります。
Ubuntu20.04ホストの場合
以下のコマンドを実行して、ファイアウォールでudpポート161を許可します。
$ sudo ufw allow 161/udp $ sudo ufw reload
CentOS8ホストの場合
CentOS8クライアントおよびCentOS8でも実行されるCactiサーバーの場合は、次のコマンドを呼び出します。
$ sudo firewall-cmd --add-port=161/udp --zone=public --permanent $ sudo firewall-cmd --reload
Cactiサーバーにアクセスし、表示されているコマンドを実行して、snmpがリモートクライアントからメトリックを送信していることを確認します。
$ sudo snmpwalk -v 1 -c public -O e 192.168.2.106 # Ubuntu $ sudo snmpwalk -v 2c -c public -O e 192.168.2.104 # CentOS
素晴らしい!これは、CactiサーバーがリモートLinuxシステムからシステムメトリックを受信していることを確認します。
ステップ4)リモートLinuxホストをCactiに追加する
これは、リモートLinuxホストを追加する必要がある最後のセクションです。そのため、Cactiサーバーにログインし、図のように[デバイスの作成]をクリックします。
私の場合、UbuntuリモートホストはすでにCactiによって検出され、次のようにリストされています。
デバイスをクリックして、図のように最上部にあるSNMP情報に注目してください。
次に、下にスクロールして[保存]ボタンをクリックします。
デバイスがリストにない場合は、[作成]> [デバイス]をクリックして、図のようにCentOS8ホストのようにデバイスの詳細を入力します。
デバイスを追加したら、[グラフ]タブをクリックします。
次のページで、デバイスの名前を選択します
一番下までスクロールして、[作成]ボタンをクリックします。
グラフの入力が開始されるまで約10〜20分待ちます。最後に、リモートホストの統計が次のようにグラフ化されていることに気付き始めます。
そして、これはこの記事に結論をもたらします。途中でフォローできてよかったです。状況をお知らせください。問題が発生した場合は喜んでサポートさせていただきます。