个人随笔
目录
prometheus、exporter和grafana的简单使用
2024-11-12 22:41:03

一、基本介绍

1、prometheus

Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。

2、Grafana

Grafana 是一款开源的数据可视化工具,可以从多种数据源获取数据,并在美观、灵活的数据面板中创建、探索和共享所有数据。

3、exporter

被监控的服务器数据采集程序,通过该程序可以将相关数据发送到prometheus

4、基本逻辑

被监控的服务器,通过exporter将数据发定时收集好到prometheus,然后通过Grafana进行可视化呈现和预警。

二、环境搭建

1、准备3台服务器

这里虚拟机的搭建可以参考我如下几篇笔记

安装VMware15
CentOS7镜像官网下载
VMWare安装CentOS7超全图解
最小系统Centos7进行网络配置以及 ifconfig和vim的安装
VMWare 克隆Linux虚拟机

  1. root forever
  2. ###用来安装prometheus服务
  3. 1192.168.192.20 prometheus-server20
  4. ###用来安装被监控的应用,这里安装mysql
  5. 2192.168.192.19 prometheus-agent19
  6. ###用来安装grafana
  7. 3192.168.192.22 prometheus-grafana22

记得测试的话关闭防火墙,不然本地浏览器访问不了

  1. systemctl stop firewalld

2、prometheus服务的安装

去官网下载
https://prometheus.io/download/

  1. [root@localhost ~]# arch
  2. x86_64

不要求很严格的情况下:
amd64=x86_64=x64!=IA64

  1. cd /usr/local/
  2. tar xvfz prometheus-3.0.0-beta.1.linux-amd64.tar.gz
  3. cd prometheus-3.0.0-beta.1.linux-amd64
  4. nohup ./prometheus --config.file=prometheus.yml &

http://192.168.192.20:9090/

这里需要做服务器之间的时钟同步

3、安装node_exporter

使用prometheus监控远程linux主机
1、安装node组件
在远程linux主机上安装node_exporter组件,这样promuthues就可以接收数据了。

https://prometheus.io/download/

  1. tar zxvf node_exporter-1.8.2.linux-amd64.tar.gz
  2. cd node_exporter-1.8.2.linux-amd64
  3. nohup ./node_exporter &
  4. cat nohup.out
  5. ts=2024-11-05T14:36:18.462Z caller=tls_config.go:313 level=info msg="Listening on" address=[::]:9100
  6. ts=2024-11-05T14:36:18.462Z caller=tls_config.go:316 level=info msg="TLS is disabled." http2=false address=[::]:9100

http://192.168.192.21:9100/metrics
可以看到很多数据了

修改prometheus的配置后重启,把该节点加入到服务中

  1. # A scrape configuration containing exactly one endpoint to scrape:
  2. # Here it's Prometheus itself.
  3. scrape_configs:
  4. # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  5. - job_name: "prometheus"
  6. # metrics_path defaults to '/metrics'
  7. # scheme defaults to 'http'.
  8. static_configs:
  9. - targets: ["localhost:9090"]
  10. - job_name: "agent"
  11. static_configs:
  12. - targets: ["192.168.192.21:9100"]

重启

  1. nohup ./prometheus --config.file=prometheus.yml &

4、安装mysqld_exporter

先安装mysql,这里直接用docker安装

https://www.suibibk.com/topic/583366613781184512

然后下载

上传到服务器

  1. tar zxvf mysqld_exporter-0.15.1.linux-amd64.tar.gz
  1. cd mysqld_exporter-0.15.1.linux-amd64
  2. vi my.cnf
  3. ####
  4. [client]
  5. user = root
  6. password = 123456
  7. host = 192.168.192.19
  8. port = 3309
  1. nohup ./mysqld_exporter --config.my-cnf=my.cnf &

打开日志可以看到端口为9104

http://192.168.192.19:9104/metrics

修改Prometheus的配置文件

  1. - job_name: "mysql"
  2. static_configs:
  3. - targets: ["192.168.192.19:9104"]

然后重启,访问即可发现

http://192.168.192.20:9090/targets

5、安装grafana

  1. yum install -y https://dl.grafana.com/oss/release/grafana-11.3.0-1.x86_64.rpm


  1. systemctl start grafana-server
  2. systemctl enable grafana-server

端口是3000,这个可以从官网上找到
https://grafana.com/docs/grafana/latest/getting-started/build-first-dashboard/
用户密码都是admin

http://192.168.192.22:3000

登录后密码我这里是改为了123456


先加个数据源


啥我都不改,都用默认的,就加上我的普罗米修斯的地址即可

这里有多种方式可以建仪表盘,可以导入,也可以自己新建,当然导入别人弄好的比较方便
比如这里选择mysql的



从这里去下载即可。
https://grafana.com/grafana/dashboards/


然后在之前的界面导入即可。

时钟若是没有同步,可能会看不到数据

 49

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2