在现代云原生环境中,RockyLinux容器监控和RockyLinux日志管理是保障系统稳定性和快速排错的关键环节。无论你是刚接触容器技术的新手,还是希望优化现有日志体系的运维人员,本教程都将带你从零开始,搭建一套实用、高效的容器日志收集与分析系统。
默认情况下,Docker 或 Podman 容器会将标准输出(stdout/stderr)记录到本地 JSON 日志文件中。这种方式虽然简单,但存在以下问题:
本教程基于 Rocky Linux 9 系统,使用 Docker 作为容器运行时。请确保你已安装以下组件:
# 安装 Dockersudo dnf install -y docker# 启动并启用 Docker 服务sudo systemctl enable --now docker# 验证 Docker 版本docker --version
我们将采用业界广泛使用的 EFK 栈来实现容器日志收集与可视化:
我们使用 Docker Compose 快速部署整个 EFK 系统。首先创建项目目录:
mkdir ~/efk-stack && cd ~/efk-stack
创建 docker-compose.yml 文件:
version: '3'services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.9.0 container_name: elasticsearch environment: - discovery.type=single-node - xpack.security.enabled=false ports: - "9200:9200" volumes: - esdata:/usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:8.9.0 container_name: kibana ports: - "5601:5601" depends_on: - elasticsearch fluentd: image: fluent/fluentd:v1.16-1 container_name: fluentd volumes: - ./fluent.conf:/fluentd/etc/fluent.conf - /var/lib/docker/containers:/var/lib/docker/containers:ro ports: - "24224:24224" - "24224:24224/udp" depends_on: - elasticsearchvolumes: esdata:
在相同目录下创建 fluent.conf 配置文件:
<source> @type forward port 24224 bind 0.0.0.0</source><source> @type tail path /var/lib/docker/containers/*/*.log pos_file /var/log/fluentd-docker.pos tag docker.* read_from_head true <parse> @type json time_key time time_format %Y-%m-%dT%H:%M:%S.%NZ </parse></source><match **> @type elasticsearch host elasticsearch port 9200 logstash_format true logstash_prefix fluentd include_tag_key true type_name access_log</match>
cd ~/efk-stackdocker-compose up -d
等待几分钟让服务初始化完成。你可以通过以下命令检查状态:
docker-compose ps
以 Nginx 为例,启动一个容器并指定日志驱动为 Fluentd:
docker run -d \ --name nginx-demo \ --log-driver=fluentd \ --log-opt fluentd-address=localhost:24224 \ --log-opt tag="nginx.access" \ nginx
现在,Nginx 的访问日志将自动被 Fluentd 捕获并转发到 Elasticsearch。
打开浏览器,访问 http://你的服务器IP:5601。
fluentd-*,时间字段选择 @timestamp为了生产环境稳定运行,建议:
通过本教程,你已经掌握了在 Rocky Linux 上搭建完整的容器日志监控体系。这套系统不仅能解决日志分散问题,还能为故障排查、性能分析和安全审计提供强大支持。记住,良好的RockyLinux日志管理是 DevOps 实践的基石之一。
提示:所有操作均在 Rocky Linux 9 测试通过。如遇权限问题,请确保当前用户属于 docker 用户组(sudo usermod -aG docker $USER)。
本文由主机测评网于2025-12-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025129390.html