[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

时间:2022-01-07 23:18:37

https://github.com/prometheus/prometheus

Architecture overview

Prometheus Server

Prometheus Server 负责从 Exporter 拉取和存储监控数据,并提供一套灵活的查询语言(PromQL)供用户使用。

Exporter

Exporter 负责收集目标对象(host, container…)的性能数据,并通过 HTTP 接口供 Prometheus Server 获取。

可视化组件

监控数据的可视化展现对于监控方案至关重要。以前 Prometheus 自己开发了一套工具,不过后来废弃了,因为开源社区出现了更为优秀的产品 Grafana。Grafana 能够与 Prometheus 无缝集成,提供完美的数据展示能力。

Alertmanager

用户可以定义基于监控数据的告警规则,规则会触发告警。一旦 Alermanager 收到告警,会通过预定义的方式发出告警通知。支持的方式包括 Email、PagerDuty、Webhook 等.

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

监控+日志方案

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

特性

  • server端基于http拉模型

  • 官网说,多维数据模型,基于多维灵活查询

  • target可以自动发现或手工配置

  • 2.0针对cpu 内存 io 性能提高了不少

  • 告警规则从自定义格式迁移到yaml格式,使用2.0的promtool工具可以完成格式的转换

  • Prometheus 提供了采集数据功能,自带db.

  • 本次采用vm安装Prometheus2.0,采集node和mysql的指标,并用grafana展示

  • 其组件如下,符合功能模块化. exporter是各种app的采集者.

https://prometheus.io/download/

prometheus
alertmanager blackbox_exporter
consul_exporter
graphite_exporter
haproxy_exporter memcached_exporter
statsd_exporter mysqld_exporter -本次用来采集mysql的指标 ,收集Mysql数据
node_exporter -本次用来采集node节点的指标,收集系统数据 pushgateway

本次采集mysql和node实验架构图

参考

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

物理机安装普罗2.0

- 下载软件
https://prometheus.io/download/ mysqld_exporter-0.10.0.linux-amd64.tar.gz
node_exporter-0.15.2.linux-amd64.tar.gz
prometheus-2.0.0.linux-amd64.tar.gz - 解压prometheus [root@n1 prometheus-2.0.0.linux-amd64]# ls
console_libraries consoles data LICENSE NOTICE prometheus prometheus.yml prometheus.yml.default promtool - 修改prometheus.yml
$ cat prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s scrape_configs:
- job_name: linux
static_configs:
- targets: ['192.168.14.11:9100']
labels:
instance: db1 - job_name: mysql
static_configs:
- targets: ['192.168.14.11:9104']
labels:
instance: db1 注:
0,启动后自带dashboard,通过http://192.168.14.11:9090来访问
1.这里添加2个targets
2.普罗通过配置文件主动去找explore

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

启动node_exporter

- 解压
$ tar xf node_exporter-0.15.2.linux-amd64.tar.gz
$ ls
LICENSE node_exporter NOTICE - 启动二进制即可
$ ./node_exporter

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

启动mysql-nodeexplor

- 解压
$ tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz $ ls
LICENSE mysqld_exporter NOTICE - 启动mysql
docker run -d \
-p 3306:3306 \
-v /data/mysql:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
--name mysql5 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6.23 --character-set-server=utf8 --collation-server=utf8_general_ci - 启动mysqld_exporter
$ cat > .my.cnf<<EOF
[client]
user=root
password=123456
EOF $ ./mysqld_exporter -config.my-cnf=".my.cnf" 注意: 首先要创建一个.my.conf的配置,默认读取的是 /root/.my.cnf ,可以指定路径

我们再次回到Status->Targets页面,可以看到两个Target的状态已经变成UP了:

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

grafana安装

- 下载解压
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3.linux-x64.tar.gz
tar -zxvf grafana-4.6.3.linux-x64.tar.gz - 修改配置 392 [dashboards.json]
393 enabled = true
394 path = /var/lib/grafana/dashboards - 下载mysql dashboard
mkdir -p /var/lib/grafana/ && cd /var/lib/grafana/
git clone https://github.com/percona/grafana-dashboards.git - dashboard包含了,可以参考他的github, 具体配置promethues很全,还有效果图
Amazon RDS OS metrics (CloudWatch datasource)
Cross Server Graphs
Disk Performance
Disk Space
MongoDB Cluster Summary
MongoDB Overview
MongoDB ReplSet
MongoDB RocksDB
MongoDB WiredTiger
MongoDB MMAPv1
MySQL InnoDB Metrics
MySQL InnoDB Metrics Advanced
MySQL MyISAM/Aria Metrics
MySQL Overview
MySQL Performance Schema
MySQL Query Response Time
MySQL Replication
MySQL Table Statistics
MySQL TokuDB Graphs
MySQL User Statistics
PXC/Galera Cluster Overview
PXC/Galera Graphs
Prometheus
ProxySQL Overview
Summary Dashboard
System Overview
Trends Dashboard $ tree /var/lib/grafana/
/var/lib/grafana/
└── dashboards
├── Advanced_Data_Exploration.json
├── Amazon_RDS___Aurora_MySQL__Metrics.json
├── Cross_Server_Graphs.json
├── Disk_Performance.json
├── Disk_Space.json
├── MongoDB_Cluster_Summary.json
├── MongoDB_InMemory.json
├── MongoDB_MMAPv1.json
├── MongoDB_Overview.json
├── MongoDB_ReplSet.json
├── MongoDB_RocksDB.json
├── MongoDB_WiredTiger.json
├── MySQL_InnoDB_Metrics_Advanced.json
├── MySQL_InnoDB_Metrics.json
├── MySQL_MyISAM_Aria_Metrics.json
├── MySQL_MyRocks_Metrics.json
├── MySQL_Overview.json
├── MySQL_Performance_Schema.json
├── MySQL_Query_Response_Time.json
├── MySQL_Replication.json
├── MySQL_Table_Statistics.json
├── MySQL_TokuDB_Metrics.json
├── MySQL_User_Statistics.json
├── Prometheus.json
├── ProxySQL_Overview.json
├── PXC_Galera_Cluster_Overview.json
├── PXC_Galera_Graphs.json
├── Summary_Dashboard.json
├── System_Overview.json
└── Trends_Dashboard.json - 启动grafana-server
bin/grafana-server

查看dashboard

下载dashboard前

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

下载dashboard后(无需通过dashboard导入了)

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

  • 为grafana添加数据源,名称为Prometheus

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

注意: 名字一定要是Prometheus,因为你下载别人的dashboard,内置的源就是这个名字

监控vm和mysql效果图

节点

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

mysql

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

node_expolore的本质

启动node_exporter后本质上是暴漏节点app的metric.

启动了相关的explore即可以通过相关的url访问到其metric.

譬如node

- 解压
$ tar xf node_exporter-0.15.2.linux-amd64.tar.gz
$ ls
LICENSE node_exporter NOTICE - 启动二进制即可
$ ./node_exporter

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

又譬如mysql

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

直观上他们是通过端口来区分的.

本质是对应的二进制是访问某个app指标api的一个封装程序包

docker安装普罗

- 直接启动
docker run --name prometheus -d -p 9090:9090 quay.io/prometheus/prometheus - 需要预置配置文件
docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /tmp/prometheus-data:/prometheus-data \
prom/prometheus - 访问
http://localhost:9090 /访问。

kube-router官方的grafana dashboard\

kube-router支持 —metric-port 選項了

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)

