安装完syslog-ng后,就是如何使用的问题了。在https://syslog-ng.org 上可以下载syslog-ng的说明文档syslog-ng-ose-guide-admin.pdf,文档中介绍了syslog-ng的用法,很详细。下面介绍下如何使用syslog-ng。

安装目录结构介绍

在syslog-ng安装目录下,文件夹及作用如下:

  • bin 存放一些用于测试syslog-ng的工具,如loggen, pdbtool
  • etc 存放syslog-ng的配置文件,⚠主要为syslog-ng.conf
  • include 头文件
  • lib syslog-ng相关库文件,如libsyslog-ng.so已经syslog-ng的各种plugin
  • sbin syslog-ng可执行程序syslog-ng及交互程序syslog-ng-ctl
  • share 帮助文档
  • var存放syslog-ng运行时的一些信息

配置syslog-ng

在使用syslog-ng前,需要先对其进行配置,其对应的配置文件为syslog-ng.conf(位于syslog-ng安装目录etc下面),默认配置如下(为了能更好的描述配置文件,我加了个filter语法):

@version: 3.4
@include "scl.conf"source s_local {system();internal();
};source s_network {udp();
};destination d_local {file("/var/log/messages");
};filter f_level {"${LEVEL_NUM}" > "5";
};log {source(s_local);# uncomment this line to open port 514 to receive messages#source(s_network);filter(f_level);destination(d_local);
};

上边配置了两个日志源:s_local及s_network, 一个日志目的地:d_local;
然后定义了日志收集语法 log {source(s_xxx); filter(f_xxx); destination(d_xxx);};.
即收集system(指送往/dev/log及/proc/kmsg的日志)及internal(指syslog-ng进程本身的日志),然后日志经过filter,将日志级别小于等于7(debug)级别的日志输出到/var/log/messages目录。

配置完syslog-ng后,便可以运行syslog-ng了。

运行syslog-ng

进入sbin目录,执行./syslog-ng运行syslog-ng.如果用上面的配置文件,会发现运行时报错:

system(): /proc/kmsg is not readable, please check permissions if this is     unintentional.; error='Permission denied (13)'
Error binding socket; addr='AF_UNIX(/dev/log)', error='Address already in     use (98)'
Error initializing message pipeline;

这是因为我们现在是以非root用户运行的,所以无法读取/proc/kmsg文件;另外/dev/log这个socket,当前rsyslogd进程正在使用,你也无法使用;
所以先将system这个语法用’#’注释掉,换成file(“…/syslog-ng-3.4.2/syslog-ng.in”);
还有d_local中的目的文件可以改成…/syslog-ng-3.4.2/syslog-ng.out,方便我们分析(这边我们也没有操作/var/log/messages的权限)。
其中…为软件的安装上级目录,且配置文件中的路径要使用绝对路径。

修改后的配置文件如下:

@include "scl.conf"source s_local {#system();file("/home/user/software/syslog-ng-3.4.2/syslog-ng.in");internal();
};source s_network {udp();
};destination d_local {#file("/var/log/messages");file("/home/user/software/syslog-ng-3.4.2/syslog-ng.out");
};filter f_level {"${LEVEL_NUM}" <= "7";
};log {source(s_local);# uncomment this line to open port 514 to receive messages#source(s_network);filter(f_level);destination(d_local);
};

再次运行syslog-ng,可见在安装目录下生成了syslog-ng.out文件,cat看一下,输出:

Sep 13 22:17:28 localhost syslog-ng[84496]: syslog-ng starting up;     version='3.4.2'

这说明syslog-ng已经成功运行起来了。用ps命令看下:

$ps -elf|grep syslog-ng
1 S user        84495      1  0  80   0 -  6150 wait   22:17 ?            00:00:00 supervising syslog-ng
1 S user        84496  84495  0  80   0 -  8832 ep_pol 22:17 ?            00:00:00 ./syslog-ng

其中,主进程为./syslog-ng

这时,我们可以试下往/home/user/software/syslog-ng-3.4.2/syslog-ng.in文件中输入一条信息,syslog-ng将会把此信息一起收集到syslog-ng.out文件中。

$echo "Hello, syslog-ng"  > syslog-ng.in
$cat syslog-ng.out
Sep 13 22:46:49 localhost Hello, syslog-ng

这样,我们就大概清楚了syslog-ng运行的原理:即将某个日志源的信息进行收集,然后对日志进行一些处理(如果过滤,文本替换等),然后输出到指定的目的地(本地或者网络)。

