青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
夜月琉璃Lv46   
部署服务实现显示vlmcsd KMS服务数据可视化     
一.首先我们需要先准备好一台已经安装好Ubuntu的机器


二.部署KMS服务

# 1. 安装依赖
sudo apt update
sudo apt install -y git build-essential curl wget

# 2. 克隆源码并编译
sudo mkdir -p /opt
cd /opt
sudo git clone --depth=1 https://github.com/Wind4/vlmcsd.git
cd vlmcsd
sudo make -j"$(nproc)"

# 3. 安装到系统目录
sudo install -m 755 bin/vlmcsd /usr/local/bin/
sudo install -m 755 bin/vlmcs /usr/local/bin/

# 4. 创建日志文件(关键:用于 Promtail 采集)
sudo touch /var/log/vlmcsd.log
sudo chown nobody:nogroup /var/log/vlmcsd.log

# 5. 创建 systemd 服务
sudo tee /etc/systemd/system/vlmcsd.service <<'EOF'
[Unit]
Description=KMS Emulator (vlmcsd)
After=network.target

[Service]
Type=simple
User=nobody
Group=nogroup
ExecStart=/usr/local/bin/vlmcsd -D -l /var/log/vlmcsd.log
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 6. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable --now vlmcsd

# 7. 开放防火墙端口
sudo ufw allow 1688/tcp
sudo ufw reload

# 8. 验证服务
sudo systemctl status vlmcsd
sudo ss -lntp | grep 1688
tail -f /var/log/vlmcsd.log

这时候,我们在Ubuntu终端中,执行vlmcs,可以看到:Connecting to 127.0.0.1:1688 ... successful 即表明这步成功了


三.部署Loki+Promtail+Grafana


首先安装 Loki(日志存储)

# 下载 Loki(以 v2.9.0 为例,可访问 https://github.com/grafana/loki/releases 获取最新版后通过SFTP等方式存入)
cd /tmp
wget https://github.com/grafana/loki/releases/download/v2.9.0/loki-linux-amd64.zip
unzip loki-linux-amd64.zip
sudo mv loki-linux-amd64 /usr/local/bin/loki

# 创建配置目录
sudo mkdir -p /etc/loki /data/loki/{chunks,index}

# 创建 Loki 配置文件
sudo tee /etc/loki/config.yaml <<'EOF'
auth_enabled: false

server:
  http_listen_port: 3100

common:
  path_prefix: /data/loki
  storage:
    filesystem:
      chunks_directory: /data/loki/chunks
      rules_directory: /data/loki/rules
  replication_factor: 1
  ring:
    kvstore:
      store: inmemory

schema_config:
  configs:
    - from: 2024-01-01
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h
EOF

# 创建 systemd 服务
sudo tee /etc/systemd/system/loki.service <<'EOF'
[Unit]
Description=Loki Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/loki -config.file=/etc/loki/config.yaml
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 启动 Loki
sudo systemctl daemon-reload
sudo systemctl enable --now loki
sudo systemctl status loki

安装 Promtail(日志采集)

# 下载 Promtail
cd /tmp
wget https://github.com/grafana/loki/releases/download/v2.9.0/promtail-linux-amd64.zip  (这里相同,可以直接通过访问下载后拷贝入)
unzip promtail-linux-amd64.zip
sudo mv promtail-linux-amd64 /usr/local/bin/promtail

# 创建 Promtail 配置目录
sudo mkdir -p /etc/promtail

# 创建 Promtail 配置文件
sudo tee /etc/promtail/config.yaml <<'EOF'
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://localhost:3100/loki/api/v1/push

scrape_configs:
  - job_name: vlmcsd
    static_configs:
    - targets:
        - localhost
      labels:
        job: vlmcsd
        host: ${HOSTNAME}        # 关键:以主机名作为标签,用于按主机名统计
        __path__: /var/log/vlmcsd.log
EOF

