Python 開發環境搭建(5):SNMP

Ryan_Bai發表於2019-02-11

使用的系統為Redhat 7.6 的64位,使用Net-SNMP 5.7版本

  1. 安裝mysql包
    rpm -ivh mysql-community-libs-compat*
    不安裝這個包會出現如下報錯

  2. 安裝

    cd /mnt/Packages
    rpm -ivh net-snmp
    yum install -y net-snmp-perl
    yum install -y net-snmp-utils
    yum install -y net-snmp-devel
    yum install -y net-snmp-lib
  3. 驗證
    可以使用下面的命令去驗證你是否成功安裝了Net-SNMP,如果你可以獲取到正確的版本號,說明你已經成功安裝了Net-SNMP
    snmpget --version

  4. 配置snmpd.conf
    vi /etc/snmp/snmpd.conf

    ###############################################################################
    # Access Control
    ###############################################################################
    # First, map the community name "public" into a "security name"
    #       sec.name  source          community
    com2sec notConfigUser  default       public
    # Second, map the security name into a group name:
    #       groupName      securityModel securityName
    group   notConfigGroup v1           notConfigUser
    group   notConfigGroup v2c           notConfigUser
    # Third, create a view for us to let the group have rights to:
    # Make at least  snmpwalk -v 1 localhost -c public system fast again.
    #       name           incl/excl     subtree         mask(optional)
    #view    systemview    included   .1.3.6.1.2.1.1
    #view    systemview    included   .1.3.6.1.2.1.25.1.1
    # Finally, grant the group read-only access to the systemview view.
    #       group          context sec.model sec.level prefix read   write  notif
    access  notConfigGroup ""      any       noauth    exact  all none none
    # -----------------------------------------------------------------------------
    # YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY
    # KNOWN AT YOUR SITE.  YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO
    # SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE.
    ##           incl/excl subtree                          mask
    view all    included  .1                               80
    ###############################################################################
    # System contact information
    #
    # It is also possible to set the sysContact and sysLocation system
    # variables through the snmpd.conf file:
    syslocation Unknown (edit /etc/snmp/snmpd.conf)
    syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
    ###############################################################################
    # Logging
    #
    # We do not want annoying "Connection from UDP: " messages in syslog.
    # If the following option is commented out, snmpd will print each incoming
    # connection, which can be useful for debugging.
    dontLogTCPWrappersConnects yes
    ###############################################################################
    com2sec notConfigUser  localhost Server_pu
  5. 執行snmpd 且開機自啟動

    chkconfig snmpd on
    systemctl start snmp
  6. 可透過如下命令檢查snmpd是否啟動
    netstat -na | grep 161


    ps aux | grep snmp

  7. 測試snmpd
    可以用如下的幾個命令獲取系統開機時間,如果有正確的返回則說明snmp執行正常
    snmpwalk -v 2c -c public localhost sysUpTime.0

配置python獲取netsnmp

pip install client

pip install python3-netsnmp


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2619499/,如需轉載,請註明出處,否則將追究法律責任。

相關文章