Linux配置snmp
机器环境
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@linux-node1 ~]# hostname
linux-node1.nmap.com
[root@linux-node1 ~]#
安装net-snmp等工具
[root@linux-node1 ~]# yum install net-snmp net-snmp-utils -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.zju.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package 1:net-snmp-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Package 1:net-snmp-utils-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Nothing to do
[root@linux-node1 ~]#
到现在为止,我们已经有了可以运行的SNMP代理程序
设置安全的验证方式
将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问你的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。
SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,监控宝目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,
而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3
当然,只要按照以下的介绍进行配置,不论是v2c版本还是v3版本,都可以保证一定的安全性,你可以根据情况来选择。
注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本
而Net-SNMP是用来实现SNMP协议的程序套件
编辑配置文件
v2c
先来看如何配置v2c版本的SNMP代理
[root@linux-node1 ~]# cd /etc/snmp/
[root@linux-node1 snmp]# ls
snmpd.conf snmptrapd.conf
[root@linux-node1 snmp]# cp snmpd.conf snmpd.conf.bak
[root@linux-node1 snmp]# vim snmpd.conf
默认有如下内容,全部清空了

改成如下内容
[root@linux-node1 snmp]# vim snmpd.conf
[root@linux-node1 snmp]# cat snmpd.conf
rocommunity nmap 192.168.58.11
[root@linux-node1 snmp]#
注意:添加用户时,请确保snmp服务没有运行,否则无法添加。
注意,这里的“rocommunity”表示这是一个只读的访问权限,从你的服务器上获取信息,而不能对服务器进行任何设置。
紧接着的“nmap”是团体名,相当于密码,很多平台喜欢使用“public”这个默认字符串。这里的“nmap”只是一个例子,你可以设置其它字符串作为密码。
最右边的“192.168.58.11”代表指定的监控点IP,这个IP地址意味着只有192.168.58.11这个地址的机器有权限来访问你的SNMP代理程序。
在zabbix server上使用snmp添加服务器的时候,需要提供这个“snmp”字符串。
启动服务,查看监听,它默认监听udp的161端口
[root@linux-node1 ~]# systemctl start snmpd
[root@linux-node1 ~]# netstat -lunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 192.168.122.1:53 0.0.0.0:* 1345/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1345/dnsmasq
udp 0 0 0.0.0.0:123 0.0.0.0:* 863/chronyd
udp 0 0 0.0.0.0:161 0.0.0.0:* 4402/snmpd
udp 0 0 127.0.0.1:323 0.0.0.0:* 863/chronyd
udp6 0 0 ::1:323 :::* 863/chronyd
[root@linux-node1 ~]#
下面工具是安装net-snmp-utils之后出现的,server端-也就是取数据的需要用它向运行snmp协议的机器取数据
[root@linux-node1 ~]# snmp
snmpbulkget snmpdf snmpset snmptranslate snmpwalk
snmpbulkwalk snmpget snmpstatus snmptrap
snmpconf snmpgetnext snmptable snmptrapd
snmpd snmpinform snmptest snmpusm
snmpdelta snmpnetstat snmptls snmpvacm
[root@linux-node1 ~]# snmp

