Docker安装企业级探针Grafana
组件安装
安装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)
安装VictoriaMetrics
VictoriaMetrics 是一个高性能、低成本的开源时间序列数据库(TSDB)和监控解决方案,专为处理大规模指标数据(如 Prometheus 监控数据)而设计。
bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/DockerShell/main/start.sh)
安装Loki
还在dev中.....
安装AlertManager
还在dev中....
安装Grafana
bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/DockerShell/main/start.sh)
查看一下是否全部成功启动
反向代理
域名解析
设置一下域名解析
反代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名称)
卸载
安装错误了可以一键全部卸载,卸载效果如下
bash <(curl -sSL https://raw.githubusercontent.com/Sm1rkBoy/ProbeShell/main/agent.sh) --uninstall --delete-logs
Grafana面板设置
面板基本设置
设置数据源
设置仪表板
教程还未写完,但是目前先更新到这里吧.......
其他文章