Prometheus简介

Prometheus是一个功能强大的开源监控系统,可从您的服务中收集指标并将其存储在时间序列数据库中。它通过Grafana等工具提供多维数据模型,灵活的查询语言和多样化的可视化可能性。

默认情况下,Prometheus仅导出有关其自身的指标(例如,它收到的请求数,内存消耗等)。但是,您可以通过安装导出程序,生成其他指标的可选程序来大大扩展Prometheus 。

出口商 - Prometheus团队维护的官方出版物以及社区贡献的出口商 - 提供从基础设施,数据库和Web服务器到消息系统,API等所有内容的信息。

一些最受欢迎的选择包括:

node_exporter - 这将生成有关基础结构的度量标准,包括当前CPU,内存和磁盘使用情况,以及I / O和网络统计信息,例如从磁盘读取的字节数或服务器的平均负载。
blackbox_exporter - 这会生成从HTTP和HTTPS等探测协议派生的指标,以确定端点可用性,响应时间等。
mysqld_exporter - 收集与MySQL服务器相关的度量标准,例如执行的查询数,平均查询响应时间和集群复制状态。
rabbitmq_exporter - 输出有关RabbitMQ消息传递系统的指标,包括发布的消息数,准备发送的消息数以及队列中所有消息的大小。
nginx-vts-exporter - 提供有关使用Nginx VTS模块的Nginx Web服务器的指标,包括打开的连接数,发送的响应数(按响应代码分组)以及发送或接收的请求的总大小(以字节为单位) 。

一、prometheus

1、下载地址:https://prometheus.io/download/prometheus-2.35.0.linux-amd64.tar.gz

 github下载地址:https://github.com/prometheus/prometheus/tags

tar xf prometheus-2.35.0.linux-amd64.tar.gz -C /usr/local/
mv prometheus-2.35.0.linux-amd64 prometheus

2、vim /etc/systemd/system/prometheus.service

