如何使用 syslog-ng 从远程 Linux 机器上收集日志 | Linux 中国

2018 年 3 月 9 日 Linux中国 译者:qhwdw
你可以配置一台单独的 Linux 机器去收集这些日志。这将使你的每日工作更加高效。要实现这个目的,有很多的不同系统可供你选择,而 syslog-ng 就是其中之一。
-- Jack Wallen

致谢
编译自 | https://www.techrepublic.com/article/how-to-use-syslog-ng-to-collect-logs-from-remote-linux-machines/ 
 作者 | Jack Wallen
 译者 | qhwdw 🌟 🌟 🌟 🌟 🌟 共计翻译:88 篇 贡献时间:127 天

如果你的数据中心全是 Linux 服务器,而你就是系统管理员。那么你的其中一项工作内容就是查看服务器的日志文件。但是,如果你在大量的机器上去查看日志文件,那么意味着你需要挨个去登入到机器中来阅读日志文件。如果你管理的机器很多,仅这项工作就可以花费你一天的时间。

另外的选择是,你可以配置一台单独的 Linux 机器去收集这些日志。这将使你的每日工作更加高效。要实现这个目的,有很多的不同系统可供你选择,而 syslog-ng 就是其中之一。

syslog-ng 的不足是文档并不容易梳理。但是,我已经解决了这个问题,我可以通过这种方法马上进行安装和配置 syslog-ng。下面我将在 Ubuntu Server 16.04 上示范这两种方法:

◈ UBUNTUSERVERVM 的 IP 地址是 192.168.1.118 ,将配置为日志收集器
◈ UBUNTUSERVERVM2 将配置为一个客户端,发送日志文件到收集器

现在我们来开始安装和配置。

安装

安装很简单。为了尽可能容易,我将从标准仓库安装。打开一个终端窗口,运行如下命令:

   
     
     
     
  1. sudo apt install syslog-ng

你必须在收集器和客户端的机器上都要运行上面的命令。安装完成之后,你将开始配置。

配置收集器

现在,我们开始日志收集器的配置。它的配置文件是 /etc/syslog-ng/syslog-ng.conf。syslog-ng 安装完成时就已经包含了一个配置文件。我们不使用这个默认的配置文件,可以使用 mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.BAK 将这个自带的默认配置文件重命名。现在使用 sudo nano /etc/syslog/syslog-ng.conf 命令创建一个新的配置文件。在这个文件中添加如下的行:

   
     
     
     
  1. @version: 3.5

  2. @include "scl.conf"

  3. @include "`scl-root`/system/tty10.conf"

  4.    options {

  5.        time-reap(30);

  6.        mark-freq(10);

  7.        keep-hostname(yes);

  8.        };

  9.    source s_local { system(); internal(); };

  10.    source s_network {

  11.        syslog(transport(tcp) port(514));

  12.        };

  13.    destination d_local {

  14.    file("/var/log/syslog-ng/messages_${HOST}"); };

  15.    destination d_logs {

  16.        file(

  17.            "/var/log/syslog-ng/logs.txt"

  18.            owner("root")

  19.            group("root")

  20.            perm(0777)

  21.            ); };

  22.    log { source(s_local); source(s_network); destination(d_logs); };

需要注意的是,syslog-ng 使用 514 端口,你需要确保在你的网络上它可以被访问。

保存并关闭这个文件。上面的配置将转存期望的日志文件(由 system() 和 internal() 指出)到 /var/log/syslog-ng/logs.txt 中。因此,你需要使用如下的命令去创建所需的目录和文件:

   
     
     
     
  1. sudo mkdir /var/log/syslog-ng

  2. sudo touch /var/log/syslog-ng/logs.txt

使用如下的命令启动和启用 syslog-ng:

   
     
     
     
  1. sudo systemctl start syslog-ng

  2. sudo systemctl enable syslog-ng

配置客户端

我们将在客户端上做同样的事情(移动默认配置文件并创建新配置文件)。拷贝下列文本到新的客户端配置文件中:

   
     
     
     
  1. @version: 3.5

  2. @include "scl.conf"

  3. @include "`scl-root`/system/tty10.conf"

  4. source s_local { system(); internal(); };

  5. destination d_syslog_tcp {

  6.              syslog("192.168.1.118" transport("tcp") port(514)); };

  7. log { source(s_local);destination(d_syslog_tcp); };

请注意:请将 IP 地址修改为收集器的 IP 地址。

保存和关闭这个文件。与在配置为收集器的机器上一样的方法启动和启用 syslog-ng。

查看日志文件

回到你的配置为收集器的服务器上,运行这个命令 sudo tail -f /var/log/syslog-ng/logs.txt。你将看到包含了收集器和客户端的日志条目的输出(图 A)。

图 A

恭喜你!syslog-ng 已经正常工作了。你现在可以登入到你的收集器上查看本地机器和远程客户端的日志了。如果你的数据中心有很多 Linux 服务器,在每台服务器上都安装上 syslog-ng 并配置它们作为客户端发送日志到收集器,这样你就不需要登入到每个机器去查看它们的日志了。


via: https://www.techrepublic.com/article/how-to-use-syslog-ng-to-collect-logs-from-remote-linux-machines/

作者:Jack Wallen[2] 译者:qhwdw 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
A Survey on Edge Intelligence
Arxiv
50+阅读 · 2020年3月26日
Phrase-Based & Neural Unsupervised Machine Translation
Arxiv
9+阅读 · 2018年3月23日
Arxiv
6+阅读 · 2018年2月26日
Arxiv
4+阅读 · 2017年11月4日
VIP会员
相关VIP内容
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
Top
微信扫码咨询专知VIP会员