VictoriaLogs + Promtail Docker 版部署
前置说明
如果你还没做 MongoDB 日志切割,请先看 MongoDB 日志切割。 Docker 版已经内置 Grafana 和慢查询面板,部署完成后可直接使用。
前提条件
- 已安装
docker - 已安装
docker-compose
部署 VictoriaLogs + Grafana
-
下载镜像
- 服务器支持访问互联网
- 服务器不支持访问互联网
docker pull registry.cn-hangzhou.aliyuncs.com/hap-mdy/hap-monitor-victorialogs-grafana-amd64:1.0.0# 离线镜像包文件下载链接,下载完成后上传到部署服务器https://pdpublic.mingdao.com/private-deployment/offline/common/hap-monitor-victorialogs-grafana-amd64-1.0.0.tar.gz# 在服务器上通过 docker load -i 命令加载离线镜像docker load -i hap-monitor-victorialogs-grafana-amd64-1.0.0.tar.gz -
创建配置文件与数据目录
mkdir -p /usr/local/victoria-logs-linuxmkdir -p /data/victorialogsmkdir -p /data/grafana -
创建配置文件
cat > /usr/local/victoria-logs-linux/hap-monitor-logs.yaml << 'EOF'services:hap-monitor-logs:image: registry.cn-hangzhou.aliyuncs.com/hap-mdy/hap-monitor-victorialogs-grafana-amd64:1.0.0container_name: hap-monitor-logsrestart: alwaysports:# VictoriaLogs HTTP API- "9428:9428"# Grafana Web UI- "3000:3000"volumes:# VictoriaLogs 数据目录- /data/victorialogs:/data/victorialogs# Grafana 数据目录- /data/grafana:/usr/local/grafana/dataenvironment:# 时区TZ: Asia/Shanghai# Go Runtime Heap 限制,建议 <= mem_limitGOMEMLIMIT: 2GiB###################################################################### VictoriaLogs###################################################################### 数据目录VL_STORAGE_DATA_PATH: /data/victorialogs# HTTP 监听地址VL_HTTP_LISTEN_ADDR: ":9428"# Basic AuthVL_HTTP_AUTH_USERNAME: myuserVL_HTTP_AUTH_PASSWORD: mypassword# 数据保留时间VL_RETENTION_PERIOD: 30d# 最大磁盘占用VL_RETENTION_DISK_USAGE: 50GiB# 内部 cache 百分比VL_MEMORY_ALLOWED_PERCENT: "2"# 写入并发VL_MAX_CONCURRENT_INSERTS: "4"# 查询并发VL_MAX_CONCURRENT_REQUESTS: "2"# 查询超时VL_SEARCH_MAX_QUERY_DURATION: 30s# 最大查询时间范围VL_SEARCH_MAX_QUERY_TIMERANGE: 24h# 查询排队超时VL_SEARCH_MAX_QUEUE_DURATION: 5s# 慢查询日志阈值VL_SEARCH_LOG_SLOW_QUERY_DURATION: 3s# 单行日志最大大小VL_INSERT_MAX_LINE_SIZE_BYTES: "262144"# 单行最大字段数VL_INSERT_MAX_FIELDS_PER_LINE: "300"# syslog 附加字段VL_SYSLOG_EXTRA_FIELDS_TCP: '{"job":"rsyslog"}'# 日志级别VL_LOGGER_LEVEL: INFO###################################################################### Grafana###################################################################### Grafana 子路径GRAFANA_SERVER_ROOT_URL: "%(protocol)s://%(domain)s:%(http_port)s/privatedeploy/mdy/monitor/victorialogs-grafana/"# 开启子路径模式GRAFANA_SERVER_SERVE_FROM_SUB_PATH: "true"# Grafana 默认管理员账号GRAFANA_ADMIN_USER: admin# Grafana 默认管理员密码GRAFANA_ADMIN_PASSWORD: admin@123456# 允许加载未签名插件GRAFANA_ALLOW_UNSIGNED_PLUGINS: victoriametrics-logs-datasource###################################################################### VictoriaLogs Grafana Datasource###################################################################### VictoriaLogs 地址GRAFANA_VL_DATASOURCE_URL: http://127.0.0.1:9428# VictoriaLogs Basic Auth 用户名GRAFANA_VL_BASIC_AUTH_USER: myuser# VictoriaLogs Basic Auth 密码GRAFANA_VL_BASIC_AUTH_PASSWORD: mypasswordmem_limit: 3gmemswap_limit: 3gcpus: 2.0ulimits:nofile:soft: 102400hard: 102400logging:driver: json-fileoptions:# 单日志文件大小max-size: "100m"# 保留日志文件数量max-file: "3"EOF变量说明:
VL_HTTP_AUTH_USERNAME和VL_HTTP_AUTH_PASSWORD用于 VictoriaLogs 的 Basic Auth 认证,建议按现场规范改成更复杂的用户名和密码,不要直接沿用示例值VL_RETENTION_PERIOD用于设置日志保留时长,例如30d表示保留 30 天VL_RETENTION_DISK_USAGE用于设置 VictoriaLogs 的磁盘占用上限,例如50GiB表示最多使用 50 GiB 磁盘空间- 如果日志量比较大,建议同时结合这两个参数一起调整,避免磁盘增长过快
GRAFANA_VL_DATASOURCE_URL用于指定 Grafana 连接 VictoriaLogs 的地址, 如果 VictoriaLogs 不在本机,请改成实际可访问的地址GRAFANA_VL_BASIC_AUTH_USER和GRAFANA_VL_BASIC_AUTH_PASSWORD用于 Grafana 访问 VictoriaLogs 时的 Basic Auth 认证,需要和 VictoriaLogs 的认证信息保持一致