首言
本文编辑于 2023-09-14
作者:muyiacc
Github:github.com/muyiacc
环境:debian11
为了通过网址远程查看服务器及容器的运行状况,选择了时下最热门的监控方案:Prometheus+node_exporter+Grafana。
现记录下自己的安装过程。
1. Prometheus
官网地址 https://prometheus.io/docs/introduction/overview/
1.1. 概述
Prometheus 是一个开源的系统监控和警报工具包,由SoundCloud 构建,由Golang编写,现有非常活跃的开发人员和社区,是一个独立的开源项目,于2016年加入了云原生计算基金会,成为继Kubernetes之后的第二个托管项目。总结:非常热门+ NB。
1.2. 安装
话不多说,开始使用安装之旅。
1)官网下载页面
核心组件 prometheus的最新版下载地址为:
上面的地址为github,众所周知,因为某些原因,你下载可能会出现网络问题,这里不做解决。
如果你的系统可直连github,可以通过如下命令直接下载。
|
|
提示 wget 没安装?
debian: sudo apt install wget
centos: sudo yum install wget
2)解压安装
下载完成之后,解压安装
解压放到自己熟悉的路径即可。
|
|
修改名字
|
|
在解压的目录下,找到 prometheus.yml 文件,这是prometheus的配置文件
本文只为快速搭建使用,对于配置的含义不做详细解释。
默认的文件也不需要修改,需要注意的地方是
|
|
默认的端口是9090,如果你的端口被占用了,只需要修改上述的端口即可。
1.3. 启动
因为使用go语言编写,编译后的文件 只需要执行解压后的文件 prometheus
进入解压的目录
1)前台启动
|
|
2)后台启动
|
|
上述的命令的含义为:后台启动,错误的日志重定向到标准输出,也就是将所有的日志追加到prometheus.log 中,prometheus.log会自动生成
通过浏览器 ip:端口 就可以访问。
如果是服务器,需要开放安全组,这里不做介绍。
关于对 Prometheus 的简单介绍就先到这里。
2. node_exporter
2.1. 概述
在 Prometheus 的架构设计中,Prometheus Server 主要负责数据的收集,存储并且对外提供数据查询支持。
实际的监控样本数据的收集则是由 Exporter 完成,因此为了能够监控到某些东西,如主机的 CPU 使用率,我们需要使用到 Exporter。
Prometheus 周期性的从 Exporter 暴露的 HTTP 服务地址(通常是/metrics)拉取监控样本数据。
为了能够采集到主机的运行指标如 CPU, 内存,磁盘等信息。我们可以使用 Node Exporter。Node Exporter 同样采用 Golang 编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。
下载地址: https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
2.2. 安装
|
|
2.3. 启动
直接执行 node_exporter文件即可
|
|
通过控制台打印的信息可以知道,端口为 9100
浏览器访问 ip:9100即可访问
设置开机自启,编写systemd 服务脚本
关于如何编写,可以观看这篇文章
服务脚本文件以 .service 结尾,由 Unit、Service 和 Install 三个区块组成,这里提供一个示例
|
|
创建 service 文件
|
|
开启自启
|
|
3. Grafana
3.1 概述
Grafana 是一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现
是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。
官网:https://grafana.com/zh-cn/grafana/
3.2 安装
个人使用,选择 Standalone Linux Binaries 版本
|
|
3.3 启动
进入解压的目录之后
|
|
3.4 集成Prometheus
启动Grafana之后,浏览器访问 ip:3000,进入登录界面,默认用户和密码都为admin
输出密码之后,会提示修改密码,修改即可。
完成之后,进入主界面 ,大概如下:
![image-20230914174457412](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 17-45-17_image-20230914174457412.png)
3.4.1 配置数据源
按住Ctrl+K,搜索 data sources,选中data sources 配置数据源,进入如下界面
![image-20230914174701933](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 17-47-04_image-20230914174701933.png)
选择 add new data source ,选择Prometheus,进入配置
![image-20230914174847825](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 17-48-49_image-20230914174847825.png)
这里只需要配置一下 Prometheus server URL,默认没改端口的填入 http://localhost:9090,不要选择https,滑到最底下,选择save & test按钮,如果显示Successfully queried the Prometheus API,表示对接成功。
3.4.2 创建仪表盘 Dashboard
Ctrl + K,搜索 Dashboards,进入Dashboards,选择new dashborad,后续自行探索吧。
![image-20230914175424008](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 17-54-27_image-20230914175424008.png)
3.4.3 导入仪表盘 Dashboard
Ctrl + K,搜索 Dashboards,进入Dashboards,选择Import
![image-20230914175910755](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 17-59-12_image-20230914175910755.png)
填入 ID ,Load 即可
对于如何寻找已经创建好的仪表盘,可在官网寻找 https://grafana.com/grafana/dashboards/
![image-20230914180001302](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 18-00-03_image-20230914180001302.png)
这里推荐一个 https://grafana.com/grafana/dashboards/12633-linux/
填入的id为12633,load后进入如下界面,选择之前连接的Prometheus,最后 Import就大功告成了。
![image-20230914180651577](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 18-06-53_image-20230914180651577.png)
最后的展示
![image-20230914180755078](https://gitee.com/muyiacc/typora-img/raw/master/2023/2023-09-14 18-07-57_image-20230914180755078.png)