美文网首页日志处理程序员
Syslog 服务搭建与功能实现

Syslog 服务搭建与功能实现

作者: 58bc06151329 | 来源:发表于2017-09-18 09:06 被阅读312次

文前说明

作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。

本文仅供学习交流使用,侵权必删。
不用于商业目的,转载请注明出处。

Syslog 常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)的网络中传递记录档讯息的标准。syslog 协议属于一种主从式协议,系统日志讯息可以被以 UDP 协议或 TCP 协议来传送。

Syslog 服务搭建

搭建 Linux 系统 syslog 服务端。

  • 修改 syslog 配置文件,设置接收来自外部的基于 UDP 或者 TCP 协议的日志消息。
vi /etc/rsyslog.conf

注意:CentOS6 以前的版本配置文件为 /etc/syslog.conf

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

$ModLoad imudp$UDPServerRun 514 或者 $ModLoad imtcp$InputTCPServerRun 514 的注释标记去掉。

  • 重启 syslog 服务。
service rsyslog restart
  • 关闭防火墙或者打开 514 端口。
service iptables stop

搭建 Linux 系统 syslog 客户端。

  • 修改 syslog 配置文件,设置日志上报服务端。
#*.* @@remote-host:514

去掉注释标记,修改 remote-host,为 syslog 服务端地址。

  • 重启 syslog 服务。
service rsyslog restart
  • 关闭防火墙或者打开 514 端口。
service iptables stop

调试 syslog 日志上报。

  • 在服务端查看客户端上报的日志信息。
tail -f /var/log/message

Syslog 功能实现

  • 工程中引入 syslog 第三方包。
<dependency>
  <groupId>org.syslog4j</groupId>
  <artifactId>syslog4j</artifactId>
  <version>0.9.46</version>
</dependency>
  • 实例化 syslog 服务对象,并且设置使用的协议。
private SyslogIF syslog;

syslog = Syslog.getInstance("TCP");
  • 设置工程项目上报 syslog 服务端的地址和端口等配置信息。
syslog.getConfig().setHost(ip);
syslog.getConfig().setPort(port);
syslog.getConfig().setCharSet(encoding);
  • 上报日志给服务端。
syslog.log(level, message);

Syslog 基本说明

  • syslog 的消息格式

系统消息由一个百分号开始:%FACILITY-SUBFACILITY-SEVERITY-MNEMONIC:Message-text

名称 说明 备注
Facility 特性 由 2 个或 2 个以上大写字母组成的代码,用来表示硬件设备、协议或系统软件的型号。
Severity 严重性 范围为 0~7 的数字编码,表示了事件的严重程度。
Mnemonic 助记码 唯一标识出错误消息的代码。
Message-text 消息文本 用于描述事件的文本串。消息中的这一部分有时会包含事件的细节信息,其中包括目的端口号、网络地址或系统内存地址空间中所对应的的地址。
  • syslog 为每个事件赋予几个不同的优先级。
级别码 级别 说明
0 LOG_EMERG 紧急情况,需要立即通知技术人员。
1 LOG_ALERT 应该被立即改正的问题,如系统数据库被破坏,ISP 连接丢失。
2 LOG_CRIT 重要情况,如硬盘错误,备用连接丢失。
3 LOG_ERR 错误,不是非常紧急,在一定时间内修复即可。
4 LOG_WARNING 警告信息,不是错误,比如系统磁盘使用了 85% 等。
5 LOG_NOTICE 不是错误情况,也不需要立即处理。
6 LOG_INFO 情报信息,正常的系统消息,比如骚扰报告,带宽数据等,不需要处理。
7 LOG_DEBUG 包含详细的开发情报的信息,通常只在调试一个程序时使用。

相关文章

  • Syslog 服务搭建与功能实现

    文前说明作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种...

  • 一些管理协议

    syslog syslog 是日志服务功能。在思科的路由器上是默认打开的 但console下的syslog功能是默...

  • syslog服务

    最近在项目开发过程中使用到点击记录的功能,实现方式是通过syslog的方式将日志送到log服务器,由log服务器统...

  • CDN基础实验--基于nginx+squid实现缓存功能

    CDN基础实验--基于nginx+squid实现缓存功能 实验要求 1、搭建2个web服务,使用nginx实现。 ...

  • live-server

    快速搭建服务---前端 使用场景 在你写好页面之后,查看打包好的文件可以实现的功能 搭建临时的服务修改文件浏览器自...

  • live-server livereload

    快速搭建服务---前端使用场景在你写好页面之后,查看打包好的文件可以实现的功能 搭建临时的服务修改文件浏览器自动刷...

  • koa2 手写简单实现路由功能

    实现目标:当客户端请求服务不同地址时,调用目录中不同html文件实现简单路由功能 步骤一:搭建简单koa服务 步骤...

  • 在Centos7环境下搭建svn+apache+nginx+IF

    项目背景 本地有一台Centos7的服务器,由于某些原因,需要在该服务器上搭建svn服务器并实现管理。 实现功能 ...

  • 树莓派LNMPWeb服务实现用户的注册登录

    环境:树莓派上搭建LNMPWeb服务器 HTML+PHP+MySQL实现用户的注册及登陆功能 HTML实现注册界面...

  • 无线考勤实现

    配置华为控制器,启用 SysLog配置华为SysLog 使用 Logstash 实现日志收集 使用 Elastic...

网友评论

    本文标题:Syslog 服务搭建与功能实现

    本文链接:https://www.haomeiwen.com/subject/vtuvsxtx.html