Prometheus、Grafana和Exporter是常用于系统监控和指标收集的组合。
这三个组件通常一起使用,构建一个完整而强大的监控和指标收集解决方案。通过Prometheus收集各种指标数据,使用Grafana创建仪表盘展示这些数据,并使用Exporter连接到各种应用程序或系统以获取特定指标数据。这样就能实现对系统性能、资源利用率、错误率等关键指标的监控和可视化展示。
Prometheus、Grafana和Report组件是什么?
一、prometheus
1、下载安装包
2、解压
3、移动位置并重命名
4、修改配置文件
5、配置系统启动文件
6、启动服务
7、设置开机自启
8、查看端口是否启动
9、页面访问
二、Exporter
1、下载安装包
2、解压
3、移动位置并重命名
4、配置系统启动文件
5、启动服务
6、设置开机自启
7、查看端口是否启动
8、页面访问
9、把exporter的配置加到Prometheus服务端的配置文件里
10、重启prometheus
11、访问Prometheus页面,可以看到多了个监控任务
三、Grafana可视化工具
1、下载安装包
2、解压
3、移动位置并重命名
4、配置系统启动文件
5、启动服务
6、设置开机自启
7、查看端口是否启动
8、页面访问
9、配置数据源
10、导入grafana监控模板
wget https://mirrors.tuna.tsinghua.edu.cn/github-release/prometheus/prometheus/LatestRelease/prometheus-2.49.1.linux-amd64.tar.gz
tar -zxvf prometheus-2.49.1.linux-amd64.tar.gz
注:移动位置并重命名这个可以自行修改,文件的路径与后面配置系统启动文件里的路径一致即可。
mv prometheus-2.49.1.linux-amd64 /usr/local/prometheus
cd /usr/local/prometheus/
vim prometheus.yml
进入编辑模式,
修改 :① 新增一行 scrape_timeout: 10s ②最后改成自己的ip和端口
:wq 保存退出
vim /usr/lib/systemd/system/prometheus.service (默认没有这个文件,编辑保存后会自己生成)
贴入如下内容
[Unit]
Description=Prometheus Server
Documentation=Prometheus - Monitoring system & time series database
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus
--config.file=/usr/local/prometheus/prometheus.yml
--storage.tsdb.path=/usr/local/prometheus/data/
--storage.tsdb.retention=15d
--web.enable-lifecycle
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后保存退出
systemctl start prometheus
systemctl enable prometheus
netstat -anput | grep 9090
如下正常启动
ip:端口
进入 Prometheus 的 Web UI 界面
点击页面的 Status -> Targets,如看到 Target 状态都为 UP,说明 Prometheus 能正常采集到数据
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
或者把直接下载好的包传到服务器上
tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz
注:移动位置并重命名这个可以自行修改,文件的路径与后面配置系统启动文件里的路径一致即可。
mv node_exporter-1.7.0.linux-amd64 /usr/local/prometheus_node
vim /usr/lib/systemd/system/node_exporter.service(默认没有这个文件,如果有的话可以把内容都清了贴下面的)
把下面的都贴进文件里,然后保存退出。
[Unit]
Description=node_exporter
Documentation=Prometheus - Monitoring system & time series database
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/prometheus_node/node_exporter
--collector.ntp
--collector.mountstats
--collector.systemd
--collector.tcpstat
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl restart node_exporter
systemctl enable node_exporter
netstat -anput | grep 9100
如下正常启动
ip:端口 (端口默认是9100)
点击Metrics,可以看到监控的信息
#进入prometheus的配置文件中
vim /usr/local/prometheus/prometheus.yml
#添加以下几行,到最后
- job_name: 'node_exporter'
static_configs:
- targets: ["你的ip:9100"]
保存退出。
systemctl restart prometheus
地址:Download Grafana | Grafana Labs
根据自己需要,选择版本,下载tar包或者rpm,我下载的是中间的tar包
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.3.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-10.2.3.linux-amd64.tar.gz
mv grafana-v10.2.3 /usr/local/grafana
vim /usr/lib/systemd/system/grafana.service (默认没有这个文件,编辑保存后会自己生成)
添加如下内容,保存退出
[Unit]
Description=Grafana instance
After=network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/grafana/
ExecStart=/usr/local/grafana/bin/grafana-server
Restart=always
[Install]
WantedBy=multi-user.target
systemctl restart grafana
systemctl enable grafana
netstat -anput | grep 3000 (默认端口3000)
ip:端口
默认账号密码都为:admin
登录后可以skip跳过设置新密码,也可以自行修改
我们把 Prometheus 服务器收集的数据做为一个数据源添加到 grafana,让 grafana 可以得到 Prometheus 的数据并进行可视化展示。
点击创建数据源
点击Prometheus
编辑名字、输入要监控的系统ip和端口,也就是部署的Prometheus的ip和端口
http方法选GET ,然后点击保存测试
http方法选GET ,然后点击保存测试
官方模板地址:Dashboards | Grafana Labs
进入官网,往下拉,Data Source 选择Prometheus,右侧会展示很多模板,根据自己的需求选择;
选择某个模板,点进去,复制id或者下载json文件,我图方便用的复制id
右上角添加按钮,点击import dashboard
导入下载的jason文件或者 粘贴复制的模板ID,然后load
load之后会跳到下个页面,可以修改名字,然后选择模板要应用的数据源,然后import
就可以看到硬件资源消耗情况的可视化图表了
更详细的内容可参考:【Linux】部署Prometheus + Grafana简介、监控及设置告警详细操作(多种方式安装,亲测无问题)_linux系统安装promethus grafana-CSDN博客