使用 SNMP 和 Cacti 监控 Linux 服务器

简介:

SNMP(简单网络管理协议)用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类。像Cacti这样的网络监控工具用这些数据来生成图标以达到监控的目的。

在一个典型的Cacti和SNMP部署中,会有一台或多台启用了SNMP的设备,以及一台独立的用来从那些设备收集SNMP回馈的监控服务器。请记住,所有需要监控的设备必须启用SNMP。在本教程中,出于演示目的,我们将在同一台Linux服务器上配置Cacti和SNMP。

在Debian或Ubuntu上配置SNMP

要在基于Debian的系统上安装SNMP代理(snmpd),请运行以下命令:

 
  1. root@server:~# apt-get install snmpd

然后,如下编辑配置文件。

 
  1. root@server:~# vim /etc/snmp/snmpd.conf

 
  1. # 使snmpd 监听再所有接口上
  2. agentAddress udp:161
  3. # 定义一个只读的 community 'myCommunity' 和源网络
  4. rocommunity myCommunity 172.17.1.0/24
  5. sysLocation Earth
  6. sysContact email@domain.tld

在编辑完配置文件后,重启snmpd。

 
  1. root@server:~# service snmpd restart

在CentOS或RHEL上配置SNMP

要安装SNMP工具和库,请运行以下命令。

 
  1. root@server:~# sudo yum install net-snmp

然后,如下编辑SNMP配置文件。

 
  1. root@server:~# vim /etc/snmp/snmpd.conf

 
  1. # 定义一个使用 community 'myCommunity' 和源网络 172.17.1.0/24 的用户 'myUser'
  2. com2sec myUser 172.17.1.0/24 myCommunity
  3. # myUser 加到 'myGroup' 组,定义组权限
  4. group myGroup v1 myUser
  5. group myGroup v2c myUser
  6. view all included .1
  7. access myGroup "" any noauth exact all all none

 
  1. root@server:~# service snmpd restart
  2. root@server:~# chkconfig snmpd on

重启snmpd服务,然后添加到启动服务列表。

测试SNMP

SNMP可以通过运行snmpwalk命令进行测试。如果SNMP已经配置成功,该命令会生成大量输出。

 
  1. root@server:~# snmpwalk -c myCommunity 172.17.1.44 -v1

 
  1. iso.3.6.1.2.1.1.1.0 = STRING: "Linux mrtg 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64"
  2. iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
  3. iso.3.6.1.2.1.1.3.0 = Timeticks: (2097) 0:00:20.97
  4. ~~ 输出截断 ~~
  5. iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440
  6. iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 1
  7. iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0
  8. iso.3.6.1.2.1.92.1.3.1.1.2.7.100.101.102.97.117.108.116.1 = Timeticks: (1) 0:00:00.01
  9. iso.3.6.1.2.1.92.1.3.1.1.3.7.100.101.102.97.117.108.116.1 = Hex-STRING: 07 DD 0B 12 00 39 27 00 2B 06 00

配置带有SNMP的Cacti

在本教程中,我们将在同一台Linux服务器上设置Cacti和SNMP。所以,到刚刚配置SNMP的Linux服务器上去[安装Cacti][2]吧。

安装完后,Cacti网页界面可以通过“http://172.17.1.44/cacti ”来访问,当然,在你的环境中,请将IP地址换成你的服务器的地址。

安装过程中Cacti的路径一般都是正确的,但是如有必要,请再次检查以下。

在首次安装过程中,Cacti默认的用户名和密码是“admin”和“admin”。在首次登录后会强制你修改密码。

添加设备到Cacti并管理

Cacti将根据先前配置的SNMP字符串注册设备。在本教程中,我们将只添加启用了SNMP的本地服务器。

要添加设备,我们必须以管理员登录,然后转到Cacti管理员面板中的控制台。点击 控制台 > 设备。

那里可能已经有一个名为‘localhost’的设备。我们不需要它,因为我们要创建全新的图表。我们可以将该设备从列表中删除,使用“添加”按钮来添加新设备。

接下来,我们设置设备参数。

现在设备已经添加,我们来指定想要创建的图表模板。你可以在该页面的最后部分中找到这块内容。

然后,我们继续来创建图表。

这里,我们创建用于平均负载、RAM和硬盘、处理器的图表。

接口的图表和64位计数器

默认情况下,Cacti在SNMP查询中使用32位计数器。32位计数器对于大多数带宽图表而言已经足够了,但是对于超过100Mbps的带宽,它就无能为力了。如果已经知道带宽会超过100Mbps,建议你使用64位计数器。使用64位计数器一点也不麻烦。

注意: Cacti会花费大约15分钟来产生新图表,除了耐心等待,你别无选择。

创建图表树

这些截图展示了如何创建图表树,以及如何添加图表到这些树中。

我们可以验证图表树中的图表。

用户管理

最后,我们创建一个只具有查看我们刚创建的图表权限的用户。Cacti内建了用户管理系统,而且是高度可定制的。

在完成这些步骤后,我们可以使用‘user1’来登录进去,并验证只有该用户可以查看该图表。

至此,我们在网络监控系统中部署了一台Cacti服务器。Cacti服务器比较稳定,可以处理大量图表而不会出问题。

希望本文对你有所帮助。


原文发布时间为:2015-07-03


本文来自云栖社区合作伙伴“Linux中国”

目录
相关文章
|
8天前
|
网络协议 Linux
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
|
8天前
|
大数据 Linux 程序员
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料
|
9天前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
10天前
|
安全 固态存储 Linux
服务器linux操作系统重装的完整流程-傻瓜式教学
服务器linux操作系统重装的完整流程-傻瓜式教学
|
10天前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
11天前
|
NoSQL 算法 Linux
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
【内附完整redis配置文件】linux服务器命令设置redis最大限制内存大小,设置redis内存回收机制,redis有哪些回收机制
12 0
|
存储 监控 Linux
zabbix使用snmp监控Linux主机(二十)
使用snmp监控Linux主机 1.snmp协议介绍 SNMP(简单网络管理协议)也是应用层的一种协议,默认端口号为161,我们平时监控Linux主机都是安装一个agent客户端进行监控,但是有的公司还需要监控网络设备和Windows主机,这时就不得不采用snmp协议去监控设备了
650 0
zabbix使用snmp监控Linux主机(二十)
|
监控 安全 Linux
如何通过snmp监控Linux
一般我们监控Linux都是通过SSH或Telnet方式,有时候我们不方便通过这两种方式,比如遇到监控端口因为安全原因被封禁、以及SSH需要密钥登录,这都会让监控工具很难直接远程连接。而通过SNMP的方式监控就灵活多了,可以指定IP来接发数据包,监控项和端口也可以灵活配置。
1427 0
|
2天前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
17 4
Linux抓包命令tcpdump使用技巧大全