LibreNMSは、SNMP、ARP、OSPF、BGPなどの複数のプロトコルによる自動検出をサポートする監視ツールです。オペレーティングシステムを監視するには、SNMPプロトコルを使用できます。SNMPプロトコルは、Linux、Windows、BSDなどのほとんどのOSで利用できます。
SNMPプロトコルには、コミュニティパスワードのみで保護されるv1とv2の3つのバージョンと、認証と暗号化のパスワードをサポートするプロトコルv3があります。実稼働環境では、SNMPプロトコルv3を使用することをお勧めします。これは、v2およびv1よりも安全です。
この記事では、SNMPプロトコルを使用してLibreNMS監視システムにホストを追加する方法を学習します。
開始する前に、以下のLibreNMSのインストールを完了する必要があります。
Debian11BullseyeにLibreNMSをインストールする方法
この例では、次の環境を使用します。
LibreNMS監視サーバー
- オペレーティングシステム:Debian 11 Bullseye
- ホスト名:bullseye64
- IPアドレス:192.168.1.1.100
ホスト/クライアントマシン
- オペレーティングシステム:Debian 11 Bullseye
- ホスト名:host01
- IPアドレス:192.168.1.50
それでは始めましょう。
まず、SNMPパッケージをホストマシンにインストールします。
1.ホストマシンに接続し、次のコマンドを使用してリポジトリを更新します。
sudo apt update
2.次に、以下のaptコマンドを使用してSNMPパッケージをインストールします。
sudo apt install snmpd snmp libsnmp-dev
' yと入力します 'を押してインストールを確認し、' Enter を押します '続行します。
3. SNMPのインストールが完了したら、次のコマンドを使用してsnmpdサービスを開始して有効にします。
sudo systemctl enable --now snmpd
次に、以下のコマンドを使用してsnmpdサービスを確認します。
sudo systemctl status snmpd
snmpdサービスがアクティブで実行されていることを確認してください。
SNMPプロトコルv3認証と暗号化のセットアップ
SNMPプロトコルは、v1、v2、およびv3の3つの異なるバージョンをサポートします。 LibreNMS監視ツールは、3つのプロトコルすべてをサポートします。また、セキュリティ上の理由から、SNMPプロトコルv3を使用することをお勧めします。
SNMPプロトコルv1およびv2は、単純な認証を提供します。ただし、SNMPプロトコルv3は、MD5およびSHAハッシュアルゴリズムによる認証と、AESおよびDESによるデータ暗号化を提供します。
このステップでは、ホストマシン上にプロトコルv3用の新しいsnmpdユーザーを作成します。
1.新しいSNMPユーザーを作成する前に、デフォルト構成をバックアップし、サービス停止を使用してsnmpdサービスを停止します
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
sudo systemctl stop snmpd.service
2.次に、以下の「net-snmp-create-v3-user」コマンドを実行して、パスワード認証とパスワード暗号化を使用して新しいSNMPユーザーを作成します。
この例では、新しいユーザー' snmpdadminを作成します。 'パスワード認証付き'StrongAuthPass 'およびパスワード暗号化'StrongEncPass '。
net-snmp-create-v3-user -ro -A StrongAuthPass -a SHA -X StrongEncPass -x AES snmpadmin
これで、以下と同様のエラーメッセージが表示され、次のステップでこのエラーを修正します。
adding the following line to /var/lib/snmp/snmpd.conf:
createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
adding the following line to /snmp/snmpd.conf:
rouser snmpadmin
touch: cannot touch '/snmp/snmpd.conf': No such file or directory
/usr/bin/net-snmp-create-v3-user: 144: cannot create /snmp/snmpd.conf: Directory nonexistent
このエラーを修正するには、SNMP構成ファイル' /etc/snmp/snmpd.conf'の構成を編集する必要があります。 および'/var/lib/snmp/snmpd.conf '。
知っておくべきオプション:
- -ro :新しいユーザーに読み取り専用の権限を付与します。
- -A: 新しいユーザーのパスワード認証を設定します。
- -a :パスワード認証のハッシュアルゴリズムを指定します。ハッシュMD5およびSHAをサポートします。
- - X: 新しいユーザーのパスワード暗号化を設定します。
- -x: パスワード暗号化アルゴリズムを指定します。 AESとDESをサポートします。
- snmpadmin :作成するユーザー。
3.次に、nanoエディターを使用してSNMP構成'/etc/snmp/snmpd.conf'を編集します。
sudo nano /etc/snmp/snmpd.conf
「agentaddress」オプションで、ホストマシンの内部ネットワークを追加します。この例では、ホストマシンのIPアドレスは' 192.168.1.50 '。
agentaddress 127.0.0.1,[::1],192.168.1.50
次に、次の構成を行の最後に貼り付けます。この構成により、ユーザー' snmpadminが有効になります '読み取り専用の権限があります。
rouser snmpadmin
構成を保存して終了します。
4.次に、nanoエディターを使用してSNMPデータ構成'/var/lib/snmp/snmpd.conf'を編集します。
sudo nano /var/lib/snmp/snmpd.conf
次の構成をコピーして、行の最後に貼り付けます。
createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
構成を保存して終了すると、SNMPv3プロトコルの基本構成が完了します。
5.次に、次のコマンドを実行してsnmpdサービスを開始します。
sudo systemctl start snmpd.service
snmpdサービスは、SNMPプロトコルv3を使用して内部IPアドレス「192.168.1.50」で実行されています。
SNMPサービス認証を確認する
ホストマシンのSNMP構成を確認するには、コマンド「snmpwalk」を使用できます。このツールは、SNMPプロトコルを使用してリモートホストのシステム情報を照会するために使用できます。
1.ホストマシンから、以下のsnmpwalkコマンドを実行します。
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin localhost | head
SNMP構成が正しい場合は、以下のようなホストシステム情報が表示されます。
2.次に、LibreNMSサーバーに移動し、以下のsnmpwalkコマンドを使用して、IPアドレス「192.168.1.50」でホストマシンにクエリを実行します。
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin 192.168.1.50 | head
構成が正しければ、以下のようなホストマシン情報が表示されます。
これで、プロトコルv3とパスワード認証およびパスワード暗号化を使用したSNMPのインストールと構成が完了しました。
LibreNMSでは、3つの異なる方法を使用してホストとアプリケーションを監視できます。
- アプリケーションへの直接接続
- SNMPExtendの使用
- LibreNMSエージェントの使用
このステップでは、SNMPExtendメソッドでLibreNMS監視ツールを使用してシステムまたはアプリケーションを監視する方法を学習します。
SNMP Extendメソッドを使用するには、次のURLからcheckコマンドスクリプトをダウンロードする必要があります。
https://github.com/librenms/librenms-agent/tree/master/snmp
1.この例では、ホストオペレーティングシステムを検出するためのチェックコマンドスクリプト「distro」をダウンロードします。
checkコマンドを「/usr/ local / bin」ディレクトリにダウンロードし、次のコマンドを使用して実行可能にします。
curl -o /usr/local/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/local/bin/distro
2.次に、nanoエディターを使用してSNMP構成'/etc/snmp/snmpd.conf'を編集します。
sudo nano /etc/snmp/snmpd.conf
次の構成を行の最後に貼り付けます。
extend distro /usr/local/bin/distro
構成を保存して終了します。
3.ここで、snmpdサービスを再起動して、新しい構成を適用します。
sudo systemctl restart snmpd
これで、SNMPExtendメソッドを使用したLibreNMS監視の基本構成が完了しました。
これで、ホストマシンをLibreNMS監視ツールに追加する準備が整いました。
LibreNMS監視ツールにホストを追加
LibreNMS監視ツールにログインし、メニューの[デバイス]に移動します '次に、メニュー'デバイスの追加をクリックします '。
1.次の構成を使用して詳細デバイスを入力します
- ホスト名:192.168.1.50(ホストマシンのIPアドレス)。
- SNMPバージョン:UDPトランスポートを使用するデフォルトポート161のプロトコルv3。
- 認証レベル:authPriv
- 認証ユーザー名:snmpadmin
- 認証パスワード:StrongAuthPass
- 暗号パスワード:StrongEncPass
次に、[デバイスの追加]ボタンをクリックします '。
2.ここで、数分待ってから、LibreNMS監視ツールがホストマシンからシステムの詳細を収集するようにします。
メニューの[デバイス]をクリックします 'をクリックし、'サーバーをクリックします '利用可能なすべてのデバイスのリストを取得します。
以下のように、リストサーバーで使用可能なホストマシンが表示されます。
3.ホストマシンのIPアドレスをクリックして、すべての詳細を監視します。
以下と同様の詳細なホストマシンが表示されます。
さらに、以下はシステムホストマシンのグラフです。
これで、監視するホストがLibreNMSに正常に追加されました。
おめでとう! SNMPプロトコルv3を使用してLibreNMS監視ツールにホストを追加する方法を学習しました。また、認証と暗号化を備えたプロトコルv3を使用して新しいものを作成するためのSNMPの基本構成を学習しました。
次のステップでは、SNMP拡張を介して追加のチェックコマンドを追加して、他のアプリケーションを監視できます。または、LibreNMSエージェントを使用してシステムとアプリケーションを監視する他の方法を検討することもできます。