lyl801013 发表于 2015-11-22 15:04:38

CACTI安装syslog插件

                CACTI安装syslog插件   
     Cacti安装syslog插件,使之成为中央日志服务器,通过syslog插件展示,从服务器通过网络将日志实时发送到中央日志服务器。
  syslog插件,是通过rsyslog或syslog-ng与mysql的交互,将日志存放到mysql数据库中,cacti中的syslog插件从mysql中检索查看日志数据。因此,首先要配置一台rsyslog与mysql的日志中心服务器来接收客户机的日志;其次,配置cacti的syslog插件,通过该插件检索与查询mysql中的日志。可以收集来自linux、windows等服务器和交换机路由器的日志。做到集中和分类查看。
  其中涉及到的有监控端和被监控端,以下从这两个方向说起:
  第一个、监控端(即安装Cacti的服务器)
  一、设置接收日志   
  在这里我们要想接收日志信息,并在cacti的syslog插件中显示接收到的日志,首先是接收日志,有二种办法:
  a.使用syslog-ng,在centos5.5及以下系统上,系统默认有syslog,可以发送日志,但不能接受日志,因此要借助于syslog-ng,来接收发送过来的日志,并规范成一个模版,再通过自己写的脚本,插入到mysql数据库里
  b.使用rsyslog,rsyslog是在centos6以上系统自带的,rsyslog不仅能接收日志,还可以发送日志,因此要是在centos6以上系统就不需要额外安装syslog-ng接收日志了,用自带的rsylog就可以接收日志,再用rsyslog-mysql就可以把接收到的日志写入mysql数据库。
  由于我现在的系统是centos6.0,因此不采用第一种,而是采用第二种方案进行设置;
  1.安装rsyslog,首先需要在监控端安装rsyslog和rsyslog-mysql
  

  (由于我本身已经安装了,其显示信息的如下:)


  2.编辑rsyslog的配置文件(/etc/rsyslog.conf)
  

  在其最后添加下面的内容:


  ##新增加的内容
  # provides UDP syslog reception
  $ModLoad imudp
  # start a UDP syslog server at standard port 514
  $UDPServerRun 514
  # Provides kernel logging support (previously done by rklogd)
  $ModLoad imklog
  # Provides support for local system logging (e.g. via logger command)
  $ModLoad imuxsock
  # provides --MARK-- message capability
  $ModLoad immark
  # provides UDP syslog reception
  $ModLoad imudp
  # provides TCP syslog reception and GSS-API (if compiled to support it)
  $ModLoad imtcp
  # provides mysql
  $ModLoad ommysql
  # Use costomer timestamp format
  $template cacti_syslog,"INSERT INTO syslog_incoming(facility, priority, date, time, host, message) values (%syslogfacility%, %syslogpriority%,'%timereported:::date-mysql%', '%timereported:::date-mysql%', '%HOSTNAME%', '%msg%')", SQL
  # Insert the log's text into the Syslog database by the costomer timestamp format of the cacti_syslog template
  *.*             :ommysql:localhost,syslog,cacti,123456;cacti_syslog
  # Write the log to the /var/log/file.log repeat
  *.*             /var/log/file.log


  其中syslog为数据库,cacti为数据库用户,123456为密码
  
  编辑完成后,保存并退出。
  3.修改/etc/sysconfig/rsyslog文件
  
  添加以下代码,使之允许远程接收日志


  
  保存并退出!
  
  4.重启rsyslog,


  二、安装syslog插件
  1.下载并安装syslog插件
  

  #tarxvfsyslog-v1.22-2.tar
  #mv syslog ./cacti/plugins
  #chown -R cacti.cacti
  2.创建数据库syslog,并导入数据
  #mysql -ucacti -p123456
  mysql>create database syslog;
  mysql>grant all privileges on syslog.* on cacti@localhost identified by '123456' with grant option;
  mysql>flush privileges;
  mysql>exit;
  #mysql -ucacti -p123456syslog
   --default-character-set=utf8</var/www/cacti/plugins/syslog/syslog.sql
  3.修改配置文件config.php
  

  

  我们在上面设置为$use_cacti_db = false;这个是设置syslog是否要使用cacti的数据库,我在这里不使用cacti的数据,因为syslog往往比较多,日志比较多,为了便于备份和使用,还是选择用一个独立的数据库。因此要在下面设置连接数据库的用户名,密码,数据库名等
  第二个、被监控端
  被监控端的设置很简单,只是修改其中的/etc/rsyslog.conf的的设置即可,如下


  在最后一行添加


  (注:192.168.7.125为我们监控端的IP)
  三、cacti主页中启动syslog
  

  和其他的插件启动一样的设置,这里不再赘述!简单说说刚启动后,出现的一些设置情况,
  

  这里是对syslog数据的一些设置第分别为Database Storage Engine(数据库存储引擎)、Database Architecutre(数据库架构)这二项在一般默认,如果你的mysql数据库为5.1.6后者以上可以选择InnoDB Storage 和Partitioned Table,可以提高syslog的性能最后一项是Retention Policy(保留策略)就是要在syslog存储多长的时间,这个可以根据自己的需求设定 。
页: [1]
查看完整版本: CACTI安装syslog插件