0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OSのISOイメージからsnmp機能を追加

Last updated at Posted at 2018-04-18

Virtualbox上のゲストOS(Oracle Enterprise Linux6.8)に、snmp機能を追加したいが、ゲストOSをインターネットにつなげてないので、OSのインストール用ISOイメージを使って追加した手順の覚書

パッケージ追加手順

ISOイメージマウント

  • Virtualboxのゲストの設定から、光学デバイスにOSのISOファイルを設定
    • 光学デバイスは機能の追加後空に戻す。(設定したままだと再起動時に起動メニューが出る)
  • ゲストのConsoleにrootログイン
    • ログインするとISOイメージ(DVD)が自動マウントされる
    • マウントパスは「/media/OL6.8 x86_64 Disc 1 20160518」。空白があるのがちょいめんどい。

DVD用リポジトリ設定ファイル新規作成

# vi /etc/yum.repos.d/dvd.repo
とし下記を記載。同じフォルダにpublic-yum-ol6.repoがあるので参考にした
[dvd]
name=Oracle Linux 6 Update 8 installation media copy
baseurl="file:///media/OL6.8 x86_64 Disc 1 20160518"
gpgkey="file:///media/OL6.8 x86_64 Disc 1 20160518/RPM-GPG-KEY-oracle"
gpgcheck=1
enabled=0
  • フォルダに空白があるので”で囲まないとエラーとなる

設定ファイルの確認

# yum --disablerepo=\* --enablerepo=dvd list
結果省略。パッケージが一覧がリストされ、net-snmpがあることを確認。
  • デフォルトのInternet上のリポジトリを無効化し、作成したdvd.repoを有効化。

パッケージ追加

# yum --disablerepo=\* --enablerepo=dvd install net-snmp
読み込んだプラグイン:refresh-packagekit, security, ulninfo
インストール処理の設定をしています
:(略)
================================================================================
 パッケージ             アーキテクチャ  バージョン               リポジトリー 容量
================================================================================
インストールしています:
 net-snmp               x86_64        1:5.5-57.0.1.el6         dvd        308 k
依存性関連でのインストールをします。:
 lm_sensors-libs        x86_64        3.1.1-17.el6             dvd         37 k
 net-snmp-libs          x86_64        1:5.5-57.0.1.el6         dvd        1.5 M

トランザクションの要約
================================================================================
インストール         3 パッケージ

総ダウンロード容量: 1.9 M
インストール済み容量: 6.3 M
これでいいですか? [y/N]y
:(略)
完了しました!

インストール確認と起動

# chkconfig --list snmpd
snmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig snmpd on
# chkconfig --list snmpd
snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
# service  snmpd start
snmpd を起動中:                                            [  OK  ]

デフォルト設定の確認

/etc/snmp/snmpd.confの初期設定は下記の通り。#行は説明のため日本語

# セキュリティ定義
#       セキュリティ名 アクセス可能IP範囲 コミュニティ名
com2sec notConfigUser default          public
  #notConfigUserはコミュニティ名publicでどこからでも(default)アクセス可
  #コミュニティ名はユーザIDのようなもの

# グループ定義
#     グループ名      モデル セキュリティ名(上で定義) 
group notConfigGroup v1     notConfigUser
group notConfigGroup v2c    notConfigUser
  #グループnotCondigGroupは、コミュニティ名notConfigUserでアクセス時にv1とv2cに対応
  #モデルはsnmpプロトコルのバージョンに対応。v1,v2c,usm(v3に相当)のいずれか。

# 取得可能な情報の範囲(ビュー)の定義
#    ビュー名    設定タイプ MIB-OID         マスク
view systemview included   .1.3.6.1.2.1.1
view systemview included   .1.3.6.1.2.1.25.1.1
  #systemviewは.1.3.6.1.2.1.1以下と1.3.6.1.2.1.25.1.1以下にアクセス可能
  #.1.3.6.1.2.1.1はsystem
  #.1.3.6.1.2.1.25.1.1はHOST-RESOURCES-MIB::hrSystem
  #設定タイプはincluded,excluded

