syslog的使用

1. syslog的配置

1.1. syslog简介

syslog.conf是syslogd进程的配置文件,将在程序启动时读取,默认位置是/etc/syslog.conf.这个配置文件中的空白行和以"#"开头的行将被忽略."facility.level"部分也被称为选择符(seletor). seletor和action之间使用一个或多个空白分隔.它指定了一系列日志记录规则.规则的格式如下:

seletor(facility.level)    action

选择符(seletor)(选择符由 facility 和 level 两部分组成,之间用一个句点(.)连接)

完善的日志分析系统应该能够通过多种协议(包括syslog等)进行日志采集并对日志分析,因此日志分析系统首先需要实现对多种日志协议的解析。其次,需要对收集到的海量日志信息进行分析,再利用数据挖掘技术,发现隐藏再日志里面的安全问题。

Syslog再UNIX系统中应用非常广泛,它是一种标准协议,负责记录系统事件的一个后台程序,记录内容包括核心、系统程序的运行情况及所发生的事件。Syslog协议使用UDP作为传输协议,通过514端口通信,Syslog使用syslogd后台进程,syslogd启动时读取配置文件/etc/syslog.conf,它将网络设备的日志发送到安装了syslog软件系统的日志服务器,Syslog日志服务器自动接收日志数据并写到指定的日志文件中。

1.1.1. linux中日志的类型

(1)info:基本的信息

(2)notice:比info更需注意的信息

(3)warning:警告,提示管理员,但是不会影响系统的进程

(4)error:错误,一些比较重要的错误信息。例如、某些服务无法启动

(5)crit:比error要严重的一些错误

(6)alert:出现这个错误,管理员就要注意啦!有可能就会影响到系统

(7)panic:出现这个错误,系统就死机啦!什么也做不了了

1.1.2.  facility

可以理解为日志的来源或设备,目前常用的facility有以下几种:

  auth          #认证相关的
  authpriv        #权限,授权相关的
  cron          #任务计划相关的
  daemon         #守护进程相关
  kern          #内核相关的
  lpr           #打印相关的
  mail          #邮件相关的
  mark          #标记相关的
  news          #新闻相关的
  security        #安全相关的,与auth类似
  syslog         #syslog自己的
  user          #用户相关的
  uucp          #unix to unix cp相关的
  local0 到 local7   #用户自定义使用
  *            #表示所有的facility

1.1.3. action(动作)

日志记录的位置

  系统上的绝对路径        #普通文件,如:/var/log/xxx
  |            #管道,通过管道送给其它命令处理
  终端           #终端,如:/dev/console
  @HOST          #远程主机,如:@10.0.0.1
  用户           #系统用户,如:root
  *            #登录到系统上的所有用户,一般为emerg级别的日志是这样定义的

1.1.4. 日志定义格式举例

   mail.info  /var/log/mail.log  #表示将mail相关的,级别为info及info以上级别的信息记录到/var/log/mail.log文件中
  auth.=info  @10.0.0.1      #表示将auth有关的,级别为info的信息记录到10.0.0.1主机上去
                      #前提是10.0.0.1要能够接受其它主机发来的日志信息
  user.!error             #与user.error相反
  *.info                #表示记录所有的日志信息的info级别
  mail.*                #表示记录mail相关的所有级别的信息
  *.*                  #记录所有的日志信息的所有级别
  cron.info;mail.info         #多个日志来源用";"隔开
  cron,mail.info            #与cron.info;mail.info意义相同
  mail.*;mail.!=info         #表示记录mail相关的除了info级别之外的所有级别的信息

1.1.5. 重启rsyslog服务

systemctl restart rsyslog

1.2. syslog服务器

1.3. logrotate:系统中进行日志滚动(切割)的工具

https://zhuanlan.zhihu.com/p/90507023

1.4. rsyslog的配置文件

/etc/rsyslog.d/50-default.conf

#  Default rules for rsyslog.
#
#			For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*			/var/log/auth.log
*.*;auth,authpriv.none		-/var/log/syslog
#cron.*				/var/log/cron.log
#daemon.*			-/var/log/daemon.log
kern.*				-/var/log/kern.log
#lpr.*				-/var/log/lpr.log
mail.*				-/var/log/mail.log
#user.*				-/var/log/user.log

