设为首页 收藏本站
查看: 2402|回复: 0

[经验分享] Rsyslog_LogAnalyzer日志服务器部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-21 11:25:10 | 显示全部楼层 |阅读模式
简介
系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志)

centos5:syslog
   缺点:不能进行并行数据存储,效率低,不能实现放在专用数据管理文件中

centos6:rsyslog
   优点:
      1、支持多线程
      2、基于tcp,tls,relp放在远程日志服务器中,早期的syslog仅支持简单的文本传输模式实现日志发送,不安全
      3、支持将日志放到mysql,pgsql,oracle等多种数据库中
      4、强大的过滤器,可实现过滤系统信息中的任意部分
      5、支持完整的输出格式配置(自定义格式),特别适合企业级需求

facility:设施,从功能或程序上对日志进行分类,并由专门的工具负责记录其日志,不是syslog一个进程来接受,而是由代理人帮忙接受并记录下来
auth:认证相关

authpriv :授权信息

cron :计划任务

daemon:守护进程相关

lpr:打印机相关

mail:邮件相关

kern:内核相关

mark:防火墙标记相关

news:新闻组

security:安全

syslog:系统日志

user:用户相关

uucp:unix to unix copy

local0 through local7:8个自定义的设施
指定设施可以使用通配符:

*:所有设备

f1;f2;f3:列表

!:取反

日志级别:

   debug   :(调试信息)
   notice    :(注意或警告)
   warn|warning(此级别及以上级别都应该重视)
   error (错误)
   crit(蓝色警戒,再不处理就挂了)
   alert(橙色警戒)
   emerg|panic(红色警戒)
   能使用的通配符:
      *:所有级别
      none:不记录
target(将保存至的目标文件):
文件:例如/var/log/message
用户:*当前系统登录的所有用户

日志服务器:@server_ip
管道:| command
事件格式:
   时间  主机  进程  事件本身