学snmp得知道mib,它里面存的是linux所有性能指标
SNMP的技术术语
SNMP:Simple Network Management Protocol(简单网络管理协议),是一个标准的用于管理基于IP网络上设备的协议。
MIB:Management Information Base(管理信息库),定义代理进程中所有可被查询和修改的参数。
SMI:Structure of Management Information(管理信息结构),SMI定义了SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。SMI用于后续协议的描述和MIB的定义。每个版本的SNMP都可能定义自己的SMI。
OID(对象标识符),是SNMP代理提供的具有唯一标识的键值。MIB(管理信息基)提供数字化OID到可读文本的映射。每个对象都有一个oid
可以使用OID获取服务器一些当前性能指标
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.2
UCD-SNMP-MIB::laLoad.2 = STRING: 0.01
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.3
UCD-SNMP-MIB::laLoad.3 = STRING: 0.05
[root@linux-node1 ~]# uptime
13:50:02 up 1:17, 1 user, load average: 0.00, 0.01, 0.05
[root@linux-node1 ~]#
比如还可以获取内存
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.2.1.25.2.2.0
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 4033636 KBytes
[root@linux-node1 ~]# free -k
total used free shared buff/cache available
Mem: 4033636 128248 3150580 8688 754808 3670732
Swap: 3905532 0 3905532
[root@linux-node1 ~]#
其余一些服务器指标可以搜索snmp的常用OID
http://blog.csdn.net/buster2014/article/details/46925633
Linux配置snmp的更多相关文章
- 【Linux】给Linux配置SNMP用户以及协议
1 检查是否已经安装snmp的rpm包Ideploy:~ # rpm -aq | grep snmp libsnmp15-5.4.2.1-8.12.10.1 snmp-mibs-5.4.2.1-8.1 ...
- Linux下安装与配置snmp服务
一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...
- Linux下安装配置SNMP服务
一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...
- 在RedHat Linux系统中安装和配置snmp服务
检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-dev ...
- linux系统安装SNMP(可用)
一般我们监控Linux都是通过SSH或Telnet方式,有时候我们不方便通过这两种方式,比如遇到监控端口因为安全原因被封禁.以及SSH需要密钥登录,这都会让监控工具很难直接远程连接.而通过SNMP的方 ...
- zabbix 配置SNMP监控
什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...
- 如何在CentOS系统中安装配置SNMP服务
CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...
- Linux系统安装snmp服务
Linux安装snmp详解 Snmp一种网络之间的传输协议,通过snmp可以采集很多指标比如cpu.内存及磁盘的信息,现在越来越多的网络设备基本上都支持snmp,本文介绍了snmp的安装过程. 二.安 ...
- windows下安装和配置SNMP
window snmp服务开启及测试 转自:https://blog.csdn.net/qq_33314107/article/details/80031446 一 安装 二 开启服务 Linux下安 ...
随机推荐
- 基本数据类型float和double的区别
float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不 ...
- ES6标准之基础
let和const命令 ES6新增let命令,用于声明变量,是块级作用域. let声明的变量不会像var声明的变量发生“变量提升”现象,所以,变量一定要在声明后使用,不然就会报错. 暂时性死区:只要块 ...
- Listview自定义了子View导致listview的onitemclick事件无效
原因是子View的点击事件抢占了listview的点击事件 解决办法: 1. 子View根布局 设置 android:descendantFocusability="blocksDescen ...
- js的柯里化currying
转载:http://www.zhangxinxu.com/wordpress/2013/02/js-currying/ 我自己的理解柯里化就是这样的,(1)必须返回匿名函数,(2)参数复用. 1. 参 ...
- [Angular] 'providedIn' for service
There is now a new, recommended, way to register a provider, directly inside the @Injectable() decor ...
- 20190226_xlVba提取查新标题和关键词
Sub MainProc() Dim Sht As Worksheet Dim Wb As Workbook Set Wb = Application.ThisWorkbook Set Sht = W ...
- 理解SQL的左连接与右连接
假设有A,B两个表. 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID ...
- SAP 多语言文本翻译
SAP自己的东西都是有语言包的,针对很多语言有是有对应文本的翻译,巴特,比较不是专业的翻译,多以很多时候还是有这样那样的文本描述需要调整. 语言包怎么打就不说了,也不知道,知道也没打过... 标准界面 ...
- 【lintcode17/18】Subset, SubsetII
题目:给定一个含不同整数的集合,返回其所有的子集. 样例:如果 S = [1,2,3],有如下的解:[[3],[1],[2],[1,2,3],[1,3],[1,2],[2,3],[]] 思路:因为此题 ...
- Win10系列:C#应用控件基础10
PasswordBox控件 在应用程序的登录界面中,有时需要用户输入用户名和密码进行身份验证,应用程序中的密码框可以通过使用PasswordBox控件来实现.PasswordBox控件与TextBox ...