组件安装

安装Docker

curl -fsSL https://get.docker.com | bash -s docker

如果是国内用户可以考虑用

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装Nginx

选择nginx然后按e安装即可,如果觉得纯手搓折磨人可以用NPM

bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/DockerShell/main/start.sh)

image

安装VictoriaMetrics

VictoriaMetrics 是一个高性能、低成本的开源时间序列数据库(TSDB)和监控解决方案,专为处理大规模指标数据(如 Prometheus 监控数据)而设计。

bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/DockerShell/main/start.sh)

image

安装Loki

还在dev中.....

安装AlertManager

还在dev中....

安装Grafana

bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/DockerShell/main/start.sh)

image

查看一下是否全部成功启动

image

反向代理

域名解析

设置一下域名解析

image

反代VictoriaMetrics

因为我写的脚本里面只有Nginx暴露端口,其他所有的容器默认都是不暴露端口的,所以需要设置反向代理

nano /opt/docker/nginx/config/conf.d/victoria.conf

把下面的内容修改成你自己的然后保存即可

# 反向代理VictoriaMetrics
server {
    listen 80;
    listen [::]:80;
    server_name <你的域名,比如victoria.nodetect.com>;

    location / {
        # 将请求转发到 Docker 容器,因为脚本设置中nginx和victoriametrics同属一个内网(universal)所以可以直接写 容器名:端口
        proxy_pass http://victoriametrics:8428;

        # 设置代理请求头
        proxy_set_header Host $host;                   # 传递原始请求的 Host 头
        proxy_set_header X-Real-IP $remote_addr;       # 从 Cloudflare 获取真实 IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 传递客户端的原始 IP 地址
        proxy_set_header X-Forwarded-Proto $scheme;    # 传递原始请求的协议HTTP 或 HTTPS

        # WebSocket 支持
        proxy_http_version 1.1;                        # 使用 HTTP/1.1 协议,这是 WebSocket 升级所必需的
        proxy_set_header Upgrade $http_upgrade;        # 设置 Upgrade 头,用于将连接升级到 WebSocket
        proxy_set_header Connection "upgrade";         # 设置 Connection 头为 upgrade,表示连接需要升级
    }
}

热重载Nginx配置

docker exec nginx nginx -s reload

反代Grafana

nano /opt/docker/nginx/config/conf.d/grafana.conf

把下面的内容修改成你自己的然后保存即可

# 反向代理 Grafana
server {
    listen 80;
    listen [::]:80;
    server_name <你的域名,比如grafana.nodetect.com>;

    # 默认的 location 块
    location / {
        # 将请求转发到 Docker 容器,因为脚本设置中 Nginx 和 Grafana 同属一个内网(universal)所以可以直接写 容器名:端口
        proxy_pass http://grafana:3000;

        # 设置代理请求头
        proxy_set_header Host $host;                   # 传递原始请求的 Host 头
        proxy_set_header X-Real-IP $remote_addr;       # 从 Cloudflare 获取真实 IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 传递客户端的原始 IP 地址
        proxy_set_header X-Forwarded-Proto $scheme;    # 传递原始请求的协议HTTP 或 HTTPS

        # WebSocket 支持
        proxy_http_version 1.1;                        # 使用 HTTP/1.1 协议,这是 WebSocket 升级所必需的
        proxy_set_header Upgrade $http_upgrade;        # 设置 Upgrade 头,用于将连接升级到 WebSocket
        proxy_set_header Connection "upgrade";         # 设置 Connection 头为 upgrade,表示连接需要升级
    }
}

热重载Nginx配置

docker exec nginx nginx -s reload

安装Agent

组件使用 vmagent 上报 VictoriaMetrics 方式,不暴露端口

  • vmagent(抓取本机node和blackbox的指标并上报VictoriaMetrics)
  • node_exporter(监测主机性能相关指标)
  • blackbox(监测主机tcping以及icmping相关指标)
  • promtail(收集主机日志并上报到loki服务器)

Agent安装我选择了二进制,安装脚本比较简陋,有需要可以自行编写

安装

下方的命令需要修改!!!!!!!!!!!!!

bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/ProbeShell/main/agent.sh) --install --victoria https://victoria.nodetect.com(改成你想要的,最后的反斜杠/不要加) --loki https://loki.nodetect.com(改成你想要的,最后的反斜杠/不要加,但是loki还没用到可以先开着) --vm-user Sm1rkBoy(设置的VictoriaMetrics鉴权的用户名) --vm-pass xxxxxxx(设置的VictoriaMetrics鉴权的密码) --name NodeSeek.VPS(设置需要在面板上面显示出来的VPS名称)

image

卸载

安装错误了可以一键全部卸载,卸载效果如下

bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/ProbeShell/main/agent.sh) --uninstall --delete-logs

image

Grafana面板设置

面板基本设置

image

设置数据源

image

image

image

设置仪表板

image

image

image

image

这个面板是NodeSeek站内Bene大佬贡献的模板,这是站内贴地址感谢大佬的辛苦付出!

教程还未写完,但是目前先更新到这里吧.......