Cacti—rsyslog收集外部设备日志

一、安装rsyslog

一般centos6及以上系统已经安装好了,这里使用的centos7.4

使用rpm   -qa  rsyslog查看是否安装

[root@localhost ~]# rpm   -qa  rsyslog

 

出现安装包就说明已安装,然后只需安装rsyslog-mysql
[root@localhost ~]#yum install  -y  rsyslog-mysql 
编辑配置文件,在文件最后面添加以下内容

[root@localhost ~]# vi /etc/rsyslog.conf

-----------------------------------------------------------------------------------------------------------------------------------

$ModLoad imudp

$UDPServerRun 514

$ModLoad ommysql

$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

*.*    >localhost,syslog,cacti,cacti;cacti_syslog

-----------------------------------------------------------------------------------------------------------------------------------

红色字体部分根据实际情况修改 (为数据库地址、数据库名、用户名、密码)

 

 备注:

1.$template   cacti_syslog(这里“cacti_syslog” 字符串可以为任何其他的描述性的名称)指令使rsyslog后台进程将日志消息写到单独的本地日志文件中(这里指到数据库),其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。
2.*.* 这行行暗示了我们将cacti_syslog模板应用到所有接收到的日志上。
3.还可以添加一行" & ~ "  : 符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。

 

[root@localhost ~]# vi /etc/sysconfig/rsyslog                 //修改为下图所示

-------------------------------------------------------------------

SYSLOGD_OPTIONS="-c 5 -r -m 0"

KLOGD_OPTIONS="-x"

 --------------------------------------------------------------------

 

 

 

重启服务

[root@localhost ~]# systemctl  restart  rsyslog

开机自启

[root@localhost ~]# systemctl  enable  rsyslog

二、配置数据库

数据库安装参考链接:https://www.cnblogs.com/xiaopotian/p/8196464.html

登录mysql:mysql  -uroot  -p

创建数据库:create  database  syslog  default  character  set  utf8;

授权:grant all privileges on syslog.*  to  cactiuser@localhost  identified  by  'cactipasswd';

注:syslog为数据库名,cactiuser为cacti用户,cactipasswd为cacti用户密码

立即生效:flush  privileges;

三、安装syslog插件

先安装setting

[root@localhost plugins]# cd  /var/www/html/cacti/plugins/

[root@localhost]#wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz -O settings.tgz 
[root@localhostplugins]#tar zxvf settings.tgz 
在安装syslog
[root@localhost]#wget http://docs.cacti.net/_media/plugin:syslog-v1.22-2.tgz -O syslog.tgz
[root@localhost plugins]#tar zxvf syslog*.tgz
 

修改配置

[root@localhost plugins]#vi  /var/www/html/cacti/plugins/syslog/config.php

更改红色字体内容

/* revert if you dont use the Cacti database */
$use_cacti_db = false;
 
if (!$use_cacti_db) {
        $syslogdb_type     = 'mysql';
        $syslogdb_default  = 'syslog';
        $syslogdb_hostname = 'localhost';
        $syslogdb_username = 'cactiuser';
        $syslogdb_password = 'cactipasswd';
        $syslogdb_port     = 3306;
         }else{
        $syslogdb_type     = $database_type;
        $syslogdb_default  = $database_default;
       $syslogdb_hostname = $database_hostname;
       $syslogdb_username = $database_username;
       $syslogdb_password = $database_password;
       $syslogdb_port     = $database_port;
}

最后将数据库导入

mysql –ucactiuser -pcactipaswd  syslog < /var/www/html/cacti/plugins/syslog/syslog.sql

 

 

 

四、防火墙添加规则,开放tcp和udp514端口

iptables -A INPUT -p udp -m state --state NEW -m udp --dport 514  -j ACCEPT

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 514  -j ACCEPT

service iptables save

service iptables status

 

 cacti 里的安装设置

 

 

 

 

 

 

 

 

安装完成,首页多了个选项

 

 

 

参考文献:https://www.cactifans.org/cacti/450.html

                 https://www.cnblogs.com/xiaopotian/p/8196464.html

                https://www.cnblogs.com/daiss314/p/13221247.html

posted @ 2020-11-04 15:14  我梦z  阅读(643)  评论(0)    收藏  举报