docker容器中使用rsyslogd

docker容器中使用rsyslogdrsyslogd作为CentOS:7系统自带的日志管理工具,为很多服务提供了便捷的日志管理接入方案,然而CentOS:7的官方镜像默认是不支持rsyslogd的。我们做个实验:1)启动测试容器dockerrun-it–name=test-syslogcentos:7/bin/bash2)安装rsyslogdyum-yinstallrsyslog…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

rsyslogd作为CentOS:7系统自带的日志管理工具,为很多服务提供了便捷的日志管理接入方案,然而 CentOS:7的官方镜像 默认是不支持rsyslogd的。我们做个实验:

1)启动测试容器

docker run -it --name=test-syslog centos:7 /bin/bash

2)安装rsyslogd

yum -y install rsyslog

3)测试rsyslogd

rsyslogd  # 启动日志服务
logger "Hello rsyslog"  # 发送一条日志
cat /var/log/messages  # 查看日志内容

我们可以看到并没有任何输出。

4)分析原因

原因比较简单,即rsyslog默认通过 journal 读取日志信息,但CentOS镜像默认并未安装systemd和journald。有两个解决方案:(1)按官方提供的教程(systemd integration)将systemd和journald集成到CentOS:7镜像里;(2)修改 rsyslogd 的配置,不经过 journal 读取日志信息。这里讲解下方案(2)的具体操作。

5)修改配置

cat /var/run/syslogd.pid  # 查看刚才启动的rsyslogd进程pid
kill -9 进程号  # 将刚才启动的rsyslogd关掉
rm -rf /etc/rsyslog.d/listen.conf  # 将 journal 的配置删除

vi 打开 /etc/rsyslog.conf 文件,将 $ModLoad imjournal 和 $IMJournalStateFile imjournal.state 这两行注释;将 $OmitLocalLogging on 改为 $OmitLocalLogging off。保存退出。

6)测试验证

rsyslogd  # 启动日志服务
logger "Hello rsyslog"  # 发送一条日志
cat /var/log/messages  # 查看日志内容

可以看到如下输出,说明日志服务已正常:

May 21 08:57:54 60c66cdf443f rsyslogd:  [origin software="rsyslogd" swVersion="8.24.0-34.el7" x-pid="108" x-info="http://www.rsyslog.com"] start
May 21 08:58:05 60c66cdf443f root: Hello rsyslog

 

转载于:https://www.cnblogs.com/openxxs/p/10900915.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170615.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • docker访问宿主机_docker容器获取宿主机ip

    docker访问宿主机_docker容器获取宿主机ip前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程我们需要让宿主机的mysql允许远程接入。需要授权,不同版本的mysql授权语句不一样,这个在之前讲过。如下是mysql8.0之前版本的授权语句:GRANTALLPRIVILEGESON*.*TO’root’@’%’IDENTIFIEDBY’root’WITHGRANTOPTION;docker安装的mysql走网桥网络,这样docker容器的mysql就能跟宿主机同一个网络

  • Centos7下安装Docker(详细安装教程)[通俗易懂]

    一,Docker简介百科说:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。看起来有点雾,用过虚拟机的应该对虚拟化技术有点印象,不知道也没关系,就把它当成轻量级的虚拟机吧(虽然一个是完全虚拟化,一个是操作系统层虚拟化),这个解释到位:ht…

  • docker端口映射失败解决方法

    docker端口映射失败解决方法docker端口映射失败解决方法

    2022年10月18日
  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

  • docker搭建kafka集群「建议收藏」

    docker搭建kafka集群「建议收藏」docker搭建kafka集群我在M1mbp上使用的以下镜像新建文件zk-kafka-docker-compose.ymlversion:”2″services:zookeeper:user:rootimage:docker.io/zookeeperports:-“12181:2181″environment:-ALLOW_ANONYMOUS_LOGIN=yesvolumes:-zoo

  • centos7.4安装docker_docker运行centos

    centos7.4安装docker_docker运行centos前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号