Linux 日志服务器

Linux 日志服务器

 

 

 Linux 下的rsyslog有向远程发送日志的功能,出于安全和审计需要,可以将服务器的日志集中起来管理。加上图形化的日志分析工具,我们可以很直观的发现日志中的问题,配合常规的监控系统,以实现基于日志的颗粒化运维。

 

日志服务器的运作机制大致是这样的:

1、客户端将日志发送到服务器,服务端的日志里于是出现了客户端的日志

2、服务端将日志导入mysql,通过php程序进行日志分析并显示在网页上。

 

环境:CentOS 6.3 x64

服务端:loganalyzer.test.org   192.168.1.249

客户端:apache01.test.org      192.168.1.21

 

一、配置基本的日志服务器

 

1、在服务端开启接收日志选项,编辑/etc/rsyslog.conf,取消下面两行注释:

 

$ModLoad imtcp  $InputTCPServerRun 514

这会让rsyslog监听本地tcp 514端口,请注意iptables防火墙要打开该端口。

 

同理,如果需要监听udp 514端口,则启用下面这段代码

 

$ModLoad imudp $UDPServerRun 514

 

2、在客户端修改开启发送日志选项,编辑/etc/rsyslog.conf ,在行末添加如下内容:

 

*.*   @@192.168.1.249

也可以写域名,但是为了减少依赖和服务的可靠性,建议使用IP地址。

全部日志发送的话,感觉有很多垃圾,比如cron日志,可以选择性的发送一些日志

*.info;mail.none;cron.none   @@192.168.1.249

 

注意:上面有两个@,如果服务端采用udp协议,则只需要一个@

 1

*.*   @192.168.1.249

 

tcp更稳定可靠,udp更快速高效, 请根据需要选择。

 

3、重启rsyslog服务

 

/etc/init.d/rsyslog restart

不出意外,在服务端应该就可以看到客户端的日志了。

 

 

二、在服务端配置loganalyzer

 

1、安装LAMP

 

 

yum -y install httpd mysql-server php php-mysql php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-snmp  --enablerepo=epel    sed -i '/ServerTokens/{s/OS/Minor/g}' /etc/httpd/conf/httpd.conf    sed -i '/ServerSignature/{s/On/Off/g}' /etc/httpd/conf/httpd.conf    echo "<?php phpinfo();phpinfo(INFO_MODULES);?>"  >/var/www/html/index.php    sed -i '/;date.timezone/{s/;//g;s/=/= Asia\/Shanghai/g}' /etc/php.ini

 

2、配置rsyslog-mysql

 

yum install rsyslog-mysql -y chkconfig --level 2345 mysqld on /etc/init.d/mysqld start mysql_secure_installation

 

 

找到 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql,

 

导入数据库:  

 # mysql -u root -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

这会创建一个数据库loganalyzer,和两个表 SystemEvents / SystemEventsProperties

 

 

授予权限

 

mysql -u root -p -e "GRANT ALL PRIVILEGES ON loganalyzer.* TO rsyslog@localhost IDENTIFIED BY  'rsyslogpassword';"  mysql -u root -p -e "flush privileges;"

 

编辑/etc/rsyslog.conf

 

在文件末尾添加两行让系统日志导入到mysql中去

 

$ModLoad MySQL  *.*       >127.0.0.1,loganalyzer,rsyslog,rsyslogpassword

后面三个字符段的格式是:【数据库名】【用户名】【密码】,之间用逗号分开

 

 

重启服务

 

/etc/init.d/rsyslog restart

 

配置检查

tail /var/log/message 是否有数据库连接报错

登录mysql,检查Syslog数据库中的SystemEvents是否依然为空

 

# mysql -u root -p -e "select * from loganalyzer.SystemEvents;"
3、配置loganalyzer第一、二、三步直接next,然后跳到第七步,选择下列值(注意大小写!!)
第八步,完成配置

 

如果不幸配置失败,可以清空文件config.php来重新配置loganalyerzer 。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110354.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [C语言]背包问题「建议收藏」

    [C语言]背包问题「建议收藏」0-1背包问题 参考:http://blog.csdn.net/liwenjia1981/article/details/5725579http://blog.csdn.net/dapengbusi/article/details/7463968动态规划解法借个图助于理解从背包容量为0开始,1号物品先试,0,1,2,的容量都不能放.所以置0,背包容量为3则里面放4

    2022年7月14日
  • 华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」

    华为技术专家居然把JVM内存模型讲解这么细致「建议收藏」全是干货的技术号:本文已收录在【github面试知识仓库】,欢迎star/fork:https://github.com/Wasabi1234/Java-Interview-Tutorial内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着os和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM高效稳定运行。不同JVM对于内存的划分方式和管理机制存在差异。结合JVM虚拟机规范,来探讨经典JVM内存布局。JVM运行时数据区.

    2022年5月24日
  • ELK+FileBeat日志分析系统(正式环境nginx日志)

    ELK+FileBeat日志分析系统(正式环境nginx日志)

    2021年5月29日
  • 简述你对ioc的理解_对剩余价值的理解总结

    简述你对ioc的理解_对剩余价值的理解总结目录一、对IOC和DI的基本认识(一)理解IoC,即“控制反转”(二)IoC具体做什么?(三)理解IoC和DI的关系二、对IOC容器初始化的理解四、对DI依赖注入的理解(主要是)参考书籍、文献和资料一、对IOC和DI的基本认识(一)理解IoC,即“控制反转”在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。理解好…

    2022年9月13日
  • c 获取UUID_c获取程序运行路径

    c 获取UUID_c获取程序运行路径计算机获取UUIDUUID是通用唯一识别码(UniversallyUniqueIdentifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名…

    2022年8月9日
  • Linux>>CentOS 7镜像下载「建议收藏」

    Linux>>CentOS 7镜像下载「建议收藏」CentOS7镜像下载官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/step1:进入下载页,选择阿里云站点进行下载ActualCountry国内资源NearbyCountries周边国家资源阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/每…

    2022年4月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号