1.5. 举例说明

1.5.1. 添加配置文件

# cat /etc/rsyslog.d/30-user.conf
local0.*			/var/log/logger.log

1.5.2. 重启rsyslog

Systemctl restart rsyslog

2. syslog在shell脚本中的应用

#!/bin/bash
echo "***********************************************"
echo "**** -i,记录进程id"
logger -i "this is a test --i"
logger "this is a test --"
<<!
Jul 12 09:14:32 10-23-97-171 ubuntu[68209]: this is a test --i
Jul 12 09:14:32 10-23-97-171 ubuntu: this is a test --
!

echo -e "\n\n"
echo "***********************************************"
echo "**** -s,输出标准错误,并且将信息打印到系统日志中"
logger -i -s "abc"
echo -e "\n\n"
echo "***********************************************"
echo "**** -t,指定标记记录,在message日志中可以看到是属于哪个模块记录的日志,-t后面为模块名称,加引号或不加都可以。如果不指定-t,都是已root为记录。"
logger -i -t xuxin -s "this is a test"
logger -i -t "xuxin" -s "this is a test"
logger -i -s "this a test"
<<!
Jul 12 09:15:41 10-23-97-171 xuxin[68263]: this is a test
Jul 12 09:15:41 10-23-97-171 xuxin[68264]: this is a test
Jul 12 09:15:41 10-23-97-171 ubuntu[68265]: this a test
!
echo -e "\n\n"
echo "***********************************************"
echo "**** -p,指定输入消息日志级别,优先级可以是数字或者指定为 facility.level的格式。比如:-p local3.info local3 这个设备的消息级别为 info。默认级别是 user.notice"
logger -it xuxin -p local0.info "this a test"

3. syslog在C/C++中的应用

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <syslog.h>

int work(long loop_count)
{
    while(loop_count-- > 0) {
        syslog(LOG_INFO, "loglog");
    }
    return 0;
}


int test(long process_count, long loop_count)
{
    long i;
    pid_t pid;

    for (i = 0; i < process_count; i++) {
        pid = fork();
        if (pid < 0) {
            printf("fork fail\n");
        } else if(pid == 0) {
            work(loop_count);
            return 0;
        }
    }

    for (i = 0; i < process_count; i++) {
        pid = wait(NULL);
    }

    return 0;
}