[k8s]prometheus+grafana监控node和mysql(普罗/grafana均vm安装)的更多相关文章

  1. 使用Prometheus&plus;Grafana监控MySQL实践

    一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采 ...

  2. kubernetes&lpar;k8s&rpar; Prometheus&plus;grafana监控告警安装部署

    主机数据收集 主机数据的采集是集群监控的基础:外部模块收集各个主机采集到的数据分析就能对整个集群完成监控和告警等功能.一般主机数据采集和对外提供数据使用cAdvisor 和node-exporter等 ...

  3. k8s集群监控 cadvisor&sol;exporter&plus;prometheus&plus;grafana

    ### k8s监控处理 ### 1.cadvisor/exporter+prometheus+grafana 安装#### 1.1 配置nfs安装```shellubuntu: nfs 服务器 apt ...

  4. 安装prometheus&plus;grafana监控mysql redis kubernetes等

    1.prometheus安装 wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5 ...

  5. Prometheus 监控Mysql服务器及Grafana可视化

    Prometheus 监控Mysql服务器及Grafana可视化. mysql_exporter:用于收集MySQL性能信息. 使用版本 mysqld_exporter 0.11.0 官方地址 使用文 ...

  6. &lbrack;转帖&rsqb;安装prometheus&plus;grafana监控mysql redis kubernetes等

    安装prometheus+grafana监控mysql redis kubernetes等 https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行 ...

  7. Prometheus&plus;Grafana监控MySQL、Redis数据库

    俗话说,没有监控的系统就是在裸奔,好的监控就是运维人员的第三只手,第三只眼.本文将使用prometheus及Grafana搭建一套监控系统来监控主机及数据库(MySQL.Redis). 1.  安装G ...

  8. prometheus&plus;grafana监控mysql

    prometheus+grafana监控mysql 1.安装配置MySQL官方的 Yum Repository(有mysql只需设置监控账号即可) [root@localhost ~]# wget - ...

  9. K8S的Kafka监控&lpar;Prometheus&plus;Grafana&rpar;

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. 解读ASP&period;NET 5 &amp&semi; MVC6系列(7):依赖注入

    在前面的章节(Middleware章节)中,我们提到了依赖注入功能(Dependency Injection),ASP.NET 5正式将依赖注入进行了全功能的实现,以便开发人员能够开发更具弹性的组件程 ...

  2. Cairo 下载,测试

    You need to download the all-in-one bundle available here. You can discover this link yourself by vi ...

  3. Mongodb的备份,恢复,导入与导出&lpar;cmd命令行实现&rpar;

    要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下命令均在cmd ...

  4. python数字图像处理(19):骨架提取与分水岭算法

    骨架提取与分水岭算法也属于形态学处理范畴,都放在morphology子模块内. 1.骨架提取 骨架提取,也叫二值图像细化.这种算法能将一个连通区域细化成一个像素的宽度,用于特征提取和目标拓扑表示. m ...

  5. 使用Powershell 添加,选择更改订阅

    PS C:\WINDOWS\system32> Import-AzurePublishSettingsFile 'C:\Users\Ling\Desktop\Free-11-24-2014-cr ...

  6. android api 中文 (73)—— AdapterView

    前言 本章内容是android.widget.AdapterView,版本为Android 2.3 r1,翻译来自"cnmahj",欢迎大家访问他的博客:http://androi ...

  7. Oracle学习&lpar;十四&rpar;:管理用户安全性

    --用户(user) SQL> --创建一个名为 grace password是password 的用户,新用户没有不论什么权限 SQL> create user grace identi ...

  8. L2-006&period; 树的遍历

    题目链接:L2-006. 树的遍历 今天一神给我手敲二叉树模板,瞬间就领悟了,感觉自己萌萌哒! 看上去很直观! #include <iostream> #include <cstdi ...

  9. 深入Java虚拟机(1)——Java体系结构

    Java体系结构 Java体系结构包括四个独立但相关的技术: 1.Java程序设计语言 2.Java class文件格式 3.Java应用编程接口(API) 4.Java虚拟机 当编写并运行一个Jav ...

  10. 4&period;5Python数据类型(5)之列表类型

    返回总目录 目录: 1.列表的定义 2.列表的常规操作 3.列表的额外操作 (一)列表的定义: 列表的定义 [var1, var2, --, var n ] # (1)列表的定义 [var1, var ...