# 创建 systemd 服务
sudo tee /etc/systemd/system/promtail.service <<'EOF'
[Unit]
Description=Promtail Service
After=network.target

[Service]
Type=simple
User=root
Environment="HOSTNAME=%H"        # 注入主机名变量
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/config.yaml
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 启动 Promtail
sudo systemctl daemon-reload
sudo systemctl enable --now promtail
sudo systemctl status promtail

安装 Grafana(可视化)

# 添加 Grafana 官方源
sudo apt-get install -y software-properties-common wget
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

# 安装 Grafana
sudo apt-get update
sudo apt-get install -y grafana

# 启动 Grafana
sudo systemctl enable --now grafana-server
sudo systemctl status grafana-server

# 开放防火墙端口(Grafana Web 界面)
sudo ufw allow 3000/tcp

这里如果官方的Grafana下载 过于慢,可以先执行 以下脚本,将源更换为国内链接即可

//备份原配置
sudo cp /etc/apt/sources.list.d/grafana.list /etc/apt/sources.list.d/grafana.list.bak

//修改源地址
sudo tee /etc/apt/sources.list.d/grafana.list << 'EOF'
deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://mirrors.tuna.tsinghua.edu.cn/grafana/apt stable main
EOF

//更新软件源并安装
# 1. 创建存储密钥的目录
sudo mkdir -p /etc/apt/keyrings

# 2. 下载并转换Grafana官方GPG密钥
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

# 3. 重新配置清华源,并显式指定使用新导入的密钥
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://mirrors.tuna.tsinghua.edu.cn/grafana/apt stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

# 4. 更新软件包列表
sudo apt update
sudo apt install grafana

四.配置

到这里基本安装已经完成 ,剩下我们就是配置

  1. 浏览器访问 http://你的服务器IP:3000(默认用户名/密码:admin/admin)

  2. 左侧菜单 Configuration → Data Sources → Add data source

  3. 选择 Loki

  4. URL 填写:http://localhost:3100

  5. 点击 Save & Test,确认连接成功

2.3.2 创建统计面板(核心:按主机名统计激活数)

进入 Explore 测试查询
在 Explore 页面输入以下 LogQL 查询,测试能否正确获取日志:

logql

{job="vlmcsd"}

如果看到日志行,说明采集成功。

创建 Dashboard 面板

  1. 左侧菜单 Create → Dashboard → Add visualization

  2. 数据源选择 Loki

  3. 使用以下查询按主机名统计唯一激活客户端数

logql

# 统计每个主机的总激活请求次数(按主机名聚合)
sum by (host) (count_over_time({job="vlmcsd"}[$__range]))

  1. 使用以下查询按主机名统计每日激活趋势

logql

# 按主机名和每日时间聚合
sum by (host) (count_over_time({job="vlmcsd"}[1d]))

  1. 使用以下查询统计全局唯一激活客户端数(按主机名去重)

logql

# 提取所有 host 标签,统计唯一值数量
count(count by (host) ({job="vlmcsd"}))

  1. 在面板设置中,可以:

    • 选择图表类型(如时间序列图、表格、统计数字等)

    • 设置时间范围(最近 24 小时/7 天/30 天)

    • 添加面板标题和描述


✅ 2.4 验证整个流程

  1. 模拟激活请求:从其他机器执行 vlmcs 你的服务器IP,或等待真实客户端连接

  2. 检查日志

    bash

    tail -f /var/log/vlmcsd.log

  3. 查看 Promtail 状态

    bash

    sudo journalctl -u promtail -f

  4. 在 Grafana 中查看统计面板:应该能看到按主机名聚合的激活统计图表


 0  已被阅读了4次  楼主 2026-02-25 15:31:49
回复列表

回复:部署服务实现显示vlmcsd KMS服务数据可视化

IP地址位置数据由纯真CZ88提供支持

桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 10.1.11.229 , 2026-02-25 20:01:12 , Processed in 0.9506 second(s).
Powered by HadSky 8.5.2
知道创宇云安全