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

[经验分享] rsyslog日志管理(mariadb+loganalyzer)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-22 09:09:04 | 显示全部楼层 |阅读模式
这里演示的只是简单的本地LAMP结构,mysql用来存储由rsyslog服务发来的日志,php用来运行loganalyzer程序。
loganalyzer是一个php应用,用来展示mysql中存储的日志。
loganalyzer下载地址:

http://download.adiscon.com/loganalyzer/loganalyzer-4.1.3.tar.gz


目录:
1、安装LAMP。

3、mysql给rsyslog授权存储日志。


注意:时间同步。
loganalyzer所在系统:centos 7.1

1、安装LAMP:
1
[iyunv@localhost ~]# yum install httpd php php-mysql mariadb-server -y



测试web可用(添加php测试页):
1
2
3
4
5
[iyunv@localhost ~]# vim /var/www/html/index.php

<?php
        phpinfo();
?>



1
2
[iyunv@localhost ~]# systemctl start httpd        #启动httpd服务。
[iyunv@localhost ~]# systemctl start mariadb       #启动mysql服务。



wKiom1agf-HzxB0TAAAjDYIyuFA426.jpg


2、客户端note2:
安装rsyslog-mysql 用以支持mysql系列数据库:
1
2
3
4
5
[iyunv@node2 ~]# yum install rsyslog-mysql -y
[iyunv@node2 ~]# 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



最后面是一个自动生成数据库和表的sql脚本。我们这里mysql是刚装的,没有远程管理用户,所以就复制到mysql所在主机导入一下。
1
[iyunv@node2 ~]# scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 172.16.40.10:/root



LAMP主机:
1
2
3
4
5
6
7
8
9
10
11
[iyunv@localhost ~]# mysql < /root/createDB.sql     #也可以在mysql交互界面用source来导入。
[iyunv@localhost ~]# mysql -e 'SHOW DATABASES;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |        #生成了Syslog数据库。
| mysql              |
| performance_schema |
| test               |
+--------------------+



给客户端授权用户:
1
MariaDB [Syslog]> GRANT INSERT ON Syslog.* TO 'loguser'@'172.16.40.%' IDENTIFIED BY 'abcdefg';




note2:
1
[iyunv@node2 ~]# vim /etc/rsyslog.conf



wKiom1agg-Xy1HFqAAB5tAPu160522.jpg
在RULES段里面改一下。
wKioL1aghxixEE-jAAAvyDgoNr0979.jpg
我这里把原来保存至messages的记录,送到了数据库172.16.40.10。
:ommysql:DBHOST,DB,DBUSER,DBUSERPASSWD
重启rsyslog服务(客户端是centos6):
1
2
3
[iyunv@node2 ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]



这里可以yum安装一些东西试一下,看mysql中是否有记录。

我这里用yum卸载了zsh,已经有记录了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
MariaDB [Syslog]> SELECT * FROM Syslog.SystemEvents\G
.....
*************************** 5. row ***************************
                ID: 5
        CustomerID: NULL
        ReceivedAt: 2016-01-21 15:28:13
DeviceReportedTime: 2016-01-21 15:28:13
          Facility: 1
          Priority: 6
          FromHost: node2
           Message:  Erased: zsh
.....
         SysLogTag: yum[1802]:
.....



而且也还有rsyslog启动的记录。



客户端2(node1):
过程是一样的,只不过不用再导入那个sql脚本了。
1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@node1 ~]# yum install rsyslog-mysql -y
[iyunv@node1 ~]# vim /etc/rsyslog.conf

#### MODULES ####

$ModLoad ommysql        #模块
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
.....
#### RULES ####

*.info;mail.none;authpriv.none;cron.none                :ommysql:172.16.40.10,Syslog,loguser,abcdefg



重启服务,centos7
1
[iyunv@node1 ~]# systemctl restart rsyslog




LAMP主机:

mysql

1
2
3
4
5
6
7
8
9
*************************** 7. row ***************************
                ID: 7
        CustomerID: NULL
        ReceivedAt: 2016-01-21 15:40:38
DeviceReportedTime: 2016-01-21 15:40:38
          Facility: 5
          Priority: 6
          FromHost: node1
           Message:  [origin software="rsyslogd" swVersion="7.4.7" x-pid="1545" x-info="http://www.rsyslog.com"] start



日志记录过来了。


再来把loganalyzer安装上。
LAMP:
为php授权可以查看Syslog库。哪位朋友可以提示一下,为什么用SELECT 权限不行。 j_0063.jpg
1
2
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'loganalyzer'@'localhost' IDENTIFIED BY 'abcdefg';
Query OK, 0 rows affected (0.01 sec)



1
2
3
4
[iyunv@localhost ~]# tar xf loganalyzer-4.1.3.tar.gz
[iyunv@localhost ~]# cd loganalyzer-4.1.3
[iyunv@localhost loganalyzer-4.1.3]# ls
ChangeLog  contrib  COPYING  doc  INSTALL  src



