当前位置: 首页 > article >正文

VictoriaLogs Syslog日志收集存储系统部署

Docker部署
启动命令 使用以下命令通过Docker启动VictoriaLogs容器:

docker run -d --restart always \
  -p 9428:9428 \
  -p 514:514/udp \
  -v ./victoria-logs-data:/victoria-logs-data \
  --name victoria-logs-syslog-songxwn.com \
  docker.io/victoriametrics/victoria-logs:latest \
  -syslog.listenAddr.udp=:514

说明:
9428 为HTTP端口,用于访问Web UI等。
514/udp 为syslog接收端口,-syslog.listenAddr.udp=:514 用于开启UDP接收syslog。
./victoria-logs-data 为存储日志数据的文件夹。
创建数据存储文件夹 在当前目录下创建数据存储文件夹:

mkdir victoria-logs-data

访问Web UI 地址:http://localhost:9428
无安全认证,可以直接访问并进行日志查询。
Docker Compose部署
创建 docker-compose.yml 文件 创建 docker-compose.yml 文件并写入以下内容:

version: '3'
services:
  victoria-logs-syslog:
    image: docker.io/victoriametrics/victoria-logs:latest
    container_name: victoria-logs-syslog
    restart: always
    ports:
      - "9428:9428"
      - "514:514/udp"
    volumes:
      - ./victoria-logs-data:/victoria-logs-data
    command:
      - '-syslog.listenAddr.udp=:514'

启动容器 在文件所在目录运行以下命令来启动VictoriaLogs:

docker-compose up -d

升级容器 如果需要升级镜像,运行以下命令:

docker-compose down
docker-compose pull
docker-compose up -d

日志保留时间设置
默认保留时间:VictoriaLogs 默认保留7天的日志。
设置保留时间:可以使用 --retentionPeriod 来设置自定义的日志保留时间,例如:

services:
  victoria-logs-syslog:
    image: docker.io/victoriametrics/victoria-logs:latest
    container_name: victoria-logs-syslog-songxwn.com
    restart: always
    ports:
      - "9428:9428"
      - "514:514/udp"
    volumes:
      - ./victoria-logs-data:/victoria-logs-data
    command:
      - '-syslog.listenAddr.udp=:514'
      - '--retentionPeriod=30d'

上述配置将日志保留时间设置为30天。
Web UI 使用
访问地址:http://localhost:9428
选择 select/vmui - Web UI for VictoriaLogs
进行日志查询:
直接输入查询条件进行全局搜索。
使用查询语法,例如:abc AND bcd。
监控VictoriaLogs
VictoriaLogs会以Prometheus公开格式暴露内部指标。
可通过以下路径查看指标:

http://localhost:9428/metrics

建议通过VictoriaMetrics对这些指标进行监控。
参考文档
VictoriaLogs文档:https://docs.victoriametrics.com/victorialogs/logsql/
这样你就能顺利地部署和监控VictoriaLogs日志系统了!

要在 Kubernetes (K8s) 上部署 VictoriaLogs,您可以按照以下步骤操作:

  1. 创建 Kubernetes 配置文件
    首先,您需要创建一个 K8s 部署配置文件 (YAML 格式)。以下是一个示例 victoria-logs-deployment.yaml 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: victoria-logs
  labels:
    app: victoria-logs
spec:
  replicas: 1
  selector:
    matchLabels:
      app: victoria-logs
  template:
    metadata:
      labels:
        app: victoria-logs
    spec:
      containers:
      - name: victoria-logs
        image: docker.io/victoriametrics/victoria-logs:latest
        ports:
        - containerPort: 9428
        - containerPort: 514
          protocol: UDP
        volumeMounts:
        - name: victoria-logs-data
          mountPath: /victoria-logs-data
        command:
        - '-syslog.listenAddr.udp=:514'
        - '--retentionPeriod=30d'
      volumes:
      - name: victoria-logs-data
        persistentVolumeClaim:
          claimName: victoria-logs-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: victoria-logs
spec:
  ports:
    - port: 9428
      targetPort: 9428
    - port: 514
      targetPort: 514
      protocol: UDP
  selector:
    app: victoria-logs

  1. 创建 PVC (Persistent Volume Claim)
    为了持久化存储日志数据,您需要为 VictoriaLogs 创建一个 PVC。创建一个 victoria-logs-pvc.yaml 文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: victoria-logs-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

  1. 部署到 Kubernetes 集群
    使用以下命令将配置文件应用到您的 Kubernetes 集群中:
kubectl apply -f victoria-logs-pvc.yaml
kubectl apply -f victoria-logs-deployment.yaml
  1. 验证部署
    确保部署和服务已成功创建:
kubectl get deployments
kubectl get services
kubectl get pods

  1. 访问 Web UI
    在 Kubernetes 中,您可能需要使用 kubectl port-forward 或者配置 Ingress 来访问 Web UI。以下是通过端口转发进行访问的命令:
kubectl port-forward svc/victoria-logs 9428:9428

然后通过浏览器访问:http://localhost:9428

  1. 监控 VictoriaLogs
    VictoriaLogs 会通过 Prometheus 格式暴露指标,您可以通过以下路径查看指标:
http://<your-k8s-node>:9428/metrics

建议使用 Prometheus 或 VictoriaMetrics 进行监控。


http://www.kler.cn/a/553334.html

相关文章:

  • R软件用潜在类别混合模型LCM分析老年人抑郁数据轨迹多变量建模研究
  • 01数据准备 抓取图片 通过爬虫方式获取bing的关键词搜索图片
  • uniapp基于JSSDK 开发微信支付(php后端)
  • 4.从零开始学会Vue--{{组件通信}}
  • LED灯闪烁实验:Simulink应用层开发
  • 【Golang 面试题】每日 3 题(五十九)
  • JVM类加载过程详解:从字节码到内存的蜕变之旅
  • HBase简介
  • 微软的基本类库BCL
  • 【python】tkinter简要教程
  • springmvc(13/158)
  • Pytorch实现之统计全局信息的轻量级EGAN
  • 计算机视觉算法实战——图像合成(主页有源码)
  • PHP培训机构教务管理系统小程序源码
  • CF1801D
  • ffmpeg configure 研究2:分析屏幕输出及文件输出的具体过程
  • 洛谷B2139
  • 解析Uniprot数据库数据|Python
  • PrimeFaces实战:IdleMonitor与Ajax的完美结合
  • Linux之kernel(1)系统基础理论(4)