cixiren 发表于 2018-11-13 09:04:02

使用cacti + snmp 实现对apache 、mysql 、 nginx 的监控的安装和配置

  1、修改snmpd.conf
  只需修改以下几个地方,其它地方保持默认即可。
  # vim /etc/snmp/snmpd.conf
  #       sec.namesource          community
  com2sec notConfigUserdefault       test       \\将这里的snmp团体名改成一个好记的名字,当然也可以不改,此处我改成了 test
  ####
  # 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 leastsnmpwalk -v 1 localhost -c public system fast again.
  #       name         incl/excl   subtree         mask(optional)
  view    all         included   .1            \\增加这一行,要用all 不能用systemview 要不然取不到数据。这是增加cpu取值的。
  view    systemview    included   .1.3.6.1.2.1.1
  view    systemview    included   .1.3.6.1.2.1.2            \\增加这一行。这是增加网卡取值的。
  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   writenotif
  accessnotConfigGroup ""      any       noauth    exactall none none            \\将这一行中的systemview改成all 否则影响cpu等系统信息的取值
  # -----------------------------------------------------------------------------
  # Here is a commented out example configuration that allows less
  # restrictive access.
  # 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.
  ##       sec.namesource          community
  com2sec local   localhost       COMMUNITY
  com2sec mynetwork 192.168.10.11/24      test \\将这里的snmp团体名改成和上面的一样的名字,允许访问的网络改成你的cacti主机的ip
  ##   group.name sec.modelsec.name
  #group MyRWGroupany      local
  #group MyROGroupany      mynetwork
  #
  #group MyRWGroupany      otherv3user
  #...
  ##         incl/excl subtree                        mask
  #view all    included.1                               80         \\将这一行前面的#去掉,否则影响cpu等系统信息的取值(其实我没改,好像也没关系)
  ## -or just the mib2 tree-
  view mib2   included.iso.org.dod.internet.mgmt.mib-2 fc                  \\将这一行前面的#去掉
  2、开放snmp通信端口
  # iptables; -A INPUT -s IP地址 -p tcp --dport 161 -j ACCEPT
  # iptables -A INPUT; -s IP地址 -p udp --dport 161 -j ACCEPT
  注意 一定要开udp的端口,以上两行 可以写到 /etc/sysconfig/iptables 中 这样 每次开机后会自动启用的
  3、测试snmp
  重启 snmp服务器
  #
  # services snmpd restrart
  #netstart –tlnp | grep 161 查看服务端口有没有起来
  如果没有snmptranslate; snmpwalk命令,请安装net-snmp-utils 包
  # snmptranslate -To | head; 如果取到部分oid 说明snmp工作正常 当然这个正常并不代表 cacti就能取到数据。还要进行下面的测试
  .1.3
  .1.3.6
  .1.3.6.1
  .1.3.6.1.1
  .1.3.6.1.2
  .1.3.6.1.2.1
  .1.3.6.1.2.1.1
  .1.3.6.1.2.1.1.1
  .1.3.6.1.2.1.1.2
  .1.3.6.1.2.1.1.3
  #
  # snmpwalk -v 1 -c test localhost 后将会输出很多信息 说明snmp工作没问题
  # snmpwalk -v 1 -c test localhost .1.3.6.1.4.1.2021.11 如果有输出,说明能取到cpu值
  # snmpwalk -v 1 -c test localhost .1.3.6.1.4.1.2021.10.1.3 如果有输出,说明能取到cpu值
  如果上面的测试输出为:End of MIB 说明不能取到cpu的值。
  需要注意的是,虽然在snmpd.conf 中配置了cpu的取值,但在cacti的图表中, cpu usage 图表常常是没有曲线图的,但下面是有数值的,这是正常的,只是因为数值太小 没法绘图

页: [1]
查看完整版本: 使用cacti + snmp 实现对apache 、mysql 、 nginx 的监控的安装和配置