Prometheus学习系列(三十)之可视化-Granafa

本文介绍了如何将Prometheus与Grafana集成进行服务监控的可视化。内容包括Grafana的安装,创建Prometheus数据源,构建Prometheus Graph图表,以及从Grafana.net导入预构建的dashboard。通过Grafana,可以直观地查看和分析Prometheus收集的时序数据。

Grafana支持查询Prometheus。从Grafana 2.5.0 (2015-10-28)开始Prometheus可以作为它的数据源。

以下显示了一个示例Grafana仪表板,它向Prometheus查询数据:
Deme Dashboard

一、Grafana安装

Grafana的完整安装教程,详见Grafana官方文档

二、使用方法

默认情况下,Grafana将监听http://localhost:3000。默认登录用户名和密码“admin/admin”。

2.1 创建一个Prometheus数据源

创建一个Prometheus数据源Data source:

  1. 点击Grafana的logo,打开工具栏。
  2. 在工具栏中,点击"Data Source"菜单。
  3. 点击"Add New"。
  4. 数据源Type选择“Prometheus”。
  5. 设置Prometheus服务访问地址(例如:http://localhost:9090)。
  6. 调整其他想要的设置(例如:关闭代理访问)。
  7. 点击“Add”按钮,保存这个新数据源。

下面显示了一个Prometheus数据源配置例子:

### 配置 Prometheus 监控 Elasticsearch 集群 Prometheus 是一个强大的监控系统,支持通过暴露指标的 HTTP 端点来采集数据。Elasticsearch 提供了 REST API 来获取集群、节点和索引的性能指标。为了将这些指标集成到 Prometheus 中,可以使用 `elasticsearch_exporter` 这个第三方 Exporter。 #### 1. 安装 `elasticsearch_exporter` 首先,需要下载并安装 `elasticsearch_exporter`,它负责从 Elasticsearch 收集指标,并将其转换为 Prometheus 可识别的格式。 ```bash # 下载 elasticsearch_exporter(以 Linux AMD64 为例) wget https://github.com/justwatchcom/elasticsearch_exporter/releases/download/v1.5.0/elasticsearch_exporter-1.5.0.linux-amd64.tar.gz # 解压文件 tar -xzvf elasticsearch_exporter-1.5.0.linux-amd64.tar.gz # 移动到 /usr/local/ mv elasticsearch_exporter-1.5.0.linux-amd64 /usr/local/elasticsearch_exporter ``` 接下来,配置 `elasticsearch_exporter` 作为服务运行: ```bash sudo vi /etc/systemd/system/elasticsearch_exporter.service ``` 在文件中添加以下内容: ```ini [Unit] Description=Elasticsearch Exporter After=network.target [Service] ExecStart=/usr/local/elasticsearch_exporter/elasticsearch_exporter --es.uri http://localhost:9200 Restart=always [Install] WantedBy=multi-user.target ``` 保存后重新加载 systemd 并启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable elasticsearch_exporter sudo systemctl start elasticsearch_exporter ``` 确认服务状态是否正常: ```bash sudo systemctl status elasticsearch_exporter ``` 默认情况下,`elasticsearch_exporter` 在端口 `9114` 上提供 Prometheus 指标: ```bash curl http://localhost:9114/metrics ``` #### 2. 配置 Prometheus 抓取 Elasticsearch 指标 编辑 Prometheus 的配置文件 `prometheus.yml`,添加 `elasticsearch_exporter` 的抓取任务: ```yaml scrape_configs: - job_name: 'elasticsearch' static_configs: - targets: ['<elasticsearch_exporter_host>:9114'] ``` 替换 `<elasticsearch_exporter_host>` 为你部署 `elasticsearch_exporter` 的主机 IP 或域名。 重启 Prometheus 服务以应用新配置: ```bash sudo systemctl restart prometheus ``` 确保 Prometheus Web UI(默认地址为 `http://<prometheus_host>:9090`)能够正确抓取目标。 #### 3. 配置 Grafana 8.0.6 显示监控数据 Grafana 是用于可视化时间序列数据的强大工具,支持连接 Prometheus 数据源并展示丰富的图表。 ##### 添加 Prometheus 数据源 1. 打开 Grafana Web UI,默认地址为 `http://<grafana_host>:3000`。 2. 登录后,进入 **Configuration > Data Sources**。 3. 点击 **Add data source**,选择 **Prometheus**。 4. 填写 Prometheus 的访问地址(例如:`http://<prometheus_host>:9090`)。 5. 点击 **Save & Test**,确认连接成功。 ##### 导入 Elasticsearch 监控面板 推荐使用社区提供的现成仪表盘模板,例如 [Grafana Dashboards for Elasticsearch](https://grafana.com/grafana/dashboards?search=elasticsearch)。 1. 访问 [Grafana Dashboard 库](https://grafana.com/grafana/dashboards/),搜索 Elasticsearch。 2. 选择一个合适的仪表板(例如 ID 为 `10877` 的 "Elasticsearch" 仪表板)。 3.Grafana 中点击 **Create > Import**。 4. 输入仪表板 ID 或粘贴 JSON 内容,选择 Prometheus 数据源后导入。 常见的 Elasticsearch 指标包括: - `elasticsearch_cluster_health_number_of_nodes`:显示集群中的节点数量。 - `elasticsearch_indices_indexing_index_total`:显示索引操作总数。 - `elasticsearch_jvm_memory_used_bytes_heap`:JVM 堆内存使用情况。 导入后,Grafana 将自动展示 Elasticsearch 集群的各项关键指标。 #### 4. 示例查询与自定义面板 在 Grafana 中创建自定义面板时,可以使用以下 Prometheus 查询语句: - 节点数: ```promql elasticsearch_cluster_health_number_of_nodes ``` - 主节点信息: ```promql elasticsearch_node_info_is_master ``` - JVM 内存使用率: ```promql (elasticsearch_jvm_memory_used_bytes_heap / elasticsearch_jvm_memory_max_bytes_heap) * 100 ``` - 索引操作延迟: ```promql rate(elasticsearch_indices_indexing_index_total[1m]) ``` 这些查询可以用于构建丰富的可视化图表,帮助用户实时监控 Elasticsearch 集群的状态。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值