look321 发表于 2019-1-9 11:28:10

Linux 之cacti 监控介绍

  cacti (rrdtool是画图工具,)监控网设备占优势。
  nagios 直观一目了然,可以自已写脚本,但是不支持历史数据的查看。
  zabbix,功能丰富。
  

  安装 cacti服务端#楼主的系统是centenOS 6
  首先现在如下rpm包,然后安装对应的rpm包epel源
centos5 32位epel源下载地址: www.lishiming.net/data/attachment/forum/epel-release-5-4_32.noarch.rpm
64位下载地址:www.lishiming.net/data/attachment/forum/epel-release-5-4_64.noarch.rpm


centos6
32位epel yum源下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
64位下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm
  

  2. (lamp)然后分别安装httpd、php、mysql#搭建LAMP 的环境 (LAMP 环境搭建参见前面)
yum install -yhttpd php php-mysql mysql mysql-server mysql-devel php-gdlibjpeg libjpeg-devel libpng libpng-devel
  

  3. 安装cactinet-snmprrdtool
yum install -y cactinet-snmpnet-snmp-utilsrrdtool
  # yum install -y cactinet-snmpnet-snmp-utilsrrdtool
  

  4. 启动服务:
/etc/init.d/mysqld start
/etc/init.d/httpdstart
/etc/init.d/snmpd start
  

  说明:由于前面安装过LNMP,用yum安装LNMP后启动httpd出问题
