armbian系统安装和卸载snmp服务(SNMPV2操作版本)

2023-12-10 02:44

本文主要是介绍armbian系统安装和卸载snmp服务(SNMPV2操作版本),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 说明
  • 基知
  • 干净卸载snmp服务并清除配置文件
  • 安装SNMP
  • SNMPV2远程连接配置
  • 基本设备信息查询
  • 问题
    • Errors were encountered while processing: snmpd
    • Cannot adopt OID……

在这里插入图片描述

说明

  • 由于各位小伙伴,可能在安装过程中出现意外或者其他情况,本文先说明卸载步骤,然后再介绍安装步骤

基知

  • SNMP (Simple Network Management Protocol) 是一种网络管理协议,用于监控和管理网络设备
  • MIB 文件定义了 SNMP 管理信息的结构和属性。
  • armbian上设备SNMP管理的相关软件介绍
    • snmp 是用于在客户端上进行SNMP操作的工具包
    • snmpd SNMP代理服务,用于在服务器上提供SNMP功能(SNMP 的守护进程,负责接收 SNMP 请求并提供相关的网络管理功能
    • snmp-mibs-downloader 是用于下载和安装 SNMP MIB (Management Information Base) 文件的工具。

干净卸载snmp服务并清除配置文件

  1. 停止snmpd服务:

    sudo systemctl stop snmpd
    
  2. 卸载 snmp、snmpd、snmp-mibs-downloader 软件包:

    sudo apt remove --purge snmpd snmp-mibs-downloader
    
  3. 清理残留文件:

    sudo apt autoremove卸载 snmp、snmpd、snmp-mibs-downloader 软件包
    

安装SNMP

  • Armbian 操作系统上安装 SNMP(Simple Network Management Protocol)步骤:
  1. 更新软件包列表:

    sudo apt update
    
  2. 安装 SNMP 相关的软件包:SNMP 客户端工具(snmp)、SNMP 代理服务(snmpd)和 SNMP MIB 文件下载器(snmp-mibs-downloader):

    sudo apt install snmp snmpd snmp-mibs-downloader
    
  3. 安装完毕后,SNMP服务将自动启动。

    sudo systemctl status snmpd
    
  4. 配置 SNMP 代理服务:默认情况下,SNMP 代理服务已经自动配置好。配置文件位于 /etc/snmp/snmpd.conf

    sudo vim /etc/snmp/snmpd.conf
    

SNMPV2远程连接配置

  • 修改SNMP配置文件以允许接受使远程主机使用public社区字符串,连接并具有整个MIB的读写权限:
  1. 打开SNMP配置文件:

    sudo vim /etc/snmp/snmpd.conf
    
  2. 修改agentaddress 127.0.0.1,[::1]或者#agentAddress udp:161,udp6:[::1]:161,最终将其修改为agentAddress udp:161,udp6:[::1]:161

    agentAddress udp:161,udp6:[::1]:161
    #rocommunity public localhost
    
  3. 把public社区字符串的权限从只读(“rocommunity”)改为读写(“rwcommunity”),找到以下两行:

    rocommunity  public default -V systemonly
    rocommunity6 public default -V systemonly
    
  4. 将这两行修改为:

    rwcommunity public
    rwcommunity6 public default -V systemonly
    
  5. 保存并关闭文件。

  6. 重启SNMP服务以使配置更改生效:

    sudo systemctl restart snmpd
    

  • 以下是我的设备修改后的配置文件内容,小伙伴们可以参考一下:
###########################################################################
#
# snmpd.conf
# An example configuration file for configuring the Net-SNMP agent ('snmpd')
# See snmpd.conf(5) man page for details
#
###########################################################################
# SECTION: System Information Setup
## syslocation: The [typically physical] location of the system.
#   Note that setting this value here means that when trying to
#   perform an snmp SET operation to the sysLocation.0 variable will make
#   the agent return the "notWritable" error code.  IE, including
#   this token in the snmpd.conf file will disable write access to
#   the variable.
#   arguments:  location_string
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org># sysservices: The proper value for the sysServices object.
#   arguments:  sysservices_number
sysServices    72###########################################################################
# SECTION: Agent Operating Mode
#
#   This section defines how the agent will operate when it
#   is running.# master: Should the agent operate as a master agent or not.
#   Currently, the only supported master agent type for this token
#   is "agentx".
#   
#   arguments: (on|yes|agentx|all|off|no)master  agentx# agentaddress: The IP address and port number that the agent will listen on.
#   By default the agent listens to any and all traffic from any
#   interface on the default SNMP port (161).  This allows you to
#   specify which address, interface, transport type and port(s) that you
#   want the agent to listen on.  Multiple definitions of this token
#   are concatenated together (using ':'s).
#   arguments: [transport:]port[@interface/address],...# agentaddress  127.0.0.1,[::1]
agentAddress udp:161,udp6:[::1]:161###########################################################################
# SECTION: Access Control Setup
#
#   This section defines who is allowed to talk to your running
#   snmp agent.# Views 
#   arguments viewname included [oid]#  system + hrSystem groups only
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1# rocommunity: a SNMPv1/SNMPv2c read-only access community name
#   arguments:  community [default|hostname|network/bits] [oid | -V view]# Read-only access to everyone to the systemonly view
#rocommunity  public default -V systemonly
#rocommunity6 public default -V systemonly
#rwcommunity public default -V systemonly
rwcommunity public 
rwcommunity6 public default -V systemonly# SNMPv3 doesn't use communities, but users with (optionally) an
# authentication and encryption string. This user needs to be created
# with what they can view with rouser/rwuser lines in this file.
#
# createUser username (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) authpassphrase [DES|AES] [privpassphrase]
# e.g.
# createuser authPrivUser SHA-512 myauthphrase AES myprivphrase
#
# This should be put into /var/lib/snmp/snmpd.conf 
#
# rouser: a SNMPv3 read-only access username
#    arguments: username [noauth|auth|priv [OID | -V VIEW [CONTEXT]]]
rouser authPrivUser authpriv -V systemonly
  • 同时可以看到,联系人和位置也是配置在这里的!!

基本设备信息查询

  • 在本机使用SNMP工具查询本机的基本信息:
  1. 安装SNMP工具:首先,确保已经安装了SNMP工具。可以使用以下命令在Linux系统上进行安装:
    sudo apt-get update
    sudo apt-get install snmp
    
  2. 查询系统基本信息:使用SNMP工具的snmpget命令来查询系统的基本信息。下面是一些常用的OID(对象标识符)和对应的基本信息查询命令示例:
  • 查询系统描述:

    snmpget -v 2c -c public localhost SNMPv2-MIB::sysDescr.0
    
  • 查询系统名称:

    snmpget -v 2c -c public localhost SNMPv2-MIB::sysName.0
    
  • 查询系统联系人:

    snmpget -v 2c -c public localhost SNMPv2-MIB::sysContact.0
    
  • 查询系统位置:

    snmpget -v 2c -c public localhost SNMPv2-MIB::sysLocation.0
    
  • 这些命令中的-v 2c表示使用SNMP版本2c,-c public表示使用默认的SNMP共同体字符串(通常为public)。localhost表示查询本地主机,也可以使用主机的IP地址进行查询。

    root@armbian:~# snmpget -v 2c -c public localhost SNMPv2-MIB::sysDescr.0
    SNMPv2-MIB::sysDescr.0 = STRING: Linux armbian 6.1.27-ophub #1 SMP Mon May  1 13:03:40 EDT 2023 aarch64
    root@armbian:~# snmpget -v 2c -c public localhost SNMPv2-MIB::sysName.0
    SNMPv2-MIB::sysName.0 = STRING: armbian
    root@armbian:~# snmpget -v 2c -c public localhost SNMPv2-MIB::sysContact.0
    SNMPv2-MIB::sysContact.0 = STRING: Me <me@example.org>
    root@armbian:~# snmpget -v 2c -c public localhost SNMPv2-MIB::sysLocation.0
    SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay
    
    • 系统的位置信息为"Sitting on the Dock of the Bay"。通常情况下,这个值是由系统管理员设置的,用于指示系统所在的位置。它可以是一个具体的地理位置,也可以是一个描述性的文本。在这种情况下,"Sitting on the Dock of the Bay"是一个象征性的值,代表系统的位置。

问题

Errors were encountered while processing: snmpd

  • 运行sudo apt install snmp snmpd snmp-mibs-downloader后出现的问题
    Processing triggers for man-db (2.9.4-2) ...
    Errors were encountered while processing:snmpd
    

可能的原因和解决方法:

  1. 系统依赖问题:snmpd软件包可能依赖于其他软件包或库,而这些依赖项可能缺失或版本不兼容。你可以尝试运行以下命令修复依赖关系:
    sudo apt --fix-broken install
    

然后再次运行安装SNMP服务的命令。

  1. 软件包损坏或下载问题:有时软件包可能下载不完整或损坏。你可以尝试清除已下载的软件包缓存,并重新运行安装命令:

    sudo apt update
    sudo apt clean
    sudo apt install snmp snmpd snmp-mibs-downloader
    
  2. 网络连接问题:检查网络连接,确保设备已连接互联网,并且可以访问软件仓库。

Cannot adopt OID……

  • 安装完成后可能遇到的问题
root@armbian:~# sudo systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; vendor preset: enabled)Active: active (running) since Sat 2023-12-09 08:26:55 CST; 1min 57s agoProcess: 116556 ExecStartPre=/bin/mkdir -p /var/run/agentx (code=exited, status=0/SUCCESS)Main PID: 116557 (snmpd)Tasks: 1 (limit: 4382)Memory: 4.9MCPU: 516msCGroup: /system.slice/snmpd.service└─116557 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd.pidDec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in NET-SNMP-AGENT-MIB: nsNotifyShutdown ::= { netSnmpNotifications 2 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in NET-SNMP-AGENT-MIB: nsNotifyRestart ::= { netSnmpNotifications 3 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laErrMessage ::= { laEntry 101 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laErrorFlag ::= { laEntry 100 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laLoadFloat ::= { laEntry 6 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laLoadInt ::= { laEntry 5 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laConfig ::= { laEntry 4 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laLoad ::= { laEntry 3 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laNames ::= { laEntry 2 }
Dec 09 08:26:55 armbian snmpd[116557]: Cannot adopt OID in UCD-SNMP-MIB: laIndex ::= { laEntry 1 }

  • snmpd 服务已经处于活动状态(active (running)),没有明显的错误或问题。
  • 日志信息显示了一些警告消息,指出无法采用某些 OID。这些警告消息可能与缺少必要的 MIB(Management Information Base)文件有关。
  1. 安装 snmp-mibs-downloader 软件包:运行以下命令以安装 snmp-mibs-downloader 软件包:
    sudo apt install snmp-mibs-downloader
    
  2. 使用 snmp-mibs-downloader 下载 MIB 文件:运行以下命令以下载 MIB 文件:
    sudo download-mibs
    
  3. 重新启动 snmpd 服务:运行以下命令以重新启动 snmpd 服务:
    sudo systemctl restart snmpd
    
  • 完美解决
    root@armbian:~# sudo systemctl status snmpd
    ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.Loaded: loaded (/lib/systemd/system/snmpd.service; enabled; vendor preset: enabled)Active: active (running) since Sat 2023-12-09 08:33:27 CST; 16s agoProcess: 121820 ExecStartPre=/bin/mkdir -p /var/run/agentx (code=exited, status=0/SUCCESS)Main PID: 121821 (snmpd)Tasks: 1 (limit: 4382)Memory: 5.4MCPU: 201msCGroup: /system.slice/snmpd.service└─121821 /usr/sbin/snmpd -LOw -u Debian-snmp -g Debian-snmp -I -smux mteTrigger mteTriggerConf -f -p /run/snmpd.pidDec 09 08:33:27 armbian systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
    Dec 09 08:33:27 armbian systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
    

这篇关于armbian系统安装和卸载snmp服务(SNMPV2操作版本)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475806

相关文章

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O