使用 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中国”

时间: 2024-09-08 09:19:05

使用 SNMP 和 Cacti 监控 Linux 服务器的相关文章

《构建高可用Linux服务器 第3版》—— 1.6 用开源工具Nagios监控Linux服务器

1.6 用开源工具Nagios监控Linux服务器 1.6.1 CentOS 5.8下的监控工具 在开源系统CentOS 5.8下有许多监控工具,比如实时监控系统状态的Nagios,还有监控网络流量的Cacti和MRTG,以及我个人比较喜欢的NTOP和Iptraf:另外,在CentOS 5.8下也有许多强大的命令行可用于监控系统状态,大家可以在Google上搜索以了解其具体用法. 1.6.2 Nagios应该监控的服务器基础选项 经过工作实践,我们认为Nagios应该监控服务器的参数有如下几个方

LR 监控Linux服务器

一.测试环境: Linux:CentOS release 5.5 (cat /etc/redhat-release) LR:9.5 二.由于待测Linux系统被阉割过的,缺少必要的包,在网络上也参考了一些文档,下面是本人的使用心得 1. 准备如下的rpm包 rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm rstatd-3.03-1.i386.rpm(网上的文档都是tar.gz 包,需要编译,麻烦还需要安装gcc的包) setuptool-1.19

利用微信的公众平台监控管理linux服务器

最近懒得做运维自动化了,看到市场部门的同事在调用公众平台的接口,感觉很有意思~就想试试用这个管理简单的管理linux主机,并推送告警信息. 打算这段时间主要再扩展下这个应用~ 增加一些危险字符的判断,可以自己指定一个转义字符 2   针对post的数据进行加密下  比如     555ifconfig     这个555就是密码,在后端会有判断的,没有555的一切命令都不会执行 3   微信平台也可以恢复一些图文的,我可以把流量图,或者是各种rrd库里面的图,发给客户端 申请微信公众平台 参考

【工具】tsar 监控Linux系统状态的利器

一 简介 tsar(Taobao System Activity Reporter)可将收集到的数据存储在磁盘上,另外可以支持将数据存储到MySQL中,也可将数据发送到Nagios报警服务器.在展示数据层面,可以指定模块,并且支持对多条信息的数据进行Merge输出,如果带--live参数,还可以输出秒级的实时信息.tsar 可以监控CPU.IO.内存.TCP等系统状态,也可监控Apache.Nginx/Tengine.Squid等服务器状态. 二 如何使用本文主要介绍tsar 如何监控linux

《构建高可用Linux服务器 第3版》—— 1.2 全面了解Linux服务器

1.3 Linux服务器的网络配置 Linux服务器的系统安装好后,就要在机房或公司内网环境中配置它的IP了,这是最重要的一个环节,下面我就以CentOS 5.8 x86_64服务器为例来说明如何通过命令或图形来配置Linux服务器的IP.网关.DNS,以及如何用命令查看Linux的进程或网络连接等. 1.3.1 配置Linux服务器的网络 1.手动修改配置网卡文件 手动配置网卡是最直接的方式,熟练的系统管理员在平时维护系统的时候更喜欢使用这种方式,因为手工配置有很多优点: 熟悉命令之后,手工配

《构建高可用Linux服务器 第3版》—— 导读

前言 我的系统架构师之路 2004年我初识UNIX开源系统.那会儿我正在一家大型国有企业做系统管理员,负责值守公司的Windows Server 2000服务器.当时"震荡波"和"冲击波"这两种病毒很猖狂,虽然我们在防毒方面投入了大量的精力和金钱(当时购买的都是正版Windows 2000系统和正版瑞星杀毒软件),但新上线的机器,偶尔也有遗漏的时候,没有打补丁的机器无一幸免,所以对这个问题比较头疼.有一次去朋友的公司(某省太平洋寿险下面的一个分支机构)参观,我发现他

Cacti中增加linux服务器监控

上一篇文章通过全yum的方式已经搭建好了Cacti监控平台,这篇文章介绍如何在Cacti系统中接入一台linux服务器,来监控该服务器的CPU.内存.网络流量等. 一共就需要两个步骤(注意服务器时间要一致): 1.在被监控的linux服务器中安装配置好SNMP 2.在Cacti服务器中添加被监控的linux服务器 一.配置linux服务器 当前linux服务器版本Centos 6.7 IP192.168.0.71 Cacti服务器版本Centos 6.7 IP192.168.0.70 1.安装n

Linux服务器性能追踪以及服务器监控常用命令

在网站性能优化中,我们经常要检查服务器的各种指标,以便快速找到害群之马.大多情况下,我们会使用cacti.nagois或者zabbix之类的监控软件,但是这类软件安装起来比较麻烦,在一个小型服务器,我们想尽快找到问题所在,还是要使用Linux提供的一些命令. 1. 内存检查:free -m 注意,重点看的是第二行,-/+ buffers/cache行,第一个数字是实际消耗的内存,第二个是实际空闲的内存. 2. 系统进程监控 top Top命令注意看输出的第二.第三行.第二行(Tasks)表示系统

使用监控宝监控你的Linux服务器(附图)

在http://www.unixbar.net/中看到使用监控宝监控服务器,感觉不错,就安装配置了一个,下面介绍一下具体的安装方法!监控宝使用标准的SNMP协议来为用户提供服务器监控功能,这意味着被监控的服务器上必须运行SNMP代理程序(snmpd),接下来我们将详细介绍如何在 Linux服务器上安装.开启Snmp代理,并且进行必要的安全配置,开启了nginx监控和服务器i/o,cpu负载,内存负载等相关的功能.以下的示例采用centos环境,但它 同样适用于其它Linux发行版.1.编译和安装