error1:Could not reliably determine the server's fully qualified domain name
原因:这是在/etc/httpd/conf/httpd.conf中确实对主机端口的指定
解决办法:vim /etc/httpd/conf/httpd.conf 增加一条 ServerName localhost:80
error2:(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
原因:80端口被占用
解决办法:netstat -lnp |grep 80 ;发现nginx占用80端口,使用kill -9 PID 结果nginx重启了,使用killall nginx杀死成功。/etc/init.d/httpd start   ok
  

http://s2.运维网.com/wyfs02/M01/8C/19/wKiom1hh4x2ihTy_AAEPXWLg1mU999.jpg--------------------------------------------------------------------
  # vim /etc/httpd/conf.d/cacti.conf #编辑配置文件。使apache能访问cacti web页面
  

                                 把"Deny from all" 改为"Allow from all"。如果不改会访问403
  

  
  # /etc/init.d/httpd restart#重启apache 服务
  Stopping httpd:                                          
  Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 10.72.4.39 for ServerName
                                                           
  

  # mysql -uroot-pzaq12wsx       #进入数据库,LAMP
                  mysql> create database cacti;#创建数据库 cacti ;
                  mysql> show databases;
                  mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
                       #设置数据库权限,用户名&密码 .cacti.* 表示所有的示,用户名和密码一样
                       生产环境中不建议这样设置密码。
http://s3.运维网.com/wyfs02/M00/8C/0A/wKioL1hgleOS9joXAAEdnSFQvbo409.jpg
  

  导入sql文件(注意文件路径不要错了)
  # mysql -uroot -pzaq12wsx cacti </usr/share/doc/cacti-0.8.8h/cacti.sql
  

  # vim /usr/share/cacti/include/config.php #编辑cacti的配置文伯
  

  /* make sure these values refect your actual database/host/user/password */
  $database_type = "mysql";
  $database_default = "cacti";
  $database_hostname = "127.0.0.1"; #localhost更改为 127.0.0.1
  $database_username = "cacti";   #更改为cacti,前面设置的
  $database_password = "cacti";   #更改为cacti
  $database_port = "3306";
  $database_ssl = false;
  楼主localhost没有改出了个小插曲:
http://s2.运维网.com/wyfs02/M02/8C/0A/wKioL1hgqoOSbnYFAACbMvs6K2c262.jpg
  更改后出现cacti 的安装界面:
  使用IE访问:10.72.4.39/cacti

  第一步 :点击“NEXT”
http://s3.运维网.com/wyfs02/M02/8C/0B/wKioL1hgqt6CiwZ8AAHvMtS9R_w705.jpg
  第二步:选择全新安装
http://s5.运维网.com/wyfs02/M02/8C/0B/wKioL1hgrB2gfOZbAAD3ugGZ0-Q722.jpg
  第三步:路径保持黙认,点击finish 完成。
http://s1.运维网.com/wyfs02/M00/8C/0E/wKiom1hgrXmBkfS5AAI5AtVFqL4103.jpg
  

  第四步进入黙认登录页面:
  输入黙认的帐户密码,会提示更改。admin:zaq12wsx
http://s1.运维网.com/wyfs02/M00/8C/0B/wKioL1hgrmjCRvIlAAC-MYxX8KM233.jpghttp://s1.运维网.com/wyfs02/M00/8C/0E/wKiom1hgr0aQxumsAADkHejpb_o402.jpg
  点击: graphs
http://s2.运维网.com/wyfs02/M00/8C/0B/wKioL1hgr67SrmGfAAFcQQY8mMw566.jpg
  

  执行poller.php, 生成图形, 加入计划任务
  # /usr/bin/php /usr/share/cacti/poller.php
  #/usr/bin/php /usr/share/cacti/poller.php添加cron任务
  #执行poller.php 会有报错,因为我们没有设置“timezone”
  

  PHP Warning:strtotime(): It is not safe to rely on the system's timezone settings.
  

  # vim /etc/php.ini#设置 timezome = Asia/Chongqing
  

  # /usr/bin/php /usr/share/cacti/poller.php#再次执行,就不会有警告
  

  
  # crontab -e#加入任务计划。每5分钟执行一次
  

  */5 * * * */usr/bin/php /usr/share/cacti/poller.php
  

http://s4.运维网.com/wyfs02/M00/8C/0B/wKioL1hgtI2i6IhGAAKqPm9STVk710.jpg5分钟这后可以看到各种数据
http://s2.运维网.com/wyfs02/M00/8C/0F/wKiom1hguVXRgCXGAAJO58fYN8Y233.jpg
  

  -----------------------------------分割线-----------------------------------
  安装客户端(增加一个linux服务器)
  

  # yum install -y net-snmp #安装 net-snmp
  

  # vim /etc/snmp/snmpd.conf #编辑snmpd.conf 配置文件
  

  #syslocation Unknown (edit /etc/snmp/snmpd.conf)
  #syscontact Root(configure /etc/snmp/snmp.local.conf)
  更改以上为以下
  syslocation OBird.LNMP #此处自定义
  syscontact Root 123321@.1212.com#管理员邮箱
  

  # service snmpd start#启动snmpd 服务
  Starting snmpd:                                          
  

  # netstat -lnp | grep 161#查看服务端口是否启动
  udp      0      0 0.0.0.0:161               0.0.0.0:*                               3298/snmpd
  

  selinux 记的要关闭。
Iptables 记得要开启udp161端口,当然直接关闭iptables也是可以的。
  

  vi/etc/sysconfig/iptables #编辑防火墙配置(centos 6)
-AINPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
  

  在网页端设置添加客户端 ,参照以下步骤设置,最后点击右下角 "Create "
http://s3.运维网.com/wyfs02/M01/8C/0F/wKiom1hgv2Tw1w3_AAFpTEMsNrI515.jpghttp://s2.运维网.com/wyfs02/M00/8C/10/wKiom1hgwQjzQTBIAAIYFG4zxqI832.jpg创建监测的数据:
http://s4.运维网.com/wyfs02/M01/8C/10/wKiom1hgxdmiDszQAACMNmG9slY666.jpg
http://s5.运维网.com/wyfs02/M02/8C/0C/wKioL1hgxkzTeQTQAAEqdDCUmGI571.jpghttp://s2.运维网.com/wyfs02/M02/8C/10/wKiom1hgx9rAKaXZAAD7CDos8wQ109.jpg
  添加另一台linux _LNMP 到localhost
http://s2.运维网.com/wyfs02/M00/8C/10/wKiom1hgyJPzDWd_AAFhlpP7tSA267.jpghttp://s4.运维网.com/wyfs02/M02/8C/0C/wKioL1hgyZWRsFLrAAElBhaCTzA064.jpghttp://s2.运维网.com/wyfs02/M00/8C/0C/wKioL1hgyduiHk0KAAHNoW14oZA280.jpg
  

  ---------------------------------------------------
  在网上查寻到要更改以下设置:才能看到被监控的客户端。
  # vim /etc/snmp/snmpd.conf
  1. 查找以下字段

  #       sec.namesource          community
  com2sec notConfigUser 10.72.4.39       public
  
将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如10.72.4.39(服务端的IP)
2. 查找以下字段:

  #       group          context sec.model sec.level prefix read   writenotif
  #accessnotConfigGroup ""      any       noauth    exactsystemview none none
  accessnotConfigGroup ""      any       noauth    exact all none none
  #将"read"字段值改为all.



  
查找以下字段:

## incl/excl subtree mask
#view all included .1 80   # 将该行前面的"#"去掉. 保存关闭.
  

http://s4.运维网.com/wyfs02/M00/8C/16/wKioL1hh82exaOdQAAIElVcMNwI023.jpg



页: [1]
查看完整版本: Linux 之cacti 监控介绍