首页 > 编程知识 正文

日志服务器搭建及配置,linux 系统日志发送到日志服务器

时间:2023-05-06 07:58:56 阅读:243229 作者:430

常见日志服务器搭建方案:

接笔者以往的的日志文章衍生- https://blog.csdn.net/enweitech/article/details/51536644 此献给正在做等保的企业(仅供参考)

集中式/中央式管理日志 抑或 是分布式统一管理日志?看各自企业公司的实际需求选型。以下信息分享,最终看实践。

1、Rsyslog+LogAnalyzer+X(Redis+NFS/

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境.备注(phplogcon是以前老版本,新版本已改名LogAnalyzer)

2、ELK +Beat  或者 elasticsearch + kafka-zookeeper + Flume + kibana/zabbix 多种工具软件组合的方式

ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 
就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。

3、scribe、chukwa、kafka、flume日志系统

scribe、chukwa、kafka、flume日志系统对比 –  http://www.ttlsa.com/log-system/scribe-chukwa-kafka-flume-log-system-contrast/

Facebook 日志系统 Scribe、Apache 日志系统 Chukwa
Linkedin    日志系统 Kafka、Cloudera 日志系统 Flume

4、Splunk日志分析

日志分析管理解决方案 | Splunk https://www.splunk.com/zh-wwdfd_cn/solutions/solution-areas/log-management.html

5、基于大数据分析平台Hadoop之类的日志离线分析系统

https://blog.csdn.net/chdhust/article/details/27973533

五种日志格式传输协议 

UDP、TCP、http/https、RELP、SMTP

UDP

可靠性比较低,但是性能损耗最少,在网络情况比较差或者接受服务器压力比较高的情况下,可能存在丢日志情况。

服务端改配置文件 /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514 / 注释 去掉15 16 行的#
让日志服务器遵循UDP协议 重启服务

客户端改改配置文件 /etc/rsyslog.conf
*.info @服务器IP地址 /udp是 一个@ 
重启服务这下咱们日志的UDP日志服务器就搭配完毕TCP 可靠性比较高,但在接受服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。1. 服务端改配置文件 /etc/rsyslog.conf $ModLoad imtcp $InputTCPServerRun 514 / 注释 去掉19 20 行的# 让日志服务器遵循TCP协议 重启服务2. 客户端改改配置文件 /etc/rsyslog.conf *.info @@服务器IP地址 /TCP是 两个@ 重启服务这下咱们日志的TCP日志服务器就搭配完毕 RELP 基于TCP封装的可靠日志消息传输协议; 是为解决TCP与UDP协议的缺点而在应用层实现的传输协议,也是三者中最可靠的。 装包
yum -y install rsyslog-relp.x86_64

2.服务端改配置文件 /etc/rsyslog.conf
$ModLoad imrelp
$inputRELPServerRun 20514 / 注释 这个是自己加上去的
让日志服务器遵循RELP协议 重启服务
3.客户端改改配置文件 /etc/rsyslog.conf
$ModLoad omrelp

建立一个中央日志服务器

详细步骤 http://wenku.baidu.com/view/8053931cff00bed5b9f31d8a.html

1建立中央日志服务器前的准备工作

配置良好的网络服务(DNS和NTP)有助于提高日志记录工作的精确性。在默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央服务器时用“-x”选项禁止它这样做。)如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率。类似地,如果你的各个系统在时间上不同步,中央日志服务器给某个事件打上的时间戳就可能会与发送该事件的那台机器打上的时间戳不一致,这种差异会在你对事件进行排序分析时带来很大的困扰;对网络时间进行同步有助于保证日志消息的时间准确性。如果想消除这种时间不同步带来的麻烦,先编辑/etc/ntp.conf文件,使其指向一个中央时间源,再安排ntpd守护进程随系统开机启动就可以了。

2配置一个中央日志服务器

只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:

1. 编辑/etc/sysconfig/syslog文件。

在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--ljdjj--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--ljdjj--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
SYSLOGD_OPTIONS="-r-x-m240"

2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart

3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。

4为中央日志服务器配置各客户机器

让客户机把日志消息发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,如下所示:

另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:专注的机器猫把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
authpriv.*@loghost

接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。

如何在windows2008建立syslog服务器

我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
  
  经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。
  
  Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
  
  我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
  
  1)使用klog工具
  
  这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。
  
  klog –m "It's almost lunchtime"
  
  DIR *.* | klog -h 192.168.1.2 -i
  
  但我试图使用ACE应用日志输出到kiwisyslog时(ace_app.exe | klog -h 192.168.1.2 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
  
  
  还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
  
  ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
  
  然后按下面2)的方法转到kiwisyslog。
  
  
  2)还可以把Windows下的事件日志转到Linux下的syslog
  
  我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
  
  介绍第三方软件evtsys (全称是evntlog to syslog)
  
  文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
  
  把这两个文件拷贝到 c:/windows/system32目录下。
  
  打开Windows命令提示符(开始->运行输入CMD)
  
  C:/>evtsys –i –h 192.168.10.100
  
  -i 表示安装成系统服务
  
  -h 指定log服务器的IP地址
  
  如果要卸载evtsys,则:
  
  net stop evtsys
  
  evtsys -u
  
  启动该服务:
  
  C:/>net start evtsys
  
  打开windows组策略编辑器 (开始->运行输入 gpedit.msc)
  
  在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。

【其他资料】

1、Windows日志分析工具,Syslog日志分析软件,系统日志审计系统 - 卓豪EventLog Analyzer https://www.manageengine.cn/products/eventlog/

2、日志服务_实时日志分析系统_日志管理软件_网站日志分析工具 - 阿里云 https://www.aliyun.com/product/sls/

3、日志易: 日志分析更容易 - 日志易 https://www.rizhiyi.com/

4、日志_智能日志管理_智能日志管理平台 - 七牛云 https://www.qiniu.com/products/insight

5、LOGSYS日志管理系统 http://www.机智的鸡翅.net.cn/LOGSYS/index.html

6、明析数据 http://infodt.com/index.php/product/news_show?id=3 (百度logsys日志管理系统的商业版)

7、分享一个号称万亿级海量的深度日志分析系统_搜狐科技 http://www.sohu.com/a/113114089_188123

8、LogInsight 智能日志分析平台 | AIOps | 业务监控 | 实时业务分析 | 运维大数据 - OneAPM https://www.oneapm.com/li/feature.html

9、日志分析管理系统 http://www.ipmotor.com/Dlm.html

10、EasyLog日志分析,日志大数据分析平台 | 袋鼠云 https://www.dtstack.com/?page_id=663

11、摩卡统一日志分析平台 http://www.mochalog.com/

12、HOOLI日志分析平台-虎嗅网 https://www.huxiu.com/chuangye/product/2382/HOOLI

13、打造高效的运维日志收集与分析平台-腾讯云资讯 https://cloud.tencent.com/info/e0b8b659534c08e0009700ae031adb75.html

14、从ITOA运维和大数据分析着眼,构建智能化日志分析平台 - 运维 -  http://dbaplus.cn/news-134-1545-1.html

15、CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器 -  https://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。