syslog的远程日志功能试用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 类别:linux 作者:臭豆腐[trydofor] 来源:www.trydofor.com 日期:2006-08-22 授权:署名-非商业-保持一致 1.0 协议 声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。

类别: linux 作者: 臭豆腐[trydofor] 来源: www.trydofor.com 日期: 2006-08-22 授权: 署名-非商业-保持一致 1.0 协议 声明: 拷贝、分发、呈现和表演本作品,请保留以上全部信息。

内容摘要:
syslog自身实现了远程log功能,本次试验的目的是实现多台主机的远程日志管理. 能对log进行简单的分离,以便进一步分析和审计.

测试环境

log服务器:192.168.0.1 (logserver) :接收日志
log客户机:192.168.0.2 (logclient) :产生日志

# uname -a
Linux logserver 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 
2003 i686 i686 i386 GNU/Linux

简单配置

syslog自身提供了远程日志功能,这里主要需要完成的功能是:

1.配置syslog使其支持远程日志功能

[服务端]

1) SYSLOGD_OPTIONS增加 -r 标志
#cat /etc/rc.d/init.d/syslog
... ...
if [ -f /etc/sysconfig/syslog ] ; then
        . /etc/sysconfig/syslog
else
        SYSLOGD_OPTIONS="-m 0"
        KLOGD_OPTIONS="-2"
fi
... ...
#cat /etc/sysconfig/syslog
... ...
SYSLOGD_OPTIONS="-r -m 0"
... ...

2) 确认 syslog 开起 514/udp,如果没有,需要添加如下内容
# cat /etc/services |grep syslog
syslog          514/udp


3)重新启动syslog
#service syslog restart

注: kill -HUP `cat /var/run/syslogd.pid`
只是重新载入配置文件(/etc/syslog.conf)

[客户端]

1) 增加host名
# cat /etc/hosts
192.168.0.1       logserver

# ping logserver
PING logserver (192.168.0.1) 56(84) bytes of data.
64 bytes from logserver (192.168.0.1): icmp_seq=0 ttl=64 time=0.234 ms

2) 是syslog远程输出,即把所有指向文件的输出都改成 @logserver
# cat /etc/syslog.conf
*.*                                      @logserver

3) 重载入 syslog 配置
kill -HUP `cat /var/run/syslogd.pid`

[验证连接]

在client上,重启一个服务
#service vsftpd restart
然后在server上看 /var/log/message
能看到从192.168.0.2发送的log

[简单结论]

以上步骤,已经实现了syslog的远程日志功能,但是各个log是混在一起的
包括本机(server)和远程(client,可能会多太客户机),这样不利于log的
的分离和统计.

日志分离

首先要进行客户端的输出粒度,然后在服务端在进行二次分析和分离.

syslog.conf个格式如下.(man 和 google能找到,不再累诉)
设备.行为级别 [;设备.行为级别] 记录行为
(注意各栏之间用[Tab]来分隔,用空格是无效的。)

===============================================================
太有难度了,等我闲下来再继续,参考下别的log项目

[added 2006-08-24]
需求变化了,俺也不用费脑筋了,最简单的方法,就是crontab + grep了
每天23:59分,对log文件grep一下,就可以按ip分离和保存了,爱怎么整都行

参考资料:
 
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
99 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
3月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
165 9
|
4月前
|
存储 监控 Serverless
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
|
4月前
|
监控 Serverless 开发者
函数计算发布功能问题之查看函数的调用日志的问题如何解决
函数计算发布功能问题之查看函数的调用日志的问题如何解决
|
4月前
|
存储 网络协议 Linux
在Linux中,如何通过syslog进行远程日志转发?
在Linux中,如何通过syslog进行远程日志转发?
|
5月前
|
Python
Python编程实战:利用闭包与装饰器优化日志记录功能
【7月更文挑战第7天】Python的闭包和装饰器简化了日志记录。通过定义如`log_decorator`的装饰器,可以在不修改原函数代码的情况下添加日志功能。当@log_decorator用于`add(x, y)`函数时,调用时自动记录日志。进一步,`timestamp_log_decorator`展示了如何创建特定功能的装饰器,如添加时间戳。这些技术减少了代码冗余,提高了代码的可维护性。
69 1
|
5月前
|
监控
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
|
6月前
|
缓存 监控 安全
在 Spring Boot 中使用 AOP(Aspect-Oriented Programming)实现日志记录功能
在 Spring Boot 中使用 AOP(Aspect-Oriented Programming)实现日志记录功能
343 1
|
5月前
|
Unix Python
Python代码示例:使用`syslog`模块进行日志记录
Python代码示例:使用`syslog`模块进行日志记录
|
6月前
|
存储 缓存 安全
【实战指南】轻松自研嵌入式日志框架,6大功能亮点一文读懂
本文介绍了如何自研一个嵌入式日志框架,涵盖了6大功能亮点:日志分级管理、异步处理与并发安全性、详尽上下文信息记录、滚动日志归档策略、高效资源利用和便捷API接口。设计上,通过日志过滤器、共享环形缓冲区和独立的日志管理进程实现日志管理。在并发环境下,使用信号量保证线程安全。日志文件按大小滚动并有序归档,同时考虑了资源效率。对外提供简洁的API接口,便于开发人员使用。文章还简述了实现细节,包括实时存储、日志滚动和共享内存管理。测试部分验证了日志回滚和实时打印功能的正确性。
198 4