文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-08-20 10:59

关注

一,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.4prometheus服务器端
192.168.2.3node_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 --versionprometheus, 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 configglobal:  # 默认情况下,每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 configurationalerting:  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目标服务的host:port标签也会增加到采样点上  - job_name: 'prometheus'    # 覆盖global的采样点,拉取时间间隔5s    scrape_interval: 5s    static_configs:    - targets: ['localhost:9090']

3.升级为系统服务

# 启动服务cd /usr/lib/systemd/systemvi 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-reloadsystemctl 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_exporterAfter=network.target [Service]ExecStart=/usr/local/node_exporter/node_exporterRestart=on-failure[Install]WantedBy=multi-user.target# 启动node_exportersystemctl daemon-reloadsystemctl start node_exporter

3.prometheus服务器端添加监控项

[root@server prometheus]# cat prometheus.yml # my global configglobal:  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 configurationalerting:  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

安装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.3user=rootpassword=123456port=3306

启动mysqld-exporter服务

[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 exporterroot       3447   3398  0 01:31 pts/1    00:00:02 ./node_exporterroot       4647   3398  0 02:13 pts/1    00:00:00 ./mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnfroot       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 4647LISTEN     0      128         :::9104                    :::*                   users:(("mysqld_exporter",pid=4647,fd=3))[root@VM_2-44 /usr/local/mysqld_exporter]# # 启动后会监听9104端口

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

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

重启普罗米修斯

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

查看状态

请添加图片描述

五,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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