syslog-ng详解——运行syslog-ng
安装完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相关推荐
- syslog和syslog-ng详解
这网络上,找了非常多现成的教程,发现都用不了.所以通过时间和教程整合,就有了这篇文档. 该文档配置文件比较复杂,但是也很完整.强烈建议仔细阅读该配置文件. 不然的话,就算你照着本篇文档操作成功.也不会 ...
- linux内核日志使用syslog,Linux日志系统syslog详解
一台服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来介绍下linux系统的sys ...
- 负载敏感系统详解_宣布Enarx用于运行敏感工作负载
负载敏感系统详解 运行软件是我们大多数人不考虑的事情. 我们在自己的机器上"在本地"运行,或者在其他人的机器上在云中运行. 我们并不总是考虑这些差异的含义,也不考虑我们对正在处理的 ...
- python中常量池和堆_JVM详解之:运行时常量池
简介 JVM在运行的时候会对class文件进行加载,链接和初始化的过程.class文件中定义的常量池在JVM加载之后会发生什么神奇的变化呢?快来看一看吧. class文件中的常量池 之前我们在讲cla ...
- JVM详解之:运行时常量池
文章目录 简介 class文件中的常量池 运行时常量池 静态常量详解 String常量 数字常量 符号引用详解 String Pool字符串常量池 总结 简介 JVM在运行的时候会对class文件进行 ...
- Linux日志系统_syslog服务详解
Linux日志系统_syslog服务详解 参考链接:https://blog.csdn.net/weixin_42569329/article/details/116609984 一台服务器的日志对系 ...
- PopUpWindow使用详解(二)——进阶及答疑
相关文章: 1.<PopUpWindow使用详解(一)--基本使用> 2.<PopUpWindow使用详解(二)--进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...
- Windows7旗舰版磁盘分区详解—附分区步骤截图
最近工作中配置使用联想的Thinkpad TL系列本本.当然原装的系统时刚发布的Windows RTM旗舰版.在考虑买之前也参考了戴尔 苹果的等等, 但个人私下也是一直在用Tinkpad系列, 相比其 ...
- 【洛谷】P1830 轰炸III 题解 代码+详解
这里是Jane的OJ解答之洛谷系列~ (放假啦 尽量日更叭ε≡٩(๑>₃<)۶ ) 来分享一些算法和题解,一般用的都是C语言,还在学C++ |ू・ω・` ) 如果内容有问题,欢迎大家私信 ...
最新文章
- SCOI2018 退役记
- Make it run, make it right, make it fast
- Oracle物化视图的创建及使用(一
- 关于表数据行统计的问题和相关误区
- 新学到的Url形成方法
- 实例化Spring容器的两种常用方式
- 利用UDP端口转发绕过校园网认证
- 刷机精灵官网版 v2.1.2 免费版
- 回归分析-线性回归-检验-模型
- id 查找apple,怎么查找我的apple id?
- 在物联网领域,英特尔除了高速计算的芯片,还提供了什么技术?
- android os parcel,java.lang.RuntimeException:Parcel android.os.Parcel:...
- 多路径路由算法选择(2)——回顾传统的动态路由协议(RIP、OSPF、BGP、IGRP、EIGRP、IS-IS)
- IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
- 了不起的 Webpack HMR 学习指南(含源码分析)
- 微信停止为苹果服务器,苹果用户注意!iOS成微信封号重灾区 赶快停止使用你的双客户端...
- 牙科植入物市场现状及未来发展趋势
- MySQL 案例实战--MySQL 数据库 之 冷备份
- Math类几个容易混淆的方法
- Android App架构指南
热门文章
- 6大自媒体网站,帮你解决灵感枯竭
- 使用 HTML5 Canvas 标签的贪吃蛇游戏
- Python3入门机器学习经典算法与应用——手写knn模块
- python在土木工程中的应用_大数据技术及其在土木工程中的应用
- 十分钟利用python_pygame做个小游戏_01
- 4 树莓派的分辨率和中文设置
- 戴尔不再提供电脑和手机互联功能:Mobile Connect应用将终止服务(学习资料)
- openjfx(javaFX)完整学习指南(教程)
- 江苏大学2020计算机考研,江苏大学2020年硕士研究生复试时间及主要安排
- 非连续性概率分布的概率密度(有间断点时如何求数学期望)