Ksplice UptrackのSNMPプラグインの使用方法

KspliceのSNMPプラグインは、Oracle Enterprise Managerと連携してシステム上のKspliceのステータスをモニターします。また、SNMPと互換性のあるモニタリング・ソリューションでも機能します。

SNMPプラグインのインストールと構成

システムが次のすべての前提条件を満たしていることを確認します。

  • net-snmpパッケージをインストールする必要があります。

  • snmpwalkコマンドを使用して構成をテストするには、net-snmp-utilsパッケージをインストールする必要があります。

  • snmpdサービスは、自動的に起動するように構成する必要があります。

  • システムでSELinuxが無効になっているか、Permissiveモードに設定されていること。

この手順では、モニターするシステムにSNMPプラグインをインストールする方法について説明します。

ノート:

この手順では、dnfコマンドを使用して、多くのパッケージ管理アクションを記述します。Oracle Linux 8より前のリリースでは、コマンドを適切なyumコマンドに置き換えてください。
  1. ULNの適切なKspliceチャネルにシステムをサブスクライブします。

    インストールされているOracle Linuxディストリビューションおよびシステム・アーキテクチャに適したKspliceチャネル(たとえば、x86_64上のOracle Linux 9であればol9_x86_64_ksplice)をシステムでサブスクライブします。

  2. ksplice-snmp-pluginパッケージをシステムにインストールします。
    sudo dnf -y install ksplice-snmp-plugin
  3. (オプション) snmpwalkコマンドを使用して構成をテストする場合は、net-snmp-utilsパッケージをインストールしてください。
    sudo dnf -y install net-snmp-utils
  4. /etc/snmp/snmpd.confファイルを編集し、SNMPプラグインを使用するようにシステムを構成します。

    次の例では、このファイル内のエントリがOracle Linux 9システムでどのように表示されるかを示します:

    # Setting up permissions
    # ======================
    com2sec local localhost public
    com2sec mynet source public
    
    group local v1 local
    group local v2c local
    group local usm local
    group mynet v1  mynet
    group mynet v2c mynet
    group mynet usm mynet
    
    view all included .1 80
    
    access mynet "" any noauth exact all none none
    access local "" any noauth exact all all none
    
    syslocation Oracle Linux 9
    syscontact sysadmin <root@localhost>
    
    # Load the plugin
    # ===============
    dlmod kspliceUptrack /usr/lib/ksplice-snmp/kspliceUptrack.so
    1. com2sec mynetコミュニティ・エントリで、sourceをSNMP監視ソフトウェアをホストするサーバーのIPアドレスまたは解決できるホスト名に置き換えるか、IP_address / netmaskとして表されるサブネット・アドレス、たとえば、com2sec mynet 192.168.10.0/24 privateに置き換えます。

      IPv6構成の場合、com2sec6 mynetコミュニティ・エントリにIPv6アドレスおよびネットマスクを指定します。たとえば、com2sec6 mynet fec0::/64 privateです。

    2. syslocationエントリの引数を監視中のシステムの識別子に置き換えます。

    3. kspliceUptrack.soプラグインをロードするdlmodエントリで、libパス要素を、32ビット・システムの場合はlib、64ビット・システムの場合はlib64に置き換えます。

    このサンプル構成ファイルはテスト目的の使用に適しています。

  5. SNMPサービスを再起動します。
    sudo systemctl restart snmpd

SNMPの構成の詳細は、https://www.net-snmp.org/docs/readmefiles.htmlにあるドキュメントを参照してください。snmpd(8)およびsnmpd.conf(5)のマニュアル・ページも参照してください。

SNMPプラグインのテスト

snmpwalkコマンドを使用して情報を確認し、SNMPプラグインをテストできます。

  1. インストールされているKspliceのバージョンを確認します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceVersion

    出力例:

    KSPLICE-UPTRACK-MIB::kspliceVersion.0 = STRING: 1.2.80
  2. 使用可能なカーネル更新がインストールされていることを確認します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceStatus

    サンプル出力(カーネルが期限切れであることを示す):

    KSPLICE-UPTRACK-MIB::kspliceStatus.0 = STRING: outofdate
  3. インストール済のカーネルとKspliceの有効なバージョンを比較します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceBaseKernel
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceEffectiveKernel

    サンプル出力(ベース・カーネルと有効なカーネルが同じ、つまり更新が適用されていないことを示す):

    KSPLICE-UPTRACK-MIB::kspliceBaseKernel.0 = STRING: 5.15.0-304.171.4.1.el9uek
    KSPLICE-UPTRACK-MIB::kspliceEffectiveKernel.0 = STRING: 5.15.0-304.171.4.1.el9uek
  4. カーネルに適用されたすべての更新のリストを表示します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::ksplicePatchTable

    この例では、何も出力されないため、更新が適用されていないことになります。これにより、ベース・バージョンと有効なカーネル・バージョンが同じである理由と、カーネルが期限切れである理由がわかります。

  5. インストールできる更新のリストを表示します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceAvailTable

    出力例:

    KSPLICE-UPTRACK-MIB::kspliceavailIndex.0 = INTEGER: 0
    KSPLICE-UPTRACK-MIB::kspliceavailIndex.1 = INTEGER: 1
    KSPLICE-UPTRACK-MIB::kspliceavailIndex.2 = INTEGER: 2
    ...
    KSPLICE-UPTRACK-MIB::kspliceavailDesc.23 = STRING: CVE-2011-4325: Denial of service in NFS direct-io.
    KSPLICE-UPTRACK-MIB::kspliceavailDesc.24 = STRING: CVE-2011-4348: Socking locking race in SCTP.
    KSPLICE-UPTRACK-MIB::kspliceavailDesc.25 = STRING: CVE-2011-1020, CVE-2011-3637: Information leak, DoS in /proc.
  6. Ksplice Uptrackを使用してカーネルを完全にアップグレードした後、次のsnmpwalkコマンドを実行して、カーネルが更新されていることを確認できます。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceStatus

    出力例:

    KSPLICE-UPTRACK-MIB::kspliceStatus.0 = STRING: uptodate
  7. インストールに使用可能な更新がなく、パッチが適用済であることを確認します。
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::kspliceAvailTable
    snmpwalk -v 1 -c public -O e localhost KSPLICE-UPTRACK-MIB::ksplicePatchTable

    次のような出力が表示されます。

    KSPLICE-UPTRACK-MIB::ksplicepatchIndex.0 = INTEGER: 0
    KSPLICE-UPTRACK-MIB::ksplicepatchIndex.1 = INTEGER: 1
    KSPLICE-UPTRACK-MIB::ksplicepatchIndex.2 = INTEGER: 2
    ...