您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯
tcpip sys(tcpipsys文件位置)
小玉2023-07-05【软件使用】
227人已围观
简介今天下午2点TCPIP协议的第一部分最后内容!SNMP,NTP和SYSLOG,预计2个小时讲完!本篇讲解Docker日志驱动切换到LinuxSy

tcpip sys(tcpipsys文件位置)
最后更新:2023-07-05 03:30:52
推荐指数:
今天下午2点TCPIP协议的第一部分最后内容!SNMP,NTP和SYSLOG,预计2个小时讲完!本篇讲解Docker日志驱动切换到LinuxSyslog。首先来看下Docker日志架构。Docker容器(DockerContainer)中的应用程序(Application)将日志写入到标准输出设备(STDOUT),Docker守护进程(DockerDaemon)负责从STDOUT中获取日志,并将日志写入对应的日志驱动中,如图1所示。默认地,Docker日志驱动是写到json-file里面的,我们通过dockerinfo|grep"LoggingDriver",即可观察到默认的日志设置,如图2所示。在这里,我们将介绍将Docker的日志切换到Docker的Linux宿主机的日志中。日志是系统中发生的事情的重要信息来源。Linux的默认日志是syslog,Syslog是消息日志记录的标准。长期以来,它一直是Linux/Unix系统上的标准日志记录机制。Syslog包含三个部分:-Syslog守护程序:它是一个监听日志并将其写入特定位置的守护程序。位置在守护程序的配置文件中定义。rsyslog是大多数发行版附带的Syslog守护程序。-Syslog消息格式:指Syslog消息的语法。-Syslog协议:指用于远程日志记录的协议。现代Syslog守护程序可以使用TCP和TLS,以及UDP,UDP是远程日志记录的传统协议。通常,日志写入/var/log目录下,通过命令sudols/var/log,即可看到当前系统下的多个log文件,如图3所示。Linux操作系统已安装了Syslog软件包,但它叫Rsyslog。实际上,Rsyslog是Syslog标准的一种实现。除了Rsyslog这一种实现,还有一种叫Syslogng的第三方实现。虽然Syslogng的功能较为强大,但我们还是选择使用Rsyslog,因为操作系统已经预装了,我们无须再单独安装。当然,也可通过以下命令查看Rsyslog是否已安装rsyslogd-vLinux系统基本已经默认安装了rsyslogd,图4显示的是RockyLinux8.5的执行结果。可以看到,这里的rsyslogd已经安装,并且已经配置了systemd服务。下面,我们将修改rsyslogd的配置文件,开启514端口,这样我们就可以是用TCP协议来查看系统的log日志了,这么做的目的,当然是为了日志能够和ELK集成。执行:sudovim/etc/rsyslog.conf本机为RockyLinux8.5,也就是类似于Redhat8.5,修改配置为:module(load="imtcp")#needstobedonejustonceinput(type="imtcp"port="514")然后,重启rsyslog服务:sudosystemctlrestartrsyslog之后,查看本机端口,确认514端口已经打开:sudonetstat-anpt|grep514当我们打开了syslog的远程端口514之后,我们就可以在启动Docker的时候,指定Docker的日志驱动为syslog,同时指定远程端口:执行命令:dockerrun-d-p81:80--log-driversyslog--log-optsyslog-address=tcp://localhost:514--namenginxnginx本命令中,首先需要使用logdriver指定Syslog为日志驱动,此外使用log-opt指定地址tcp://localhost:514,表示Docker容器可通过TCP协议连接本地的514端口,从而将日志写入Rsyslog中。如图6所示,我们得到一个id为70d761开头的Docker容器。Nginx容器启动成功后,在浏览器上发出请求,此时会发现,在/var/lib/docker/containers/<container_id>目录中不再生成<container_id>json.log文件了。如图7所示。那么日志输出到哪里去了呢?当然是在Linux的系统日志文件中了。此时可使用以下命令来查看Linux系统日志文件,该文件中的内容就是Syslog所生成的日志。执行:tail-f/var/log/messages结果如图8所示,在日志信息中,可以看到一个12位的字符串70d761efae8d,它就是Docker的容器ID。以上,我们实现了Docker日志的syslog输出。#Docker##Docker日志##Dockersyslog#@Docker自定义日志输出
很赞哦! (0)
上一篇:听单词(美剧听单词)
相关文章
文章评论
验证码: