本文基于Redhat Enterprise Linux 9.4操作系统,介绍使用Grafana+Prometheus构建运维可观测平台的方法:
1、安装Grafana:
(1)、创建持久化存储卷
首先,创建一个Docker卷来保存Grafana的数据:
docker volume create grafana-storage
(2)、启动Grafana容器
使用以下命令启动Grafana容器,并将持久化存储卷挂载到容器中:
docker run -d \
--name=grafana \
-p 3000:3000 \
-v grafana-storage:/var/lib/grafana \
grafana/grafana
(3)、配置Grafana
Grafana的默认配置文件位于容器的 /etc/grafana/grafana.ini
路径下。为了方便修改配置文件,可以将其挂载到宿主机:
docker run -d \
--name=grafana \
-p 3000:3000 \
-v grafana-storage:/var/lib/grafana \
-v /path/to/your/grafana.ini:/etc/grafana/grafana.ini \
grafana/grafana
请将 /path/to/your/grafana.ini
替换为你宿主机上实际的配置文件路径。
(4)、访问Grafana
启动容器后,可以通过浏览器访问Grafana的默认端口(http://localhost:3000)。默认的登录用户名和密码是 admin/admin
。你可以使用NGINX将Grafana反代到80/443的端口。
2、安装Prometheus,并配置为系统服务:
创建数据存储目录:
mkdir /data/prometheus_data && chmod 777 /data/prometheus_data
下载Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.41.0/prometheus-2.41.0.linux-amd64.tar.gz
解压文件
tar -zxvf prometheus-2.41.0.linux-amd64.tar.gz
进入解压后的目录
cd /path/to/prometheus-2.41.0.linux-amd64
编辑Prometheus的配置文件 prometheus.yml
,添加Node Exporter的目标:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['localhost:9100']
将Prometheus配置为系统服务:
vim /etc/systemd/system/prometheus.service
在文件中添加以下内容:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=nobody
ExecStart=/path/to/prometheus --config.file=/path/to/prometheus.yml --storage.tsdb.path=/data/prometheus_data
Restart=always
[Install]
WantedBy=multi-user.target
请确保将 /path/to/prometheus
和 /path/to/prometheus.yml
替换为Prometheus可执行文件和配置文件的实际路径。
3、安装Node Exporter,并配置为系统服务:
Node Exporter是Prometheus生态系统中的一个关键组件,用于收集和导出Linux系统的硬件和操作系统指标。
# 下载Node Exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
# 解压文件
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz
# 进入解压后的目录
cd node_exporter-1.8.2.linux-amd64
将Node Exporter配置成为系统服务:
vim /etc/systemd/system/node_exporter.service
在文件中添加以下内容:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=nobody
ExecStart=/path/to/node_exporter --web.listen-address=":9100"
Restart=always
[Install]
WantedBy=multi-user.target
请确保将 /path/to/node_exporter
替换为Node Exporter可执行文件的实际路径。
(3) 重新加载配置文件,启动服务并设置为开机自动启动:
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus.service
sudo systemctl enable --now node_exporter.service
4、配置Grafana添加Prometheus作为数据源到Grafana:
找到如图所示的地方,添加一个Data Sources 选择Prometheus后在Connection处添加:http://yourserverip:port
5、创建仪表盘(Dashboard):
点击Import Dashboard,你可以在这里找到很多Grafana Dashboard的模板:Grafana dashboards | Grafana Labs 选择合适的导入即可。
在图中光标所示选择你的数据源即可。