# グループとビューを組み合わせた権限設定
#      グループ名      Context モデル レベル  Contextマッチの方法 読取ビュー 書込ビュー  通知
access notCongigGroup ””      any    noauth exact              systemview none       none
  #notCongigGroupではsystemviewの設定範囲を読取可能
  #モデルanyはグループ名に設定した全モデル
  #レベルはnoauth,auth,privのいずれか

snmpテスト

snmpコマンドパッケージ追加

確認用のsnmpwalkコマンドも追加
# yum --disablerepo=\* --enablerepo=dvd install net-snmp-utils
(結果略)

snmpwalkで許可された情報を取得

# snmpwalk -v 2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux (略) SMP Tue May 17 07:23:38 PDT 2016 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (147601) 0:24:36.01
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: (略)
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (3) 0:00:00.03
# snmpwalk -v 2c -c public localhost HOST-RESOURCES-MIB::hrSystem
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (1030705) 2:51:47.05
HOST-RESOURCES-MIB::hrSystemUptime.0 = No more variables left in this MIB View (略)
  • ここはあまり重要な情報がなかった

監視に必要な情報を追加

 監視にはCPUやメモリ負荷等を知ることが必要。これらはUCD-SMTP-MIBに入っている。これらの読込を許可する
 今回は変更が最小となるような設定とする。
 MIBファイルは/usr/share/snmp/mibsにある。

# vi /etc/snmp/snmpd.conf
下記ビューを追加(.1.3.6.1.4.1.2021はUCD-SMTP-MIB全体)
view    systemview    included   .1.3.6.1.4.1.2021

変更を反映するためサービス再起動
# service snmpd restart

追加した情報にアクセス可能か確認

# snmpwalk -v 2c -c public localhost UCD-SNMP-MIB::memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 4980732 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 4980732 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 4955328 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 2153392 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 7134124 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 147124 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 1505768 kB
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:
[root@odax62s mibs]# snmpwalk -v 2c -c public localhost UCD-SNMP-MIB::systemStats
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 196 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 14 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 2373 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 5328 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 2
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 1
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 95
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 91552
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 51
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 18256
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 1173343
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 7148
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 3100450
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 1710948
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 35527224
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 80863429
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 534
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 0
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 0
[root@odax62s mibs]# snmpwalk -v 2c -c public localhost UCD-SNMP-MIB::laTable
UCD-SNMP-MIB::laIndex.1 = INTEGER: 1
UCD-SNMP-MIB::laIndex.2 = INTEGER: 2
UCD-SNMP-MIB::laIndex.3 = INTEGER: 3
UCD-SNMP-MIB::laNames.1 = STRING: Load-1
UCD-SNMP-MIB::laNames.2 = STRING: Load-5
UCD-SNMP-MIB::laNames.3 = STRING: Load-15
UCD-SNMP-MIB::laLoad.1 = STRING: 1.82
UCD-SNMP-MIB::laLoad.2 = STRING: 1.89
UCD-SNMP-MIB::laLoad.3 = STRING: 1.76
UCD-SNMP-MIB::laConfig.1 = STRING: 12.00
UCD-SNMP-MIB::laConfig.2 = STRING: 12.00
UCD-SNMP-MIB::laConfig.3 = STRING: 12.00
UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 182
UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 189
UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 176
UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 1.820000
UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 1.890000
UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 1.760000
UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: noError(0)
UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: noError(0)
UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: noError(0)
UCD-SNMP-MIB::laErrMessage.1 = STRING:
UCD-SNMP-MIB::laErrMessage.2 = STRING:
UCD-SNMP-MIB::laErrMessage.3 = STRING:

参考

RHELのDVD-ROMをyumのリポジトリとして登録
SNMPの基本的なこと
snmp
サーバ監視項目でよく使う SNMP の MIB オブジェクト ID まとめ
snmpとは
ucdavisサブツリー

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?