本文介绍: ​Prometheus是的一个控系统项目, 集采集监控报警等特点于一体。​Prometheus主要受启发于Google的Brogmon控系统, 从2012年开始由前Google工程师在Soundcloud开源软件的形式进行研发,2017年底发布基于全新存储层的2.0版本当前最新版本是2.44.0版本

Prometheus+Grafana普罗米修斯搭建+监控MySQL


一,Prometheus

1.什么是Prometheus?

PrometheusCloud Native Computing Foundation一个控系统项目, 集采集监控报警等特点于一体。

Prometheus主要受启发于GoogleBrogmon监控系统, 从2012年开始由前Google工程师Soundcloud开源软件的形式进行研发2017年底发布基于全新存储层的2.0版本当前最新版本是2.44.0版本

2.Prometheus架构

请添加图片描述

3.prometheus具有那些特点?

二,Prometheus搭建

IP 角色
192.168.2.4 prometheus服务器端
192.168.2.3 node_exporter客户端
1.二进制安装Prometheus
[root@server ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
[root@server ~]# tar zxf prometheus-2.44.0.linux-amd64.tar.gz
[root@server ~]# mv prometheus-2.44.0.linux-amd64 /usr/local/prometheus
1.查看版本号
[root@server ~]# cd /usr/local/prometheus/
[root@server prometheus]# ./prometheus --version
prometheus, version 2.44.0 (branch: HEAD, revision: 1ac5131f698ebc60f13fe2727f89b115a41f6558)
  build user:       root@739e8181c5db
  build date:       20230514-06:18:11
  go version:       go1.20.4
  platform:         linux/amd64
  tags:             netgo,builtinassets,stringlabels
2.查看帮助文档
[root@server prometheus]# ./prometheus --help
2.prometheus.yml配置解释
# my global config
global:
  # 默认情况下,每15s拉取一次目标采样数据
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  # 每15秒评估一次规则默认值为每1分钟
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # job名称会增加到拉取到的所有采样点上,同时还有一个instance目标服务hostport标签也会增加到采样点上
  - job_name: 'prometheus'

    # 覆盖global采样点,拉取时间间隔5s
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:9090']
3.升级系统服务
# 启动服务
cd /usr/lib/systemd/system
vi prometheus.service

[Unit]
  Description=https://prometheus.io
  
  [Service]
  Restart=on-failure
  ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.listen-address=:9090

  [Install]                      
  WantedBy=multi-user.target

#保存退出

其他选项解释

常用选项解释# 指定配置文件
--config.file="prometheus.yml"
# 默认指定监听地址端口,可修改端口
--web.listen-address="0.0.0.0:9090" 
# 最大连接数
--web.max-connections=512
# tsdb数据存储目录,默认当前data/
--storage.tsdb.path="data/"
# premetheus 存储数据的时间,默认保存15天
--storage.tsdb.retention=15d 
# 通过命令加载无需重启 curl -XPOST 192.168.2.45:9090/-/reload
--web.enable-lifecycle
# 可以启用 TLS 或 身份验证配置文件路径
--web.config.file=""

启动选项了解:./prometheus --help
4.刷新system文件启动
systemctl daemon-reload
systemctl start prometheus
5.访问测试

IP:9090
请添加图片描述

三,客户端node_exporter搭建

1.监控目的Linux安装node_exporter
[root@server ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
[root@server ~]# tar xf node_exporter-1.1.2.linux-amd64.tar.gz -C /usr/local/
[root@server ~]# cd /usr/local/
[root@server ~]# mv node_exporter-1.1.2.linux-amd64/ node_exporter
2.添加为系统服务
[root@server ~]# vi /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
After=network.target 

[Service]
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启动node_exporter
systemctl daemon-reload
systemctl start node_exporter
3.prometheus服务器端添加监控
[root@server prometheus]# cat prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.2.4:9090']

  - job_name: 'linux'
    static_configs:
    - targets: ['192.168.2.4:9100','192.168.2.3:9100'] # 多个用,分开

# 添加上面三行
4.重启系统普罗米修斯
[root@server ~]#  systemctl restart prometheus.service
5.监控界面

请添加图片描述

四,监控MySQL

1.安装mysqld-exporter

[root@VM_2-44 ~]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
[root@VM_2-44 ~]# tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/
[root@VM_2-44 /usr/local]# mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter
[root@VM_2-44 /usr/local/mysqld_exporter]# vi .my.cnf
[client]
host=192.168.2.3
user=root
password=123456
port=3306

2.启动mysqldexporter服务

[root@VM_2-44 /usr/local/mysqld_exporter]# ./mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &
[root@VM_2-44 /usr/local/mysqld_exporter]# ps -ef |grep exporter
root       3447   3398  0 01:31 pts/1    00:00:02 ./node_exporter
root       4647   3398  0 02:13 pts/1    00:00:00 ./mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
root       4654   3398  0 02:13 pts/1    00:00:00 grep --color=auto exporter
[root@VM_2-44 /usr/local/mysqld_exporter]# ss -lntp |grep 4647
LISTEN     0      128         :::9104                    :::*                   users:(("mysqld_exporter",pid=4647,fd=3))
[root@VM_2-44 /usr/local/mysqld_exporter]# 

# 启动后会监听9104端口

3.普罗米修斯配置文件添加监控项

[root@VM_2-45 /usr/local/prometheus]# vi prometheus.yml 
  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.2.3:9104']

4.重启普罗米修斯

[root@VM_2-45 /usr/local/prometheus]# systemctl restart prometheus.service

5.查看状态

请添加图片描述

五,grafana展示prometheus数据

1.在prometheus安装grafana
wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-7.4.3-1.x86_64.rpm

[root@VM_2-45 ~]# yum install initscripts fontconfig
[root@VM_2-45 ~]# yum install -y grafana-7.4.3-1.x86_64.rpm
[root@VM_2-45 ~]# systemctl start grafana-server.service 
2.访问grafana
启动访问地址ip:3000
初始用户名密码都是admin

image-20230607175213818

3.添加Prometheus数据源
Configuration -> Data Sources ->add data source -> Prometheus

请添加图片描述

添加prometheus服务器

请添加图片描述

4.添加dashboard Linux基础数据展示

请添加图片描述

导入模板8919

请添加图片描述

选择数据源

请添加图片描述

5.查看dashboard
Dashboards ->Manage

请添加图片描述

六,grafana展示MySQL信息

1.设置数据源
Configuration -> Data Sources ->add data source -> MySQL

请添加图片描述

2.数据库授权用户

请添加图片描述

3.导入下载dashboard数据源现在刚刚创建
https://pan.baidu.com/s/1GBzogDLsYS3IvwH4WbdPLw 提取码:ef6e

请添加图片描述

4.查看效果

请添加图片描述

原文地址:https://blog.csdn.net/weixin_53678904/article/details/131129884

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40596.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注