int main(int argc, char** argv)
{

    if (argc != 3) {
        fprintf(stderr, "test nprocess nloop");
        exit(1);
    }

    openlog(NULL, LOG_NDELAY|LOG_NOWAIT|LOG_PID, LOG_LOCAL0);

    test(atol(argv[1]), atol(argv[2]));

    
    return 0;
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: syslog watcher是一款用于监控和管理系统日志的工具。下面为您提供syslog watcher的使用教程。 1. 下载和安装:您可以从syslog watcher官方网站下载最新版本的软件。安装过程相对简单,只需按照安装向导的指示进行即可。 2. 配置syslog服务器:首次启动syslog watcher时,您需要配置syslog服务器设置。首先,选择“设置”选项卡,然后点击“添加”按钮。在弹出的对话框中,输入syslog服务器的IP地址和端口号,选择协议类型(如UDP或TCP),并点击“保存”按钮。 3. 创建日志规则:在syslog watcher中,可以根据需要创建不同的日志规则来监控和管理不同类型的日志。点击“规则”选项卡,然后点击“添加规则”按钮。在弹出的对话框中,输入规则名称、选择适用的设备类型和日志级别,配置过滤条件,最后点击“保存”按钮。 4. 查看日志:在syslog watcher中,可以通过两种方式查看日志:实时监控和历史日志。实时监控允许您实时查看日志流,可以选择某个规则进行监控。历史日志则允许您查看已存储的日志文件,可以根据时间范围和规则进行筛选。 5. 报警设置:syslog watcher还支持设置警报规则,使您在满足一定条件时能够及时收到通知。点击“警报”选项卡,然后点击“添加警报”按钮。在弹出的对话框中,选择触发条件和通知方式,并配置相应的参数,最后点击“保存”按钮。 6. 其他功能:syslog watcher还提供了其他实用的功能,例如日志导出、日志分析、日志清理等。您可以根据需要使用这些功能来更好地管理系统日志。 希望以上使用教程能够帮助您更好地理解和使用syslog watcher,使您能够更高效地监控和管理系统日志。 ### 回答2: Syslog Watcher是一个用于监视和分析syslog消息的实用工具。以下是Syslog Watcher的使用教程: 1. 下载和安装:首先,从官方网站或其他可信来源下载Syslog Watcher的安装文件。安装过程相对简单,只需按照向导提示一步步操作即可。 2. 配置:安装完成后,启动Syslog Watcher。在初始设置中,您需要配置Syslog Watcher以接收和处理syslog消息。您可以选择监听的端口和协议,并选择是否使用数据加密。还可以设置日志文件保存的路径。 3. 连接设备:在Syslog Watcher的用户界面中,点击"设备"选项卡,然后点击"添加"按钮。在弹出的对话框中,输入要连接的设备的IP地址和端口号,并选择要使用的协议(如TCP或UDP)。点击"确定"后,Syslog Watcher将开始接收该设备发送的syslog消息。 4. 设置过滤器:为了更好地管理和分析syslog消息,您可以使用过滤器进行筛选。在Syslog Watcher的用户界面中,点击"过滤器"选项卡,然后点击"添加过滤器"。在弹出的对话框中,您可以基于设备、优先级、关键词等设置过滤条件。点击"确定"后,只有符合过滤条件的消息将被显示和记录。 5. 查看和分析日志:在Syslog Watcher的用户界面中,点击"日志"选项卡,您将看到显示的syslog消息列表。您可以按照时间、设备、优先级等对日志消息进行排序和筛选。通过双击某条消息,您可以查看详细的消息内容和元数据信息。 6. 导出日志:如果需要保留或与他人共享syslog日志,您可以将其导出为其他格式的文件(如TXT、CSV或HTML)。在Syslog Watcher的用户界面中,点击"日志"选项卡,然后点击"导出"按钮。选择要导出的文件格式和保存路径,点击"确定"后,您将得到包含所有被筛选过的日志消息的文件。 总的来说,Syslog Watcher是一款简单易用且功能强大的工具,它可以帮助您有效地监听、分析和管理syslog消息。通过按照上述步骤配置和使用,您将能够更好地理解和利用Syslog Watcher工具。 ### 回答3: syslog watcher是一个用于监控和管理系统日志的工具。它可以帮助管理员追踪和调查系统问题,并及时采取相应措施。 首先,安装和配置syslog watcher是必要的。首先,您需要到syslog watcher的官方网站上下载和安装适合您操作系统的版本。安装完成后,打开程序并点击"设置"按钮。在设置界面,您可以选择监听的日志源,可以是本地日志文件,也可以是远程主机上的日志文件。选择相关的日志源后,点击"保存"按钮。 接下来,您可以开始使用syslog watcher来监控和管理系统日志。首先,点击"检查"按钮,它将开始监控所选择的日志源,并将最新的日志信息显示在窗口中。您可以在窗口中看到日志的级别、时间戳、来源等信息。您还可以通过输入关键字来过滤日志,以便更快地找到感兴趣的日志条目。 除了实时监控外,syslog watcher还提供了一系列的分析和报告功能。点击"分析"按钮,您可以选择特定的日志源和时间范围,以便生成相应的报告。报告可以以文本、图表或图形的形式呈现,帮助管理员更好地理解和分析系统日志。 此外,syslog watcher还支持发送警报和通知。您可以在"设置"界面中配置警报规则,比如当某个特定的日志条目达到一定数量或级别时,自动发送警报给管理员。这样,管理员将能够及时响应和解决系统问题。 总而言之,syslog watcher是一个功能强大、易于使用的系统日志管理工具。它可以帮助管理员实时监控系统日志、分析问题并采取相应措施。它的灵活性和可定制性使得它成为管理系统日志的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值