syslog-ng详解——运行syslog-ng相关推荐

  1. syslog和syslog-ng详解

    这网络上,找了非常多现成的教程,发现都用不了.所以通过时间和教程整合,就有了这篇文档. 该文档配置文件比较复杂,但是也很完整.强烈建议仔细阅读该配置文件. 不然的话,就算你照着本篇文档操作成功.也不会 ...

  2. linux内核日志使用syslog,Linux日志系统syslog详解

    一台服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来介绍下linux系统的sys ...

  3. 负载敏感系统详解_宣布Enarx用于运行敏感工作负载

    负载敏感系统详解 运行软件是我们大多数人不考虑的事情. 我们在自己的机器上"在本地"运行,或者在其他人的机器上在云中运行. 我们并不总是考虑这些差异的含义,也不考虑我们对正在处理的 ...

  4. python中常量池和堆_JVM详解之:运行时常量池

    简介 JVM在运行的时候会对class文件进行加载,链接和初始化的过程.class文件中定义的常量池在JVM加载之后会发生什么神奇的变化呢?快来看一看吧. class文件中的常量池 之前我们在讲cla ...

  5. JVM详解之:运行时常量池

    文章目录 简介 class文件中的常量池 运行时常量池 静态常量详解 String常量 数字常量 符号引用详解 String Pool字符串常量池 总结 简介 JVM在运行的时候会对class文件进行 ...

  6. Linux日志系统_syslog服务详解

    Linux日志系统_syslog服务详解 参考链接:https://blog.csdn.net/weixin_42569329/article/details/116609984 一台服务器的日志对系 ...

  7. PopUpWindow使用详解(二)——进阶及答疑

    相关文章: 1.<PopUpWindow使用详解(一)--基本使用> 2.<PopUpWindow使用详解(二)--进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...

  8. Windows7旗舰版磁盘分区详解—附分区步骤截图

    最近工作中配置使用联想的Thinkpad TL系列本本.当然原装的系统时刚发布的Windows RTM旗舰版.在考虑买之前也参考了戴尔 苹果的等等, 但个人私下也是一直在用Tinkpad系列, 相比其 ...

  9. 【洛谷】P1830 轰炸III 题解 代码+详解

    这里是Jane的OJ解答之洛谷系列~ (放假啦 尽量日更叭ε≡٩(๑>₃<)۶ ) 来分享一些算法和题解,一般用的都是C语言,还在学C++ |ू・ω・` ) 如果内容有问题,欢迎大家私信 ...

最新文章

  1. SCOI2018 退役记
  2. Make it run, make it right, make it fast
  3. Oracle物化视图的创建及使用(一
  4. 关于表数据行统计的问题和相关误区
  5. 新学到的Url形成方法
  6. 实例化Spring容器的两种常用方式
  7. 利用UDP端口转发绕过校园网认证
  8. 刷机精灵官网版 v2.1.2 免费版
  9. 回归分析-线性回归-检验-模型
  10. id 查找apple,怎么查找我的apple id?
  11. 在物联网领域,英特尔除了高速计算的芯片,还提供了什么技术?
  12. android os parcel,java.lang.RuntimeException:Parcel android.os.Parcel:...
  13. 多路径路由算法选择(2)——回顾传统的动态路由协议(RIP、OSPF、BGP、IGRP、EIGRP、IS-IS)
  14. IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
  15. 了不起的 Webpack HMR 学习指南(含源码分析)
  16. 微信停止为苹果服务器,苹果用户注意!iOS成微信封号重灾区 赶快停止使用你的双客户端...
  17. 牙科植入物市场现状及未来发展趋势
  18. MySQL 案例实战--MySQL 数据库 之 冷备份
  19. Math类几个容易混淆的方法
  20. Android App架构指南

热门文章

  1. 6大自媒体网站,帮你解决灵感枯竭
  2. 使用 HTML5 Canvas 标签的贪吃蛇游戏
  3. Python3入门机器学习经典算法与应用——手写knn模块
  4. python在土木工程中的应用_大数据技术及其在土木工程中的应用
  5. 十分钟利用python_pygame做个小游戏_01
  6. 4 树莓派的分辨率和中文设置
  7. 戴尔不再提供电脑和手机互联功能:Mobile Connect应用将终止服务(学习资料)
  8. openjfx(javaFX)完整学习指南(教程)
  9. 江苏大学2020计算机考研,江苏大学2020年硕士研究生复试时间及主要安排
  10. 非连续性概率分布的概率密度(有间断点时如何求数学期望)