共计 2823 个字符,预计需要花费 8 分钟才能阅读完成。
作者:略懂的大龙猫
对于装机党而言,应该很难拒绝一个服务器的实时性能看板(看板还能集合显示多个云服务器 + 本地服务器)。没错,这篇文章要介绍 Promethues+Grafana 了。先看一下效果:
整个操作过程很简单,不过需要一点 docker、ssh、vim 的操作基础。在上主菜前先介绍一个更轻量级的主机性能看板 glance,基于 docker 安装 glance:
拉取 glances 镜像 docker pull nicolargo/glances:latest-full 运行 glancesdocker run -d –restart=”always” -p 61208-61209:61208-61209 -e GLANCES_OPT=”-w” -v /var/run/docker.sock:/var/run/docker.sock:ro –pid host nicolargo/glances:latest-full
然后在浏览器输入:http:// 本机 IP:61208 即可访问 glance,效果接近 Liunx 的 htop 命令。类似 glance 的应用还有 netdata,但是它们都还不够强大,Promethues 则是一个更强大的存在:
基于 docker 安装 Promethues
我一般把 dockers 设置文件都放在一个文件夹 /home/setsudo mkdir -p /home/set/prometheuscd /home/set/prometheussudo vim prometheus.ymlsudo docker run -d –name prometheus–restart=always-p 9090:9090-v /home/set/prometheus/config:/etc/prometheusprom/prometheus
prometheus 的配置文件可以参考我下面的内容。在我的设置里添加了两个检测工具:一个是 node-exporter,另一个是我之前介绍过的 DNS 工具 blocky,如果不需要可以删除 job_name: DNS 及后面那一段(localhost 替换成本机 IP):
global:scrape_interval: 1mevaluation_interval: 1mscrape_timeout: 10sscrape_configs:- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: node-exportermetrics_path: /metricsstatic_configs:- targets: [localhost:9100]- job_name: DNSmetrics_path: /metricsstatic_configs:- targets: [localhost:4000]
安装 node-exporter
node-exporter 负责检测 node 主机的数据生成 metrics,以供 prometheus 采集。
sudo docker run -d–net=”host”–pid=”host”-v “/:/host:ro,rslave”quay.io/prometheus/node-exporter:latest–path.rootfs=/host
安装完毕后可以访问:http:// 本机 IP:9100/metrics 查看,有数据输出说明 node-exporter 正常工作。
然后进入:http:// 本机 IP:9090,进入 Prometheus 的管理页面。选择 target 查看数据采集是否正常。
Prometheus 无论是数据采集还是异常报警都够用了。但是我们如果需要一个炫酷的数据看板,需要用到另外一个知名的数据可视化应用 grafana:
基于 docker 安装 grafana
sudo mkdir -p /home/set/grafanasudo chmod 777 -R /home/set/grafana 需要授予权限,不然启动异常 sudo docker run -d-p 3001:3000–name=grafana-v /home/set/grafana:/var/lib/grafanagrafana/grafana
打开 http:// 本机 IP:3001 进入 grafana 管理页。首次登录账户密码是 admin/admin,初次登陆提示修改密码。我建议后续把用户名也换掉。
然后进入设置 date sources 添加数据源,数据源的类型当然是选择 Prometheus。
最重要的就是填写 Prometheus 的采集地址,也就是:http://IP:9090
grafana 可以自己设计看板,也可以直接调用看板。自己搭建太费时间,我先推荐一个 node-exporter 的看板模板,在 import 面板中输入 8919 后点击 load,然后选择已添加的数据源。接下来看板应该就能正常显示了。
Prometheus 有非常多的玩法,之前介绍过的 blocky 也能被采集:
基于 docker 安装 blocky
建立配置文件夹 sudo mkdir -p /home/set/blockycd /home/set/blockysudo vim config.yml 创建 dockersudo docker run –name blocky -v /home/set/blocky/config.yml:/app/config.yml -p 4000:4000 -p 53:53/udp spx01/blocky
配置文件内容如下:
upstream:default:- 8.8.8.8- 223.5.5.5- 114.114.114.114- 119.29.29.29- 9.9.9.9- 119.29.29.29- 1.2.4.8upstreamTimeout: 5sport: 53httpPort: 4000logLevel: infologFormat: jsoncaching:minTime: 5mmaxTime: 30mprefetching: trueprometheus:enable: truepath: /metricsqueryLog:dir: /logsperClient: truelogRetentionDays: 7
查看 http:// 本机 IP:4000/metrics,应该会有数据输出。然后按照我上面介绍的方法添加到 grafana,这样你的 DNS 服务情况也能在看板里实时掌握了。
关于买什么云服务器我还是那几句话:
1. 按需选择。云服务器没那么强大,但是对于没有公网 IP 的朋友确实可以搭建一些方便的服务。
2. 对于互联网专业的学生而言,云服务器也是一个搭建学习环境的好工具。
3. 对于个人新用户和学生能有比较好的优惠,直接买不划算。
腾讯云活动地址
阿里云活动地址
4. 云服务器不能代替个人的本地服务器。
这段时间写云服务器的内容比较多,接下来会着重分享在本地服务器上搭建 homeassistant 家庭智能服务器的内容