成功实现syslog在cacti上的插件
成功实现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开机启动
第二部:配置syslog的数据库[root@localhost~]# mysql -u root -p 輸入剛剛設定好的root密碼 |
以上可以参考如下语法:
----------------------------------------------------
以下範例是使用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 |
|
可以看到以上设置$use_cacti_db = false;这个是设置syslog是否要使用cacti的数据库,我在这里不使用cacti的数据,因为syslog往往比较多,日志比较多,为了便于备份和使用,还是选择用一个独立的数据库。因此要在下面设置连接数据库的用户名,密码,数据库名等。设置好后我们打开cacti,点console——Plugin Management,可以看到syslog还没有被启用,先启用settings插件,再启用syslog插件。
我们点syslog前面的那个先下箭头的小原点,会出现如下图
这里是对syslog数据的一些设置第分别为Database Storage Engine(数据库存储引擎)、Database Architecutre(数据库架构)这二项在一般默认,如果你的mysql数据库为5.1.6后者以上可以选择InnoDB Storage 和Partitioned Table,可以提高syslog的性能最后一项是Retention Policy(保留策略)就是要在syslog存储多长的时间,这个可以根据自己的需求设定,最后我们点install
就可以看到syslog已经安装,但是还没有启用,我们点那个绿色箭头就可以启用syslog
启用后我们可以看到syslog了
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
实在不行才用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里看到接受到的日志
效果图
syslog可以接受到防火墙,路由器,交换机,服务器的日志,并自动分为7个等级,并用不通的颜色表示,看起来直观,也做到的日志的集中收集与查看.另外还可以在cacti里对的setting里对syslog插件进行一些设置。
- 点赞
- 收藏
- 关注作者
评论(0)