成功实现syslog在cacti上的插件

举报
andyleung 发表于 2018/08/16 12:38:08 2018/08/16
【摘要】 成功实现syslog: 第一步:配置环境,把拿到的数据导进去mysql数据库我用的是centos6.5使用的是rsyslog,配置下就可以用来接受日志。可是要收集日志就还要安装syslog-ng用来接受日志。另外还要安装rsyslog-mysql来把接受到的日志插入到mysql数据库里 yum install -y rsyslog rsyslog-mysql下面我们要对rsyslog进行...

 

成功实现syslog


 

第一步:配置环境,把拿到的数据导进去mysql数据库

我用的是centos6.5使用的是rsyslog,配置下就可以用来接受日志。可是要收集日志就还要安装syslog-ng用来接受日志。另外还要安装rsyslog-mysql来把接受到的日志插入到mysql数据库里 

yum install  -y rsyslog rsyslog-mysql

下面我们要对rsyslog进行设置

vi  /etc/rsyslog.conf

在文件最后添加加红色字部分就好

# ### end of the forwarding rule ###

$ModLoad imudp.so

$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,cactiuser,cactifans.org;cacti_syslog

 

-------------------------------------------------------------------------------------这是源

$ModLoad imudp.so

$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,cactiuser,cactifans.org;cacti_syslog

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

然后保存,重新启动rsyslog,并设置rsyslog开机启动

 

chkconfig rsyslog on

service rsyslog restart

第二部:配置syslog的数据库

[root@localhost~]#   mysql -u root -p
 
Enter password:

輸入剛剛設定好的root密碼
 
  進入資料庫之後,建立syslog的資料庫
  mysql> create database syslog;
 
Query OK, 1 row affected (0.00 sec)

建立使用者syslog,對於syslog這個資料庫的所有使用權,並設定cactiuser這個使用者的密碼為cactifans.org
 
 

mysql> GRANT ALL ON syslog.* TO cactiuser@localhost IDENTIFIED BY   'cactifans.org';
 
Query OK, 1 row affected (0.00 sec)
 
更新資料庫的授權表
  mysql> flush privileges;
  Query OK, 1 row affected (0.00 sec)
 
  離開資料庫
  mysql> exit
  Bye
 
设置的数据库名:syslog 用户名:cactiuser 密码:cactifans.org 可以自行设定

 

 

以上可以参考如下语法:

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

以下範例是使用root帳號來建立資料庫給cacti。設定cacti的帳號為:cacti 密碼:centos

[root@localhost~]# mysql -u root -p
Enter password:

輸入剛剛設定好的root密碼

進入資料庫之後,建立cacti的資料庫
mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

建立使用者cacti,對於cacti這個資料庫的所有使用權,並設定cacti這個使用者的密碼為centos
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'centos';
Query OK, 1 row affected (0.00 sec)

更新資料庫的授權表
mysql> flush privileges;
Query OK, 1 row affected (0.00 sec)

離開資料庫
mysql> exit
Bye
-----------------------------------------------

安装syslog插件-与安装其他插件差不多

由于syslog依赖settings插件,所以安装syslog插件之前先安装settings插件

先安装settings插件

cd  /usr/share/cacti/plugins

wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

mv  plugin:settings-v0.71-1.tgz  settings-v0.71-1.tgz

tar zxvf settings-v0.71-1.tgz -C /usr/share/cacti/plugins

chown -R apache:apache /usr/share/cacti/plugins/setting

再安装syslog插件

cd  /usr/share/cacti/plugins

wget http://docs.cacti.net/_media/plugin:syslog-v1.22-2.tgz -O syslog.tgz

tar zxvf syslog*.tgz –C /usr/share/cacti/plugins

chown -R apache:apache /usr/share/cacti/plugins/syslog

接下来我们进行一下配置 修改下面三个红色字体部分就好

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

vi /usr/share/cacti/plugins/syslog/config.php

......

global   $config, $database_type, $database_default, $database_hostname;

global   $database_username, $database_password, $database_port;

 

/* 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 = 'cactifans.org';

          $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;

}

.......

可以看到以上设置$use_cacti_db = false;这个是设置syslog是否要使用cacti的数据库,我在这里不使用cacti的数据,因为syslog往往比较多,日志比较多,为了便于备份和使用,还是选择用一个独立的数据库。因此要在下面设置连接数据库的用户名,密码,数据库名等。设置好后我们打开cacti,点console——Plugin Management,可以看到syslog还没有被启用,先启用settings插件,再启用syslog插件。

 image.png


我们点syslog前面的那个先下箭头的小原点,会出现如下图

 image.png


 

这里是对syslog数据的一些设置第分别为Database Storage Engine(数据库存储引擎)、Database Architecutre(数据库架构)这二项在一般默认,如果你的mysql数据库为5.1.6后者以上可以选择InnoDB Storage Partitioned Table,可以提高syslog的性能最后一项是Retention Policy(保留策略)就是要在syslog存储多长的时间,这个可以根据自己的需求设定,最后我们点install

 image.png


就可以看到syslog已经安装,但是还没有启用,我们点那个绿色箭头就可以启用syslog

image.png

启用后我们可以看到syslog

image.png

 Syslog的服务器也要把514端口打开:方法如下linux服务器设置一样。

4.被监控端设置

 

A.Linux服务器设置

 

 设置完毕后重启rsyslog服务,并在防火墙上允许udp 514端口

 或者直接把防火墙关了:

Step15:修改防火牆的設定】
這裡會建議初學者直接將防火牆關閉(service iptables stop

,讓之後debug會比較容易一點。
[root@localhost~]# vi /etc/sysconfig/iptables 把红色部分加进去就好
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT

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

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

將防火牆服務重新啟動
[root@localhost~]# /etc/init.d/iptables restart

chkconfig iptables on

实在不行才用Service iptables stop

Centos6.5

vi /etc/rsyslog.conf 在最后面加上下面红色字部分就可以了

# ### end of the forwarding rule ###

*.*    @202.46.32.84:514

 

 @后面为你的cacti服务器IP地址一般端口为514

 

设置完毕后重启rsyslog服务,并在防火墙上允许udp 514端口

 

通过以上设置就可以把服务器的所有日志发送到cacti服务器

 

B.网络设备

Cisco3750

SW3750 (config)#logging on

SW3750(config)#logging 192.168.X.X  //日志服务器的IP地址]

logging source-interface Loopback0 或者交换机上的其他接口

 

在设备上指定logging cacti的服务器就成了。(设备不通设置方法可能有所不同,可以参考设备说明书)

 

网络设备包括路由器,防火墙交换机。这样就可以在cacti里看到接受到的日志

 

效果图

image.png

 

 

syslog可以接受到防火墙,路由器,交换机,服务器的日志,并自动分为7个等级,并用不通的颜色表示,看起来直观,也做到的日志的集中收集与查看.另外还可以在cacti里对的setting里对syslog插件进行一些设置。

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。