GNU/Linux >> Linux の 問題 >  >> Linux

監視のためにリモートLinuxホストをCactiに追加する方法

前のガイドでは、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分待ちます。最後に、リモートホストの統計が次のようにグラフ化されていることに気付き始めます。

そして、これはこの記事に結論をもたらします。途中でフォローできてよかったです。状況をお知らせください。問題が発生した場合は喜んでサポートさせていただきます。


Linux
  1. LinuxでSystemdサービスを作成する方法

  2. Linux でスワップ領域を追加する方法

  3. Ubuntu Linux で実行されているリモート MySQL サーバーを再起動する方法は?

  1. Linuxマシンでrootユーザーのリモートログインを無効にする方法

  2. LinuxでリモートMySQL接続を追加するにはどうすればよいですか?

  3. プロセス監視のために Linux に Monit をインストールして構成する方法

  1. 監視のためにリモートのLinuxおよびWindowsホストをIcinga2に追加する方法

  2. Linuxでユーザーをグループに追加する方法

  3. Linux上のOracle Databaseに追加するスワップ領域の量