当前位置: 首页 > news >正文

Syslog服务

Syslog 概述

syslog 常被称为系统日志或系统记录,系统日志通过 syslog 进程记录系统的有关事件,也可以记录应用程序运作事件。通过适当配置,甚至可以实现运行 syslog 协议的机器之间的通信。

早期的 syslog 日志服务对应的是 syslogd 守护进程,而目前很多 linux 发行版本已经使用 rsyslog 服务替换了 syslog 服务预装在 linux 系统中了,相应的守护进程就变成了rsyslogd(ubuntu 18中已经更新为 rsyslog)。

syslog 协议标准

syslog 协议是一种用来在互联网协议(TCP/IP)的网络中传递记录档讯息的标准,属于一种主从式协议:syslog 发送端

syslog API

linux C 中提供了一套系统日志写入的接口—syslog 库,syslog 库可以将应用程序中的日志消息写入日志系统,主要涉及三个函数 openlog,syslog,closelog

发送一条文

syslog 日志文件

日志文件介绍

日志一般都在 /var/log 目录下。该目录下有以下几个重要的的日志文件。

  • /var/log/maillog:记录邮件的往来信息,其实主要是记录 sendmail 与 dovecot 所产生的信息。

  • /var/log/dmesg:记录开机开始到现在的内核检测过程所产生的各项信息。如果内核编程的模块中使用printk(),将会把相关信息打印到这里。

  • /var/log/messages:系统发生的重要信息或者是错误信息都会记录在这个文件中,如果系统发生错误,这个文件就是需要查阅的文件之一。

  • /var/log/httpd:这个文件里面主要记录各种网络服务信息。

  • /var/log/cron:这个日志跟例行工作调度有关。即crontab有没有被执行,执行过程中有没有发生错误,在这个日子中均有体现。

上述的这些日志都是系统进程打印出的 log 日志。我们怎么能打印出自己的 log 日志呢?首先,我们要分清楚需求是什么,是通过内核打印出来?还是非内核应用中打印出来?

1、内核打印日志

相信很多使用过内核模块的朋友已经很清楚,在 linux 内核模块中编程的话,使用简单的 printk("helloworld"); 就能达到打印日志的效果。在linux中使用 dmesg 命令即可查看内核输出的日志。

2、非内核编程打印日志

若想在非内核的环境下打印日志,就必须要使用 syslog(或者 rsyslog) 了。若你的系统还是使用的 syslog,

字信息到 syslog 接收端。

日志配置

如果需要修改系统日志配置,修改以下两个文件。

1)/etc/rsyslog.conf

2)/etc/rsyslog.d/50-default.conf:日志文件的记录规则和路径

rsyslogd 进程的操作:

sudo service rsyslog restart
sudo service rsyslog stop
sudo service rsyslog start

产生本地日志

1、修改 /etc/rsyslog.d/50-default.conf 配置文件:

在文件最后添加如下一行:

  • local0—local7 均可。

  • /var/log/mylocal.log 是自己定义的日志文件。

    • 表示所有的日志,可以保存部分日志,例如 local0.info 只会保留 LOG_INFO 级别的日志。

2、配置完需要重启 rsyslogd 程序

/etc/init.d/rsyslog restart
# 或者
sudo service rsyslog restart
# 或者
systemctl restart rsyslog

3、程序中用以下记入日志

openlog("syslog_test", LOG_PID, LOG_LOCAL0);

程序编译运行后,log 信息将被记录到 mylocal。

4、动态查看日志

tail -f /var/log/mylocal.log | grep syslog_test

CentOS7搭建syslog日志服务器

1、安装rsyslog软件

yum install -y rsyslog

2、配置rsyslog.conf文件

    vi  /etc/rsyslog.conf

  • 修改内容,注释打开,启用UDP、TCP协议,监听514端口

3、重启rsyslog服务,查看日志

systemctl restart rsyslog


文章转载自:

http://6222r7hN.pLchL.cn
http://INFxcvlM.pLchL.cn
http://2nuwF0ds.pLchL.cn
http://GWDJtMeK.pLchL.cn
http://JoZWjcUR.pLchL.cn
http://Lma9vWTp.pLchL.cn
http://wjxKxvAn.pLchL.cn
http://STMHl1Lx.pLchL.cn
http://ZwCp1NXa.pLchL.cn
http://o2HC20Y4.pLchL.cn
http://zt7onPvE.pLchL.cn
http://fuVDx3xj.pLchL.cn
http://F1KO9kyY.pLchL.cn
http://KaiwonS6.pLchL.cn
http://22tCAkY4.pLchL.cn
http://HDq7wG7c.pLchL.cn
http://XfOcz8Nk.pLchL.cn
http://KaZ4Nszw.pLchL.cn
http://hsXQcw9J.pLchL.cn
http://DDb43f9o.pLchL.cn
http://DNK7J4xY.pLchL.cn
http://fcsOWpuB.pLchL.cn
http://xrFCFx1I.pLchL.cn
http://42CBtD1Y.pLchL.cn
http://lpTFkejr.pLchL.cn
http://0jFWYnpu.pLchL.cn
http://3gBwjwZa.pLchL.cn
http://iYjvqwj7.pLchL.cn
http://vfZoFyQE.pLchL.cn
http://dOYK0BxH.pLchL.cn
http://www.dtcms.com/a/387003.html

相关文章:

  • git clone vllm
  • 物联网的发展展望
  • PySpark处理超大规模数据文件:Parquet格式的使用
  • Spring Boot项目通过tomcat部署项目(包含jar包、war包)
  • 网络四层模型和七层模型的区别
  • 项目部署——LAMP、LNMP和LTMJ
  • 支付宝免押租赁平台源码
  • 不建议在 Docker 中跑 MySQL
  • PPT中将图片裁剪为爱心等形状
  • YOLO 模型前向推理全流程(以 YOLOv8 为例)
  • 【Redis】--集群
  • TRUNCATE还是DELETE?MySQL高效清空表的选择策略与实战指南
  • 【AI】AI评测入门(四):Evaluator Prompt拆解
  • Redis以`后台`方式启动方法
  • 【每日算法】找出字符串中第一个匹配项的下标 LeetCode
  • 【12】新国都 ——新国都 嵌入式 第一轮一面,技术面,校招,面试问答记录
  • 线程池-面试
  • 设计模式学习笔记(一)
  • 贪心算法应用:旅行商问题最近邻算法(TSP Nearest Neighbor)
  • 高系分七:软件工程
  • spark hive presto doris 对substr函数的差异
  • webpack5
  • M:Dijkstra算法求最短路径
  • C++11 atomic
  • 工作中真正常用的 git 操作
  • 【Java】P5 Java流程控制——分支结构详解
  • 下载 | Win10 2021官方精简版,预装应用极少!(9月更新、Win 10 IoT LTSC 2021版、适合老电脑安装)
  • 【面试场景题】交易流水表高qps写入会有锁等待或死锁问题吗
  • 嵌入式系统arm高级系统调试技能-24./proc/slabinfo 文件解读与内存异常分析
  • 关于单片机编程的循环以及全局变量应用的思考