目录
阅读时间: 4 分钟
嗨,读者在这篇博客中会看到如何使用Prometheus和Grafana监控Linux机器。我将创建一个ec2实例,并使用Prometheus和Grafana监控该实例。
普罗米修斯
Prometheus是收集多个节点的指标的中心组件。它使用刮削的概念,即定期联系目标系统的指标端点来获取数据。
节点导出器
因此,为了监控一台Linux机器,我们需要一个Node Exporter,用来提取Linux系统的指标,如CPU负载和磁盘I/O。Node Exporter将把这些作为Prometheus风格的指标公开。
因此,首先我要在AWS上启动两个ec2实例。在一个ec2实例上我们将安装Prometheus和Grafana,在另一个ec2实例上我们将安装node exporter。
请确保在安装Prometheus服务器的地方添加这些端口。
在安装节点导出器的Linux服务器上添加以下端口。
安装NodeExporter
所以首先在我们要监控的机器上安装节点导出器。安装时使用下面的命令来安装运行。
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
sudo tar xf node_exporter-1.3.1.linux-amd64.tar.gz
./node_exporter
确保端口9100 是开放的,从你的IP访问这个URL。你应该能够访问来自这个服务器的所有指标。
安装Prometheus和Grafana
SSH进入ec2并在你的实例中运行以下prometheus.sh 脚本文件,它将在你的ec2上下载并启动Prometheus。
sudo wget
https://github.com/prometheus/prometheus/releases/download/v2.36.0-rc0/prometheus-2.36.0-rc0.linux-amd64.tar.gz
sudo tar xf prometheus-2.36.0-rc0.linux-amd64.tar.gz
cd prometheus-2.36.0-rc0.linux-amd64/
sudo ./prometheus
在运行Prometheus服务器之前,首先让我们对prometheus.yml 文件做一些修改。在static_configs下:指定目标,即你的监控实例的私有IP。
复制公共IP,并点击进入浏览器,然后进入状态->目标,你会看到你在prometheus.yml 文件中指定的IP的端点。
另外,你可以参考Prometheus的官方文件来安装它。
安装Grafana
Grafana是一个开源的工具,用于提供指标的可视化。Grafana是一个完整的可观察性堆栈,允许你监控和分析指标、日志和跟踪。它允许你查询、可视化、报警,并了解你的数据,无论数据在哪里。要安装Grafana,请使用给定的命令。
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
另外,你可以参考Grafana的官方文件来安装它。
拿着public_IP:3000 ,在浏览器中点击进入Grafana用户界面。使用最初的用户名和密码登录到Grafana。添加Prometheus DataSource.点击Setting ->datasources。
这里我使用private_IP给出了URL,因为Prometheus和Grafana安装在同一个Instance上,所以它们可以很容易地使用private_IP进行通信。
保存数据源,现在是时候创建一个仪表盘了。
导入Linux机器的仪表板
点击+图标->导入
你可以使用JSON文件或仪表盘的ID,在这里我将使用10204的ID作为Node Exporter仪表盘。点击加载,然后选择你之前创建的数据源并点击导入。
这就是仪表板的样子,并提供你的节点的所有指标。
结语
谢谢你坚持到最后。我们已经成功地学会了如何使用Prometheus监控AWS EC2实例,并使用Grafana可视化仪表盘。如果你有任何建议或改进,请让我知道。
参考资料。
