热门标签 | 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

 

 



推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
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社区 版权所有