配置文件:/etc/rsyslog.conf或/etc/rsyslog.d/*
1
2
3
4
5
6
7
配置文件段落
[iyunv@iptablesRouter ~]# grep "###" /etc/rsyslog.conf
#### MODULES ####
#### GLOBAL DIRECTIVES ####
#### RULES ####
# ### begin forwarding rule ###
# ### end of the forwarding rule ###



格式:facility.priority   target

例如:
mail.info   /var/log/maillog   info及以上级别
mail.=info   /var/log/maillog 明确指定级别
mail.!info   除了指定级别
*.info   所有facility的info及以上级别
mail.*   mail的所有级别
mail,news.info  mail和news的info及以上级别
mail.notice;news.info如果级别不同,使用;分隔
*.info  | command
日志一般是同步的,只有产生日志,就从内存写到磁盘,若使用异步,则在target前面加–

下面我们开始配置Centos 6.5 rsyslog日志系统服务:
系统环境:
                Rsyslog Server OS:CentOS 6.5
                Rsyslog Server IP:172.16.100.7
                Rsyslog 版本:rsyslog-5.8.10-8.el6.i686
                LogAnalyzer 版本:LogAnalyzer 3.6.5 (v3-stable)
                LAMP 版本:httpd-2.2.15-30.el6.centos.i686 + mysql-5.1.73-3.el6_5.i686 +                                 php-5.3.3-27.el6_5.i686
                防火墙已关闭/iptables: Firewall is not running.
                SELINUX=disabled
                Rsyslog Client OS:RHEL 6.5
                Rsyslog Client IP:172.16.100.8
配置日志服务器及客户端(本次案例实现为:单机作为服务器同时也是客户端):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
去掉注释并重启即可打开日志服务器功能
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
重启日志服务器
[iyunv@iptablesRouter ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
[iyunv@iptablesRouter ~]# netstat -tunlp | grep 514
tcp        0      0 0.0.0.0:514                 0.0.0.0:*                   LISTEN      5017/rsyslogd      
tcp        0      0 :::514                      :::*                        LISTEN      5017/rsyslogd      
udp        0      0 0.0.0.0:514                 0.0.0.0:*                               5017/rsyslogd      
udp        0      0 :::514                      :::*                                    5017/rsyslogd

配置客户端:
修改配置文件:
#*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none                @172.16.100.7    --指定日志服务器地址
重启:
[iyunv@iptablesInclient ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
测试安装gcc:
[iyunv@iptablesInclient ~]# yum -y install gcc
检测日志记录:
[iyunv@iptablesRouter ~]# tail -f /var/log/messages
Mar 26 22:37:20 iptablesInclient yum[16488]: Installed: zsh-4.3.10-7.el6.x86_64




将日志放到mysql中
实现该功能需要用模块来实现,用mysql驱动连接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
安装mysql-server,rsyslog-mysql:
[iyunv@iptablesRouter ~]# yum -y install mysql-server rsyslog-mysql
查看rsyslog-mysql安装生成的文件:
[iyunv@iptablesRouter ~]# rpm -ql rsyslog-mysql
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
启动mysql服务:
[iyunv@iptablesRouter ~]# service mysqld start
编辑/etc/rsyslog.conf
模块端添加:
#log event to mysql
$ModLoad ommysql
roles端添加:
*.info   :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
导入文件(即创建数据库):
[iyunv@iptablesRouter ~]# mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
进入数据库
[iyunv@iptablesRouter ~]# mysql
查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.01 sec)
使用Syslog:
mysql> USE Syslog;
查看表:
mysql> SHOW TABLES;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.01 sec)
创建用户、密码
mysql> GRANT ALL ON Syslog.* TO rsysloguser@127.0.0.1 IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL ON Syslog.* TO rsysloguser@localhost IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.00 sec)
刷新权限:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
重启rsyslog:
[iyunv@iptablesRouter ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]



客户端安装tree程序:
1
[iyunv@iptablesInclient ~]# yum -y install tree



查看服务器的客户端日志文件:
1
2
[iyunv@iptablesRouter ~]# tail -f /var/log/messages
Mar 26 23:03:57 iptablesInclient yum[16580]: Installed: tree-1.5.3-2.el6.x86_64



查看服务器mysql记录日志:
1
2
3
4
5
6
7
8
9
mysql> use Syslog;
Database changed
mysql> SELECT FromHost,ReceivedAt,DeviceReportedTime,Message FROM SystemEvents\G;
*************************** 1. row ***************************
          FromHost: iptablesInclient
        ReceivedAt: 2016-04-20 11:16:36
DeviceReportedTime: 2016-03-26 23:03:57
           Message:  Installed: tree-1.5.3-2.el6.x86_64
1 row in set (0.00 sec)



通过loganalyzer展示
安装并设置LAMP环境
1
[iyunv@iptablesRouter ~]# yum -y install httpd php php-mysql php-gd mysql-server



启动httpd服务:
1
2
[iyunv@iptablesRouter ~]# service httpd start
Starting httpd:                                            [  OK  ]



提供测试页:
1
2
3
4
[iyunv@iptablesRouter ~]# vim /web/htdocs/index.php
<?php
    phpinfo();
?>



测试访问web测试页:
QQ截图20160421112307.jpg
安装LogAnalyzer
1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@iptablesRouter ~]# tar xf loganalyzer-3.6.5.tar.gz ^C
[iyunv@iptablesRouter ~]# cd loganalyzer-3.6.5
[iyunv@iptablesRouter loganalyzer-3.6.5]# mkdir -p /web/htdocs/loganalyzer
[iyunv@iptablesRouter loganalyzer-3.6.5]# rsync -a src/* /web/htdocs/loganalyzer/
[iyunv@iptablesRouter loganalyzer-3.6.5]# cp contrib/* /web/htdocs/loganalyzer/
[iyunv@iptablesRouter loganalyzer-3.6.5]# chmod +x /web/htdocs/loganalyzer/configure.sh
[iyunv@iptablesRouter loganalyzer-3.6.5]# chmod +x /web/htdocs/loganalyzer/secure.sh
[iyunv@iptablesRouter loganalyzer-3.6.5]# cd /web/htdocs/loganalyzer/
[iyunv@iptablesRouter loganalyzer]# ./configure.sh
[iyunv@iptablesRouter loganalyzer]# ./secure.sh
[iyunv@iptablesRouter loganalyzer]# touch  config.php
[iyunv@iptablesRouter loganalyzer]# chmod 666 config.php
[iyunv@iptablesRouter loganalyzer]# chown -R apache.apache ./*



在浏览器安装向导中安装LogAnalyzer
打开浏览器访问:http://172.16.100./loganalyzer/
QQ截图20160421112312.jpg 提示没有配置文件,点击 here 利用向导生成。

第一步:测试系统环境
QQ截图20160421112317.jpg
点击 “Next”,进入第二步。
QQ截图20160421112323.jpg
点击 “Next”,进入第三步
QQ截图20160421112330.jpg 在User Database Options 中,填入上面设置的参数,然后点击 Next.
QQ截图20160421112337.jpg
点击 Next 开始创建表
检查SQL结果
QQ截图20160421112342.jpg
创建管理用户
QQ截图20160421112350.jpg
创建第一个系统日志source
QQ截图20160421112357.jpg
完成配置:
QQ截图20160421112402.jpg
LogAnalyzer 首页
QQ截图20160421112409.jpg
Rsyslog + LogAnalyzer 日志服务器部署完毕


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-206937-1-1.html 上篇帖子: MySQL存储日志并使用Loganalyzer作为前端展示 下篇帖子: CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux客户端配置 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表