通过syslog接收远程日志
通过syslog接收远程主机的日志,需要做一些环境配置。
客户机A通过syslog将日志信息发送到服务主机B(或称日志采集服务器)。以下说明配置过程
(我的实验环境是,客户机A:Solaris 10,服务主机B:redhat linux企业服务器版):  www.2cto.com  
客户机A配置:
vi /etc/syslog.conf
*.info;*.!emerg;mail.none;authpriv.none;cron.none /var/log/messages
。。。。。。
# 自定义syslog消息处理方式,这里是发送到远程主机
syslog.info                                     @10.10.65.143
其中,10.10.65.143就是服务主机B的ip地址。  www.2cto.com  
重启syslog:
# svcadm restart system-log
或者
# /etc/init.d/syslog restart
服务器B配置:
首先确定远程发来的消息是哪一级的,比如Panabit发过来的都是emerg级消息,某些路由器用的是notice级。实在不行就先用info然后过滤(具体办法见后文)。
vi /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-r -x -m 0"
-r: 打开接受外来日志消息的功能,其监控514 UDP端口;
-x: 关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
vi /etc/syslog.conf
# 把emerg等级的消息从messages中除开,免得重复记录:
*.info;*.!emerg;mail.none;authpriv.none;cron.none /var/log/messages          # *.!emerg 表示不记录emerg级的消息
#*.emerg    *                   # 注释掉原来的emerg,不将emerg级消息显示到控制台
# 接收远程主机发来的syslog日志信息,输出到/var/log/mylog
syslog.info                                             /var/log/mylog
然后重启syslog:service syslog restart
这样就把远程日志写入/var/log/mylog并且不影响本机syslog工作了。
客户机A上的发送syslog日志小程序:
#include <stdio.h>
#include <syslog.h>
int main(int argc, char* argv[])
{
//openlog(argv[0], LOG_CONS | LOG_PID, LOG_USER);
int count = 0;
while(count<5){
syslog(LOG_SYSLOG | LOG_INFO, "%d:, syslog info test", count);
count++;
}
//closelog();
return 0;
}
客户机A上该程序运行后,在服务器B的/var/log/mylog中查看
[root@localhost socket]# tail -f /var/log/mylog
Jul  1 13:40:35 localhost syslogd 1.4.1: restart (remote reception).
Jul  1 14:12:14 10.10.65.244 a.out[653]: [ID 852416 syslog.info] 0:, syslog info test
Jul  1 14:12:14 10.10.65.244 a.out[653]: [ID 852416 syslog.info] 1:, syslog info test
Jul  1 14:12:14 10.10.65.244 a.out[653]: [ID 852416 syslog.info] 2:, syslog info test
Jul  1 14:12:14 10.10.65.244 a.out[653]: [ID 852416 syslog.info] 3:, syslog info test
Jul  1 14:12:14 10.10.65.244 a.out[653]: [ID 852416 syslog.info] 4:, syslog info test
可见,日志信息已经接收过来了。
【附录】:关于/etc/syslog.conf写法,这里有个详细说明:
/etc/syslog.conf 根据如下的格式定义规则:
facility.level action
设备.优先级 动作
1、facility 定义日志消息的范围,其可使用的key有:
auth -由 pam_pwdb 报告的认证活动。
authpriv -包括特权信息如用户名在内的认证活动
cron -与 cron 和 at 有关的计划任务信息。
daemon -与 inetd 守护进程有关的后台进程信息。
kern -内核信息,首先通过 klogd 传递。
lpr -与打印服务有关的信息。
mail -与电子邮件有关的信息
mark - syslog内部功能用于生成时间戳
news -来自新闻服务器的信息
syslog -由 syslog 生成的信息
user -由用户程序生成的信息
uucp -由 uucp 生成的信息
local0-local7 -与自定义程序使用
* 通配符代表除了 mark 以外的所有功能
除mark为内部使用外,还有security为一个旧的key定义,等同于auth,已经不再建议使用。
2、level级别定义消息的紧急程度。按严重程度由高到低顺序排列为:
emerg -该系统不可用,等同panic
alert -需要立即被修改的条件
crit -阻止某些工具或子系统功能实现的错误条件
err -阻止工具或某些子系统部分功能实现的错误条件,等同error
warning -预警信息,等同warn
notice -具有重要性的普通条件
info -提供信息的消息
debug -不包含函数条件或问题的其他信息
none -没有重要级,通常用于排错
* 所有级别,除了none
其中,panic、error、warn均为旧的标识符,不再建议使用。
在定义level级别的时候,需要注意两点:
1)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;
2)低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义)
3、selector选择条件
通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:
* - 所有日志信息
= - 等于,即仅包含本优先级的日志信息
! - 不等于,本优先级日志信息除外
4、action动作 由前面选择条件定义的日志信息,可执行下面的动作:
file-指定日志文件的绝对路径
terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2
@host -远程的日志服务器
username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中
named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径
※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理!!

