目录
一、分别在宿主机安装部署node-exporter+cadvisor
1、创建 Prometheus 配置文件 prometheus.yml,配置数据源
2、使用 Docker 运行 Prometheus,并挂载配置文件。
各组件解释
-
Node Exporter:
- Node Exporter 是一个用于收集服务器硬件和操作系统级别的指标的工具,它是 Prometheus 生态系统的一部分。
- 它暴露了一个 HTTP 服务,默认在端口 9100 上,提供了一系列的 metrics,包括 CPU 使用率、内存使用情况、磁盘空间、网络带宽等信息。
- Node Exporter 适用于各种 Linux、Windows、macOS 等操作系统,是监控服务器基础资源的常用工具。
-
cAdvisor:
- cadvisor(Container Advisor)是 Google 开发的一个容器监控工具,用于收集、监控、分析 Docker 容器的性能和资源使用情况。
- 它是一个运行在容器中的守护进程,可以监控宿主机和容器级别的资源使用情况,包括 CPU 使用率、内存使用情况、网络吞吐量、文件系统使用情况等。
- cadvisor通常用于帮助开发者和系统管理员理解容器的资源使用模式,诊断性能问题,以及优化容器的资源分配。
-
Prometheus:
- Prometheus 是一个开源监控系统,具有高度可扩展性和灵活性,由 SoundCloud 开发并捐赠给了 Cloud Native Computing Foundation。
- 它通过 HTTP pull 模型从配置好的目标(如 Node Exporter 和 cAdvisor)定期抓取指标数据,并存储在本地磁盘上。
- Prometheus 提供了强大的数据模型和查询语言(PromQL),支持高维数据查询和丰富的数据可视化功能。
- 它还包含一个告警manager,用于处理和发送告警通知。
-
Grafana:
- Grafana 是一个开源的数据可视化工具,它支持多种数据源,包括 Prometheus、InfluxDB、Graphite 等。
- 它允许用户创建自定义的仪表板和图表,用于展示和监控时间序列数据。
- Grafana 提供了丰富的可视化选项,如折线图、柱状图、热图等,并且支持告警和通知功能。
- 它还支持用户和团队协作,可以创建多个组织和用户,并控制对仪表板的访问权限。
Prometheus的基础架构
环境概述
宿主机直接安装node-exporter+cadvisor,然后使用docker部署prometheus,grafana,最后在grafana配置邮箱告警。
主机名 | IP地址 | 操作系统版本 |
node01 | 192.168.0.128 | ubuntu20.04.5 LTS |
node02 | 192.168.0.129 | ubuntu20.04.5 LTS |
node03 | 192.168.0.130 | ubuntu20.04.5 LTS |
一、分别在宿主机安装部署node-exporter+cadvisor
node-exporter
1、在github上下载tar包
https://github.com/prometheus/node_exporter/releaseshttps://github.com/prometheus/node_exporter/releaseshttps://github.com/google/cadvisor/releases/
https://github.com/google/cadvisor/releases
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
2、解压并重定向
tar zxf node_exporter-1.8.1.linux-amd64.tar.gz
mv node_exporter /usr/local/bin/
3、创建node_exporter用户
useradd -M -s /bin/false node_exporter
4、给node_exporter命令设置属主属组并赋权
chown node_exporter:node_exporter /usr/local/bin/node_exporter
chmod 777 /usr/local/bin/node_exporter
5、设置开机自启动
cat << EOF | sudo tee /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy&#