src目录下的就是php代码。复制到/var/www/html/下面即可。contrib目录里面有两个脚本,内容很简单,只是用来创建config.php和为此文件改变权限为666的。
1
2
[iyunv@localhost loganalyzer-4.1.3]# cp -rf src/* /var/www/html/
cp:是否覆盖"/var/www/html/index.php"? y



来看一下那两个脚本:
1
2
3
4
5
6
7
8
[iyunv@localhost loganalyzer-4.1.3]# cat contrib/configure.sh
#!/bin/sh

touch config.php
chmod 666 config.php
[iyunv@localhost loganalyzer-4.1.3]# cat contrib/secure.sh
#!/bin/sh
chmod 644 config.php



设置成666只是为了php程序有权限写入配置。
1
2
3
[iyunv@localhost loganalyzer-4.1.3]# cp contrib/configure.sh /var/www/html/
[iyunv@localhost loganalyzer-4.1.3]# cd /var/www/html/
[iyunv@localhost html]# bash configure.sh



现在就可以打开网页来完成安装了。
wKiom1agkEOBCRNlAAB5UCmVgV4719.jpg
wKioL1agkIGDT_K9AAAuto3Igvw689.jpg
wKioL1agkIKiQUSZAABSvohUZ8g917.jpg
配置文件没有写权限。

1
2
3
4
5
[iyunv@localhost html]# ll config.php
-rw-rw-rw-. 1 root root 0 1月  21 15:59 config.php
[iyunv@localhost html]# getenforce
Enforcing
[iyunv@localhost html]# setenforce 0



是selinux的问题,命令修改重启失效。可以在/etc/selinux/config 文件中的SELINUX=enforcing改成disabled就可以了。
wKiom1agkXqQdGV0AABg82zcTCg833.jpg
wKiom1agp4WgQx5_AACNKXY3o3Q043.jpg
这里默认就行。

wKiom1agp4eg5mRJAADf4-FKWpY487.jpg
上面选择成PDO也一样,它们是不同的连接器。

下一步再下一步就完成了。
wKioL1agqd2xvJHbAABf6U_yo9w315.jpg


还需要安装上php-gd这个库,才能显示图表。




如果是用rsyslog自身来做日志集中存储。
客户端:

1
*.info;mail.none;authpriv.none;cron.none                @172.16.40.10



服务端:
wKioL1agqtyBjxVDAADfKl_58M0720.jpg
UDP,TPC只开一种就可以,开两种也可以。



这个东西自已感觉不怎么好用,问题也有点多。服务类日志也不会用rsyslog来记录,上面数据库部分也是用rsyslog来记录的,数据库只是存储而已。


补充点概念:
syslog  系统日志是一个专门记录系统日志的服务在CentOS5 上面就是叫做syslog。
进程与软件名: syslogd系统日志, klogd记录内核的。
而在CentOS6 或7上面叫做rsyslog , 增强版的。进程只有rsyslogd

日志:
facility: 日志设施  从功能或程序上对日志进行分类,并由专门的工具负责记录日志。
            auth        认证
            authpriv        授权
            cron        任务计划有关crontab
            daemon        守护进程有关
            kern        内核有关
            lpr        打印
            mail        邮件
            mark        防火墙标记
            news        新闻组
            security        安全相关
            syslog        系统日志自身的或无法分类的。
            user        关于各个用户的
            uucp        很早以前unic到unic复制数据的协议,现在很少见到。
            local1---local7   8个可以自定义的类别

priority: 级别  
记录的日志是所设级别与更高级别的日志。如记录info,就包含了notice,warning.....emerg。
            debug  调试 所有信息
            info   程序正常记录的信息
            notice 注意,异常信息。
            warning 警告信息
            err    错误信息   
            crit    橙色警报
            alert    红色警报
            emerg/panic  挂掉的信息
            
指定级别:
            *    表示所有级别
            none    没有级别
            priority    直接指定的级别包含所有高于此级别的
            =priorty    仅此级别

定义一个日志的级别和类别是用:类别.级别   日志存放路径     来指定的。
facitlity.priority    Target
        
通配机制:
            *  所有的
            ,  列表
            ! 取反
如:
mail.info      /var/log/maillog      info与info以上的级别
mail.=info    /var/log/maillog        仅info级别的日志。
mail.!info                除了info与以上的所有级别。
*.info                    所有类别info与info以上级别。
mail,news.info                mail,news都用info级别。

Target:  日志位置
            1.  文件, 如:/var/log/messages
            2.  用户,*表示所有用户。  发给用户。  如:系统挂了的信息。
            3.  日志服务器, 如: @172.16.100.1
            4.  管道     COMMAND   如: 发给某个命令处理一下。
            5.  - 开头表示异步存储。
            
配置文件:
/etc/rsyslog.conf      CentOS5 上是 syslog.conf

日志存储文件发生变化以后,要重启rsyslog服务。如用vim打开了messages文件。
不然rsyslog服务会不再保存此数据文件的日志。

运维网声明 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-167818-1-1.html 上篇帖子: Rsyslog介绍以及结合loganalyzer进行日志分析 下篇帖子: loganalyzer部署文档-(第一部分)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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