通过syslog接收远程日志相关推荐

  1. (转载)把syslog接收的远程日志从/var/log/messages中分开

    今天突然要配置Linux的syslog服务器,摸了一早上才弄好.记录远程机器发来的syslog消息倒是容易(网上到处都是),不过按照默认的设置,syslog会将所有信息都给写入 /var/log/me ...

  2. linux远程日志rsyslog服务端和客户端安装(亲测)--自定义接收日志格式

    linux远程日志rsyslog服务端和客户端安装 用rsyslog的缘由:  1.防止系统崩溃无法获取系统日志分享崩溃原因,用rsyslog可以把日志传输到远程的日志服务器上  2.使用rsyslo ...

  3. syslog详解及配置远程发送日志和远程日志分类

    1.日志协议syslog 1.1.syslog简介 完善的日志分析系统应该能够通过多种协议(包括syslog等)进行日志采集并对日志分析,因此日志分析系统首先需要实现对多种日志协议的解析.其次,需要对 ...

  4. niginx查看服务器日志信息,nginx 远程日志服务器

    nginx 远程日志服务器 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置Syslog服务器参数,将日志远程备份 ...

  5. 使用ELK保存Syslog、Netflow日志和审计网络接口流量

    简介 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.后来新增了一个Beats,它是一个轻量级的日志收集处理工具(Agen ...

  6. Syslog服务器配置和日志转发

    一.设置Linux日志服务器 在Linux中配置Rsyslog 在我们理解syslog之后,现在可以通过rsyslog来将一个Linux服务器配置为一个中心syslog服务器了,另外我们也将看到如何在 ...

  7. centos7.x远程日志rsyslog配置

    远程日志rsyslog配置 在centos7.X上配置rsyslog远程日志服务,包括服务端和客户端. 一.远程日志服务端配置,本次配置udp: 1.rsyslog配置 vim /etc/rsyslo ...

  8. linux 多线程 写日志,rsyslog多线程远程日志记录介绍(lamp+rsyslog)

    rsyslog多线程远程日志记录介绍(lamp+rsyslog) rsyslog: rsyslog: 多线程: 支持UDP, TCP, SSL, TLS, RELP远程日志记录 rsyslog支持将日 ...

  9. lqc_远程日志管理

    远程日志管理: S:192.168.100.100 C:192.168.100.150 1.S,C端安装rsyslog yum -y install rsyslog 2.修改S端配置监听514端口,提 ...

最新文章

  1. 网站被降权后该进行检查哪些问题?
  2. 061_JavaScript闭包
  3. python老王卖西瓜_使用Python爬取京东商品晒单图
  4. 多智能系统的第一个小视频
  5. 题库练习2(随机数去重排序、分割字符串、进制转换)
  6. 微型计算机的发展通常以什么为指标,微型计算机的发展以什么技术作为指标?...
  7. java se程序设计_JavaSE--Java 的基本程序设计结构
  8. 【Python】数据转换利器
  9. [总结]板子整理——第二弹
  10. itop 导入AD用户
  11. 将pycharm汉化
  12. js中的new Option默认选中
  13. 大麦盒子显示服务器超时,大麦盒子卡顿怎么办?这几个方法可以快速解决
  14. hdu2825(状压dp+AC自动机)
  15. 网站建设经验分享:如何设计及运营网站
  16. python解析mht文件_请教怎么解析.mht文件为html文件
  17. 计算机网络连接图标 红叉,win7电脑的网络连接图标出现红叉以及一直转圈的原因和解决方法...
  18. Selenium自动化下载文件Firefox配置教程
  19. 隐藏a标签html,a标签显示隐藏 js怎么控制a标签的显示和隐藏
  20. weblogic10.3压测BEA-000449的调整

热门文章

  1. QTP自传之web常用对象
  2. 有感于最近一个朋友买股票大亏
  3. u8系统怎么连接服务器,用友U8 怎么连接远程服务器
  4. 监控mysql锁定状态_MySQL 锁的监控及处理
  5. JavA持有类_关于继承:Java持有对象的超类的类型
  6. 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?
  7. mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中
  8. java电脑运行视频演示_javaweb视频第一天(二)
  9. 高中python公开课怎么上好_如何上好高中英语公开课
  10. MongoDB 数组类型查询 —— $elemMatch 操作符