[Unit]
Description=prometheus
Wants=network-online.target
After=network-online.target [Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus \
--config.file /usr/local/prometheus/prometheus.yml \
# --storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/usr/local/prometheus/consoles \
--web.console.libraries=/usr/local/prometheus/console_libraries [Install]
WantedBy=multi-user.target

3、修改prmoetheus.yml文件

在global设置中,定义抓取指标的默认时间间隔。请注意,除非单个导出器自己的设置覆盖全局变量,否则Prometheus会将这些设置应用于每个导出器。
scrape_interval值告诉Prometheus 每15秒从其出口商那里收集指标,这对于大多数出口商而言足够长。
使用scrape_configs指令将Prometheus本身添加到导出器列表中。
使用job_name在标签和图表上标记出口商,因此请务必在此处选择描述性内容。
使用static_configs和targets指令来确定导出器的运行位置。

sudo vim /usr/local/prometheus/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:
# - "first_rules.yml"
# - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus' # metrics_path defaults to '/metrics'
# scheme defaults to 'http'. static_configs:
- targets: ['localhost:9090'] - job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9100'] # - job_name: 'nm_mch-app_node'
# file_sd_configs:
#- files: ['/usr/local/prometheus/targets/node/node.yml']
#refresh_interval: 5s - job_name: 'mysqld_exporter'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9104']

注:安装哪个服务就在后面添加哪个服务,如上所示!

4、重载加载并启动服务

sudo systemctl daemon-reload
sudo systemctl start prometheus.service
sudo systemctl enable prometheus.service
sudo systemctl status prometheus.service

二、mysqld_exporter及安装mysql

1、下载地址:https://prometheus.io/download/mysqld_exporter-0.14.0.linux-amd64.tar.gz

tar xf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/
mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter

2、sudo vim /usr/local/mysqld_exporter/.my.cnf

[client]
user=mysqld_exporter
password=Password

3、sudo vim /etc/systemd/system/mysqld_exporter.service

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target

4、重载加载并启动服务

sudo systemctl daemon-reload
sudo systemctl start mysqld_exporter.service
sudo systemctl enable mysqld_exporter.service
sudo systemctl status mysqld_exporter.service

5、安装mysql

注:因为mysqld_exporter要从mysql中取数据

sudo apt install mysql-server
sudo apt install mysql-client
sudo apt-get install libmysqlclient-dev

6、sudo cat /etc/mysql/debian.cnf

[client]
host = localhost
user = debian-sys-maint  >>> 用户名
password = lncvxxxxxxxx2Zrd  >>> 密码

7、登录mysql

sudo mysql -u debian-sys-maint -p

CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'Password' WITH MAX_USER_CONNECTIONS 2; >>>创建用户
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost'; >>>赋权限
FLUSH PRIVILEGES; >>>刷新权限

8、重启mysql

sudo systemctl restart mysql
sudo systemctl status mysql

三、node_exporter

1、下载地址:https://prometheus.io/download/node_exporter-1.3.1.linux-amd64.tar.gz

tar xf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local/
mv node_exporter-1.3.1.linux-amd64 node_exporter

2、sudo vim /etc/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target [Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter [Install]
WantedBy=multi-user.target

3、重载加载并启动服务

sudo systemctl daemon-reload
sudo systemctl start node_exporter.service
sudo systemctl enable node_exporter.service
sudo systemctl status node_exporter.service

四、grafana-server

1、下载地址:https://grafana.com/grafana/download?edition=oss

wget https://dl.grafana.com/oss/release/grafana-8.0.4.linux-amd64.tar.gz
tar xf grafana-8.0.4.linux-amd64.tar.gz -C /usr/local/

2、sudo vim /lib/systemd/system/grafana-server.service

[Unit]
Description=Grafana
After=network-online.target [Service]
User=root
group=root
Type=simple
Restart=on-failure
WorkingDirectory=/usr/local/grafana-8.0.4/bin/
ExecStart=/usr/local/grafana-8.0.4/bin/grafana-server --config=/usr/local/grafana-8.0.4/conf/defaults.ini [Install]
WantedBy=multi-user.target

3、重新加载并启动服务

sudo systemctl daemon-reload
sudo systemctl start grafana-server.service
sudo systemctl enable grafana-server.service
sudo systemctl status grafana-server.service

五、登录grafana查看效果

登录地址:http://本机IP:3000

1、添加Prometheus来源

2、添加node_porter模板

3、Copy ID to Clipboard 至Grafana.com dashboard URL or ID ,如输入:11074,点击Load,选择prometheus

地址:https://grafana.com/grafana/dashboards/

3、即可显示node_exporter主机信息。

4、添加mysqld_exporter模板

需要从Grafana的存储库中填写仪表板的URL。将链接粘贴到“ URL”部分,https://grafana.com/grafana/dashboards/7362

将Prometheus数据源名称更改为“ Prometheus ”,然后单击“ 导入 ”,即可查看MySQL相关监控信息!

5、Prometheus访问

访问地址:本地IP:9090

至此,部署完成!

Ubuntu 20.04 部署Prmoetheus+grafana+mysql+mysqld_exporter+node_exporter的更多相关文章

  1. Ubuntu 20.04上安装MySQL教程,ubuntu安装mysql

    在Ubuntu 20.04上安装MySQL教程 先决条件 确保您以具有sudo特权的用户身份登录. 在Ubuntu上安装MySQL 在撰写本文时,Ubuntu存储库中可用的MySQL的最新版本是MyS ...

  2. 安装MySQL到Ubuntu 20.04

    本文的内容主要来自对How To Install MySQL on Ubuntu 20.04的翻译.在根据该文的指导下,我在自己的Ubuntu 20.04.3 LTS版本中安装了MySQL 8. St ...

  3. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  4. Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy

    ROS 2 Foxy Fitzroy(以下简称Foxy)于2020年6月5日正式发布了,是LTS版本,支持到2023年5月.本文主要根据官方的编译安装教程[1]完成,并记录编译过程中遇到的问题. 1. ...

  5. win10 + Ubuntu 20.04 LTS 双系统 引导界面美化

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  6. Windows10 + Ubuntu 20.04 LTS 双系统安装 (UEFI + GPT)(图文,多图预警)

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  7. Ubuntu 20.04.1 安装软件和系统配置脚本

    #!/bin/bash # https://launchpad.net/ubuntu # https://www.easyicon.net # https://download-chromium.ap ...

  8. Ubuntu 20.04 手动安装 sublime_text 并建立搜索栏图标(解决 Ubuntu 20.04 桌面图标无法双击打开问题)

    下载sublime_text_3离线程序包 wget https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2 #x ...

  9. Ubuntu 20.04上通过Wine 安装微信

    没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己. 首先介绍下我使用过的其他方法,希望可以节省大家一些时间: Rambox Pro:因为原理是网页 ...

  10. 树莓派安装 Ubuntu 20.04 LTS 碰壁指南

    树莓派安装 Ubuntu 20.04 LTS 碰壁指南 设备 Raspberry 4B 4+32G 系统 Ubuntu 20.04 LTS 1.镜像下载与烧录 镜像下载地址:https://cdima ...

随机推荐

  1. laravel-hash表的简单使用

  2. C# 调用Web Api通用方法

    1.通用方法 public class GetDataByWebApi { /// <summary> /// 通过web api获取数据的方法 /// </summary> ...

  3. ubuntu 安装SVN

    s1: [sudo apt-get install subversion] s2:本地新建一个文件夹如SVN,在该文件夹下打开终端输入命令[svn co https://xxx/svn/xxx --u ...

  4. 微信小程序的this在success函数中使用

    在绝大多数情况下,函数的调用方式决定了this的值.this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同. 在微信小程序中 我就遇到的一些问题 requestName: fun ...

  5. 「SOL」JOISC2021 解题报告

    JOIS(egment-Tree)C 1. 前言 很早之前教练让我们做这套题,我以为这套题应该挺简单,用几天的空余时间就能刷完,结果预想的短周期刷题变成了长周期刷题--(好像是整个团队里最后一个刷完的 ...

  6. cocos2d-lua 控制台输入Lua指令方便调试

    用脚本进行开发,如果不能实时去输入指令,就丧失了脚本的一大特色,所以对cocos2d-x程序稍微修改下,使其可以直接从控制台读入lua指令,方便调试. 1 首先在行首加入lua的引用,如下 1 #in ...

  7. (三)用go实现平衡二叉树

    本篇,我们用go简单的实现平衡二叉查找树.具体原理参考大佬博客即可:AVL树(一)之 图文解析 和 C语言的实现 1.节点定义 type AVLNode struct{ data int height ...

  8. 《《《PLSQL Developer编辑器怎么设置圆括号高亮

    转载:PLSQL Developer编辑器怎么设置圆括号高亮-百度经验 (baidu.com) 为了在plsql中调代码好调 LSQL Developer编辑器怎么设置圆括号高亮?有时候对PLSQL ...

  9. (原创)odoo动态设置树形视图中的字段,每个用户可定制自己要显示的字段

    模块详情

  10. vue打包后打开index.html文件显示空白页问题

    通过网上的资料发现在vue.config.js中写入再重新打包就可以再index.html中显示. https://blog.csdn.net/m0_51060602/article/details/ ...