GPE服务器监控系统搭建

GPE服务器监控系统搭建

使用 Prometheus + Grafana + Exporter 监控服务器的运行状态

相关概念

微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。

Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说的ELK就是基于Logging。

Metrics - 用于记录可聚合的数据。例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP 请求个数可被定义为一个计数器,新请求到来时进行累。prometheus专注于Metrics领域。

Tracing - 用于记录请求范围内的信息。例如,一次远程方法调用的执行过程和耗时。它是我们排查系统性能问题的利器。最常用的有Skywalking,ping-point,zipkin。

Prometheus

Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). Prometheus使用Go语言开发, 是Google BorgMon监控系统的开源版本。

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态, 任意组件只要提供对应的HTTP接口就可以接入监控. 不需要任何SDK或者其他的集成过程。输出被监控组件信息的HTTP接口被叫做exporter,目前开发常用的组件大部分都有exporter可以直接使用, 比如Nginx、MySQL、Linux系统信息、Mongo、ES等

exporter

prometheus可以理解为一个数据库+数据抓取工具, 工具从各处抓来统一的数据, 放入prometheus这一个时间序列数据库中. 那如何保证各处的数据格式是统一的呢?就是通过这个exporter. Exporter是一类数据采集组件的总称. Exporter负责从目标处搜集数据, 并将其转化为Prometheus支持的格式, 它开放了一个http接口(以便Prometheus来抓取数据). 与传统的数据采集组件不同的是, Exporter并不向中央服务器发送数据, 而是等待中央服务器(如Prometheus等)主动前来抓取。https://github.com/prometheus 有很多写好的exporter,可以直接下载使用。

Grafana

Grafana是一个图形化工具, 它可以从很多种数据源(例如Prometheus)中读取数据信息, 使用很漂亮的图表来展示数据, 并且有很多开源的dashborad可以使用,可以快速地搭建起一个非常精美的监控平台。它与Prometheus的关系就类似于Kibana与ElasticSearch。

1.安装prometheus

1.1 下载及上传prometheus安装包

  • 下载

版本目录地址:https://prometheus.io/download/

这里下载当前最新prometheus的2.22.0版本。

  • 解压
tar -zxf prometheus-2.22.0.linux-amd64.tar.gz

1.2 修改配置文件

vi /xxx/gpe/prometheus-2.22.0.linux-amd64/prometheus.yml

在这里插入图片描述

1.3 启动及验证

nohup ./prometheus --config.file=prometheus.yml >/dev/null &
  • 验证

    可以通过http://ip:9090访问浏览器,或者http://ip:9090/metrics看是否能提供关于自身的各项指标
    在这里插入图片描述

2.安装node_exporter

2.1 下载及上传node_exporter安装包

  • 下载

版本目录地址:https://github.com/prometheus/node_exporter/releases

这里下载当前最新node_exporter的1.0.1版本。

  • 解压
tar -zxf node_exporter-1.0.1.linux-amd64.tar.gz

2.2 启动及验证

nohup ./node_exporter >/dev/null &

如果遇到端口冲突等情况,可以参考这篇博文(https://blog.csdn.net/weixin_44723434/article/details/89237202)修改启动参数

  • 验证

    可以通过http://ip:9100/metrics访问浏览器
    在这里插入图片描述

3.安装grafana

3.1 下载及上传grafana安装包

  • 下载

版本目录地址:https://grafana.com/grafana/download

这里下载当前最新grafana的7.2.2版本。

  • 解压
tar -zxf grafana-7.2.2.linux-amd64.tar.gz

3.2 启动及验证

nohup ./bin/grafana-server web >/dev/null &
  • 验证

    访问浏览器http://ip:3000, 默认的账号密码为: admin / admin,登录后会要求修改密码。
    在这里插入图片描述

4.使用grafana监控服务器状态

grafana的管理界面:
在这里插入图片描述

4.1配置prometheus数据源

添加prometheus数据源:

1.点击左边齿轮图标

2.选择 Add data source 选项

3.点击prometheus

在这里插入图片描述

添加prometheus仪表盘:

1.点击左边加号图标

2.选择 import 选项

3.在 Grafana Dashboard中填入8919,在Import via panel json中添加json数据(服务器联网状态下可以点击空白处等待,离线状态下可以手动输入json字符串)
json下载地址:https://grafana.com/grafana/dashboards/11074
在这里插入图片描述

最后可以在主页面看到相关服务器的信息:
在这里插入图片描述

5.使用grafana监控Mysql状态

5.1导入sql文件

1.下载my2.sql

https://codeload.github.com/john1337/my2Collector/zip/master

2.解压文件后将此文件夹内的sql文件放入要监控的Mysql服务器中
3.登录mysql并导入服务器中的sql文件

mysql -uroot -proot
source /xxx/xxx/my2.sql

5.2安装mysqld_exporter,并注册到Prometheus

1.下载mysqld_exporter

https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz

在服务器上解压:

tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz

2.创建my.cnf 文件

vim my.cnf
  • 创建效果如下:
# 配置数据库连接的账号和密码
[client]
user=root
password=root

3.启动mysqld_exporter

./mysqld_exporter -config.my-cnf="my.cnf" &

4.加入prometheus.yml配置
在prometheus中加入mysql的配置

- job_name: mysql
  static_configs:
    - targets: ['mysql的ip地址:9104']

重启prometheus后查看是否生效。
在这里插入图片描述

5.3添加prometheus仪表盘

先点击小齿轮添加DataSource,然后点击Mysql,输入对应的ip+端口号,以及账号密码等信息,点击Save&Test进行测试,如果反馈成功则说明配置成功.
然后选择Import ,可选择官方文档中的仪表盘,这里我使用的是官网推荐的项目,地址如下:

https://grafana.com/grafana/dashboards/7991

可获取端口号:7991和dashboards的json字符串。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值