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,您可以按照以下步骤操作:
- 创建 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
- 创建 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
- 部署到 Kubernetes 集群
使用以下命令将配置文件应用到您的 Kubernetes 集群中:
kubectl apply -f victoria-logs-pvc.yaml
kubectl apply -f victoria-logs-deployment.yaml
- 验证部署
确保部署和服务已成功创建:
kubectl get deployments
kubectl get services
kubectl get pods
- 访问 Web UI
在 Kubernetes 中,您可能需要使用 kubectl port-forward 或者配置 Ingress 来访问 Web UI。以下是通过端口转发进行访问的命令:
kubectl port-forward svc/victoria-logs 9428:9428
然后通过浏览器访问:http://localhost:9428
- 监控 VictoriaLogs
VictoriaLogs 会通过 Prometheus 格式暴露指标,您可以通过以下路径查看指标:
http://<your-k8s-node>:9428/metrics
建议使用 Prometheus 或 VictoriaMetrics 进行监控。