暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用docker compose部署VictoriaLogs

运维笔谈 2025-03-11
297
VictoriaLogs号称单节点可替代传统 30 节点 Elasticsearch 集群,CPU/内存消耗仅为 ES 的 1/30,存储压缩比提升 30 倍。高性能日志存储系统VictoriaLogs入门简介
我们首先使用一个简单的docker compose部署VictoriaLogs来体验下。
    services:
      victoria-logs:
        image: victoriametrics/victoria-logs:latest
        ports:
          - "9428:9428"
          - "514:514/udp"
        volumes:
          - ./data:/victoria-logs-data
        command:
          - "-syslog.listenAddr.udp=:514"
          - "--retentionPeriod=30d"
    • -syslog.listenAddr.udp:指定 UDP 协议监听端口,兼容路由器、防火墙等设备的 Syslog 输出。

    • --retentionPeriod:全局日志保留策略(默认 7 天),此处设置为 1个月。


    下面是一个优化的docker compose文件,仅供参考:
      version: '3.8'


      services:
        victoria-logs:
          image: victoriametrics/victoria-logs:latest
          container_name: victoria-logs  # 显式命名容器便于管理
          ports:
            - "9428:9428"
            - "514:514/udp"
          networks:
            - victoria-net  # 自定义网络提升隔离性
          volumes:
            - victoria-data:/victoria-logs-data  # 命名卷优化存储性能
          environment:
            TZ: "Asia/Shanghai"  # 统一时区配置
          command:
            - "-syslog.listenAddr.udp=:514"
            - "--retentionPeriod=180d"  #保留半年数据
            - "--retention.maxDiskSpaceUsageBytes=500GB"  # 磁盘空间硬限制
          deploy:
            resources:
              limits:
                cpus: '1.0'  # CPU 限制防止资源争用
                memory: 2048M  # 内存限制避免 OOM
          healthcheck:  # 健康检查确保服务可用性
            test: ["CMD""curl""-f""http://localhost:9428/health"]
            interval: 30s
            timeout: 10s
            retries: 3


      volumes:
        victoria-data:  # 命名卷声明便于维护
          driver: local


      networks:
        victoria-net:  # 自定义网络配置
          driver: bridge
          attachable: true

      文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论