我们的程序想要稳定的运行,或者说当出现问题时能第一时间知道,这就离不开监控,目前比较主流的就是 Prometheus(普罗米修斯)+ Grafana 的组合。
准备用三篇文章来介绍怎么使用:
1、基本介绍和安装
2、和中间件的集成
3、在 dotNET Core 中的使用
本文是第一篇:基本介绍和安装。
Prometheus 是一套开源的监控报警系统,由 SoundCloud公司开发,于 2012 年开源。已经广泛应用于 Kubernetes 和 ServiceMesh 等云原生环境中。
Prometheus 具有以下核心特征:
Prometheus 作为云原生应用监控的首选方案,其生态圈非常繁荣。它的出现极大地促进了新的监控思维模式的形成,为构建高可用自动化系统提供了重要保障。
1、安装 Prometheus 和 Grafana 。
2、安装部署中间件的 exporter ,本文只介绍 node_exporter 的安装,其他的中间件放到下一篇。
3、修改 Prometheus 的配置文件,添加 job 节点,并重启让其生效。
4、在 Grafana 中添加数据源 。
5、在 Grafana 中添加面板。
1、在 prometheus 官网下载页面下载相关的安装包,地址如下:
https://prometheus.io/download/
2、在服务器上执行下面命令进行安装:
cd /root
mkdir prometheus
cd prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.47.2/prometheus-2.47.2.linux-amd64.tar.gz
tar -zxvf prometheus-2.47.2.linux-amd64.tar.gz
cp -R prometheus-2.47.2.linux-amd64 /usr/local/prometheus
3、设置 prometheus 系统服务,执行命令创建服务文件 vi /usr/lib/systemd/system/prometheus.service
,文件内容如下:
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/prometheus
ExecStart=/usr/local/prometheus/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
4、启动服务和设置开机自动启动:
systemctl daemon-reload
systemctl enable prometheus.service
systemctl start prometheus.service
5、启动后,可以使用 systemctl status prometheus.service
命令查看状态,出现下图界面,表示启动成功:
6、在浏览器访问地址:http://10.211.55.3:9090/targets?search= ,出现下图界面,说明 prometheus 已经安装成功了。
1、在 Grafana 官网下载页面下载相关的安装包,地址如下:https://grafana.com/grafana/download
2、在服务器上执行下面命令进行包的下载和安装
cd /root
mkdir Grafana
cd Grafana
wget https://dl.grafana.com/oss/release/grafana-10.1.5-1.x86_64.rpm
yum install -y grafana-8.0.6-1.x86_64.rpm
3、启动:
systemctl enable grafana-server
systemctl start grafana-server
4、启动后,可以使用 systemctl status grafana-server
命令查看状态,出现下图界面,表示启动成功:
6、在浏览器访问地址:http://10.211.55.14:3000/,出现下图界面,说明 Grafana 已经安装成功了。
node_exporter 是用来监控服务器的 exporter ,按照下面步骤进行安装:
1、在服务器上执行下面命令进行包的下载和安装
cd /root
mkdir node_exporter
cd node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz
cp -R node_exporter-1.6.1.linux-amd64 /usr/local/node_exporter
2、设置 node_exporter 系统服务,执行命令创建服务文件 vi /usr/lib/systemd/system/node_exporter.service
,文件内容如下:
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
3、设置开机自动启动:
systemctl daemon-reload
systemctl enable node_exporter.service
systemctl start node_exporter.service
4、访问地址:http://10.211.55.14:9100 ,出现下图界面,说明安装成功:
1、修改 Prometheus 的配置文件,添加 node_exporter 的绑定,执行命令 vi vi /usr/local/prometheus/prometheus.yml
:
- job_name: 'centos-1'
static_configs:
- targets: ['10.211.55.14:9100']
2、执行命令 systemctl restart prometheus
重启 Prometheus 。
3、在 Grafana 中添加数据源,登录 Grafana 后,在 Data Sources 模块中添加数据源:
4、选择 Prometheus 作为数据源并进行配置,将 Prometheus 的地址 http://10.211.55.3:9090 ,填写在 server url 中:
5、想要在 Grafana 中进行数据的展示,需要导入 dashborards 模板,这个地址中有各类模版可供选择:https://grafana.com/grafana/dashboards/ 。在 Grafana 的 Dashboards 模块中进行导入:
6、输入编号:11074,这是可以展示服务器监控信息的 dashborard 模板:
7、Load 后,进行导入:
8、该 dashborard 模板最终展示的数据效果如下: