热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Prometheus2.5+Grafana5.3使用官方模板监控

系统环境:Centos7.2+ Prometheus2.5+Grafana5.3 Grafana安装参考:Grafana安装Prometheus+Grafana 安装参考:Grap

系统环境:Centos 7.2 + Prometheus 2.5 + Grafana 5.3 

Grafana 安装参考:Grafana 安装

Prometheus + Grafana 安装参考:Graphing MySQL performance with Prometheus and Grafana(版本较旧)

 


【prometheus 安装配置】


#下载解压:
wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz
mkdir /opt/prometheus
tar -zxf prometheus-2.5.0.linux-amd64.tar.gz -C /opt/prometheus --strip-compOnents=1
chown -R root:root /opt/prometheus
#启动
cd /opt/prometheus
./prometheus

打开站点访问: http://10.10.10.10:9090 ,出现界面说明已正常,安装完成!

可能遇到的问题:


启动问题:
level=error ts=2018-11-19T06:01:05.697957445Z caller=main.go:625
err="opening storage failed: lock DB directory: resource temporarily unavailable
解决:删除 lock 文件
rm -f /opt/prometheus/data/lock
启动问题:
level=error ts=2018-11-19T06:04:47.83421089Z caller=main.go:625
err="error starting web server: listen tcp 0.0.0.0:9090: bind: address already in use"
解决:查找使用9090端口的PID并删掉
lsof -i :9090
kill -9


 


【客户端组件 node_exporter 和 mysqld_exporter 安装配置】


# 下载 node_exporter 和 mysqld_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0-rc.0/node_exporter-0.17.0-rc.0.linux-amd64.tar.gz
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
mkdir -p /opt/prometheus/exporters
tar zxf node_exporter-0.17.0-rc.0.linux-amd64.tar.gz -C /opt/prometheus/exporters
tar zxf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /opt/prometheus/exporters
mv /opt/prometheus/exporters/mysqld_exporter-0.11.0.linux-amd64 /opt/prometheus/exporters/mysqld_exporter
mv /opt/prometheus/exporters/node_exporter-0.17.0-rc.0.linux-amd64 /opt/prometheus/exporters/node_exporter
# 在 MySQL 中创建访问账号
GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'prom'@'localhost' identified by '123456';
GRANT SELECT ON performance_schema.* TO 'prom'@'localhost';

# 对MySQL的监控,客户端 MySQL 服务器创建账户文件
vim /opt/prometheus/exporters/.my.cnf
[client]
user=prom
password=123456
host=localhost
port=3306
socket=/tmp/mysql.sock
# 启动数据抓取
chown -R root:root /opt/prometheus
cd /opt/prometheus/
nohup ./exporters/node_exporter/node_exporter &
nohup ./exporters/mysqld_exporter/mysqld_exporter --config.my-cnf="/opt/prometheus/exporters/.my.cnf" &

prometheus 服务器端:编辑配置文件,新增 linux(9100) 和 mysql(9104)  (注意:官网上为2.x版本,不准确)


# prometheus 服务器端:编辑配置文件,新增 linux(9100) 和 mysql(9104) (注意:官网上为2.x版本,不准确)
vim /opt/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['10.10.10.10:9090']
- job_name: linux_10
static_configs:
- targets: ['10.10.10.10:9100','10.10.10.10:9104']
labels:
instance: server10
- job_name: linux_8
static_configs:
- targets: ['10.10.10.8:9100','10.10.10.8:9104']
labels:
instance: kk
# 启动 prometheus 服务
cd /opt/prometheus
nohup ./prometheus &

我在两台服务器都启动了 node_exporter 和 mysqld_exporter ,所以此时查看 Prometheus :

次数可以查看到 Prometheus 获取到的客户端数据:

 


【Grafana 安装配置】

Grafana 安装参考:Grafana 安装

编辑仪表盘文件位置,取消以下注释:


# 编辑仪表盘文件位置,取消以下注释
vim /etc/grafana/provisioning/dashboards/sample.yaml
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
options:
path: /var/lib/grafana/dashboards

# 注意:官网这个是老方法,已经不用了,下面这里不需要添加 [dashboards.json],用上面的方法。
# 参考:https://community.grafana.com/t/dashboard-provisioning/5667
# vim /etc/grafana/grafana.ini
# [dashboards.json]
# enabled = true
# path = /var/lib/grafana/dashboards

 


【PPM 安装配置】


# 下载并拷贝到仪表盘模板到相应路径中
git clone https://github.com/percona/grafana-dashboards.git
cp -r grafana-dashboards/dashboards /var/lib/grafana
# rm -fr grafana-dashboards (下载的文件其实也可以删除了)
cp /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.js
cp /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.ts /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.js
# 重启 grafana 服务
service grafana-server restart

登录访问 grafana ,安装 Prometheus 数据源插件,添加数据库源。

系统新增的模板报表:

 

但是发现,还是有很多图像是没有数据的,因为模板比较旧,监控的变量名称与新的不匹配。以模板 System_Overview.json 为例,“system uptime ”是没有数据的,编辑图像可以看到变量名称不对。

 需要把名称 node_time 改为 node_time_secondsnode_boot_time 改为 node_boot_time_seconds ,如下:



(node_time{instance="$host"} - node_boot_time{instance="$host"}) or (time() - node_boot_time{instance="$host"})
改为:
(node_time_seconds{instance="$host"} - node_boot_time_seconds{instance="$host"}) or (time() - node_boot_time_seconds{instance="$host"})

为什么知道这么改呢?可以查看 Prometheus 图像,会提示相关名称,确认这些名称都能在这里能找到。

 

改为之后,grafana 的仪表盘却不允许修改,那只能到系统中更改啦。在模板目录 /var/lib/grafana/dashboards/ 找到文件,编辑替换掉相应的名称。完成!!


vim /var/lib/grafana/dashboards/System_Overview.json

 

 



推荐阅读
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • Docker入门与实践指南
    本文介绍了Docker的基础知识,包括其作为开源应用容器引擎的特点,以及如何利用Docker将应用程序及其依赖项打包成轻量级的容器镜像。同时,还详细讲解了Docker的核心概念、安装过程及基本命令操作。 ... [详细]
  • k8s(十一)helm安装premetheus
    1prometheus基础知识1.1prometheus简介Prometheus是一套开源的系统监控报警框架。和Kubernetes类似,它也发源于Google的Borg体系,其原 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何在Python环境中配置与Oracle数据库的连接,包括必要的软件安装和环境变量设置等步骤,旨在为初学者提供清晰的操作指南。 ... [详细]
  • 在CentOS 7上轻松安装Elasticsearch的JDBC插件
    本文介绍如何在CentOS 7操作系统中安装Elasticsearch (简称ES) 的JDBC插件,以实现与MySQL数据库的有效连接,特别强调了该方法对于增量数据同步的支持。 ... [详细]
  • 本文档详细介绍了在 CentOS Linux 7.9 系统环境下,如何从源代码编译安装 libwebsockets 库及其示例程序,并提供了编译过程中可能遇到的问题及解决方案。 ... [详细]
  • 本文详细介绍了在Ubuntu 7.10操作系统上安装多种常用软件的方法,包括RAR压缩工具、即时通讯软件Pidgin、办公软件永中Office 2007试用版、多线程下载软件MultiGet及d4x、FTP客户端gFTP与FireFTP插件,以及P2P下载工具aMule。每部分都提供了具体的安装步骤和配置方法。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • Docker下Prometheus和Grafana三部曲之一:极速体验
    开源监控工具Prometheus目前广为使用,配合Grafana即可直观展现监控数据,但对于初学者来说搭建这样一个系统要花费些时间,或者有 ... [详细]
  • cJinja:C++编写的轻量级HTML模板引擎
    本文介绍了cJinja,这是一个用C++编写的轻量级HTML模板解析库。它利用ejson来处理模板中的数据替换(即上下文),其语法与Django Jinja非常相似,功能强大且易于学习。 ... [详细]
  • Linux环境下MySQL查询结果导出及ERROR 1290 (HY000) 解决方案
    本文详细解析了在Linux系统中使用MySQL导出查询结果时遇到的ERROR 1290 (HY000)错误,并提供了有效的解决策略。通过调整配置文件或更改导出路径,可以轻松解决这一常见问题。 ... [详细]
  • 解决腾讯社区开放平台.NET SDK在Linux下的兼容性问题
    本文探讨了腾讯社区开放平台.NET SDK在Linux系统(如CentOS)中遇到的QzoneException异常,并提供了通过安装根证书等方法解决该问题的具体步骤。 ... [详细]
  • Linux下安装grafana并且添加influxdb监控的方法
    这篇文章主要介绍了Linux下安装grafana并且添加influxdb监控的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值, ... [详细]
author-avatar
我女神不能F哭不能输丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有