蓝色的天_90  

2024年1月31日

一、Prometheus & node_exporter & Grafana 的原理

  1. Prometheus:Prometheus是一个开源的系统监控和报警工具包,它负责定时从各种数据源(如Node Exporter)中获取指标数据,并将其存储在自己的时间序列数据库中。Prometheus支持灵活的查询和报警功能,用户可以方便地对这些指标数据进行查询和分析,以及设置相关的报警规则。
  2. Node Exporter:Node Exporter是一个独立的组件,它负责收集目标节点(如服务器、主机或容器等)上的各种指标数据,如CPU、内存、磁盘、网络等,并将这些数据以Prometheus支持的格式暴露出来。Prometheus Server通过HTTP协议定时从Node Exporter中获取这些数据。
  3. Grafana:Grafana是一个开源的可视化平台,它可以与Prometheus无缝集成,将Prometheus中的指标数据以图表的形式展示出来。用户可以通过Grafana创建各种自定义的仪表板,以便更好地理解和分析系统的性能和行为。

这三个组件的结合使用可以实现全面的系统监控和可视化。具体来说,Prometheus负责收集指标数据,Node Exporter则提供指标数据的来源,而Grafana则负责将指标数据以图表的形式展示出来。这样,用户就可以通过Grafana方便地查看系统的各种指标数据,并对系统进行全面的监控和分析。

原理图:

二、环境与配置关系

环境与配置关系
ip 角色 系统
10.10.10.1 node_exporter Linux Centos7 4核
10.10.10.1 mysql_exporter Linux Centos7 4核
10.10.10.1 Prometheus Linux Centos7 4核
10.10.10.1 Grafana Linux Centos7 4核
10.10.10.1 redis_exporter Linux Centos7 4核

 

 

三、node_exporter介绍、下载、解压、启动

1、node_exporter介绍

  Node Exporter是Prometheus的一个指标数据收集组件,用于采集目标节点(如服务器、主机或容器等)的各种运行指标,如CPU、内存、磁盘、网络等。

  Node Exporter是由Prometheus官方提供并维护的,它是一个用Go语言编写的独立组件。它通过各种系统命令或者访问操作系统的接口来获取指标数据,然后将这些数据转换成Prometheus支持的格式并暴露出来。

2、下载node_exporter

下载地址:https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

下载完成后,MobaXterm工具上传压缩包上传到【10.10.10.1】服务器的/root/ 目录中。

 

 

3、解压node_exporter

 

tar -xvzf node_exporter-1.7.0.linux-amd64.tar.gz 

4、启动node_exporter

node_exporter默认监听端口为9100,我们启动可以指定监听端口为:8100

nohup ./node_exporter --web.listen-address=:8100 &

查看进程

ps -ef |grep node_exporter

四、mysql_exporter介绍、下载、解压、启动

1、mysql_exporter介绍

MySQL Exporter是一个专门用于监控MySQL数据库的Prometheus Exporter。它可以提供有关MySQL的各种指标,以便对数据库进行全面、深入的分析和了解。

MySQL Exporter的工作原理是,通过查询MySQL服务器的状态变量、内存使用情况、锁状态、QPS等信息,将这些数据转换成Prometheus支持的格式并暴露出来。Prometheus Server通过HTTP协议定时从MySQL Exporter中获取这些数据,并将其存储在自己的时间序列数据库中。

2、下载mysql_exporter

下载地址:https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

下载完成后,MobaXterm工具上传压缩包上传到【10.10.10.1】服务器的/root 目录中。

3、解压mysql_exporter

tar -xzvf mysqld_exporter-0.15.1.linux-amd64.tar.gz 

4、启动mysql_exporter

mysql_exporter默认监听端口为9104,我们启动可以指定监听端口为:8200,新建my.cnf文件。

my.cnf 配置文件输入如下内容

启动mysql_exporter命令

./mysqld_exporter --config.my-cnf='/root/mysqld_exporter-0.15.1.linux-amd64/my.cnf' --web.listen-address=:8200 &

 

 

五、redis_exporter介绍、下载、解压、启动

1、redis_exporter介绍

Redis Exporter是一个用于Prometheus监控的工具,它可以抓取Redis服务器的指标数据,并将其转换为Prometheus可以理解的格式。

Redis Exporter通过访问Redis服务器的INFO命令来获取各种指标数据,如内存使用情况、客户端连接数、键值存储统计信息等。然后,它将这些数据转换成Prometheus支持的格式并暴露出来。Prometheus Server通过HTTP协议定时从Redis Exporter中获取这些数据,并将其存储在自己的时间序列数据库中。

2、下载redis_exporter

下载地址:https://github.com/oliver006/redis_exporter/releases/download/v1.57.0/redis_exporter-v1.57.0.linux-amd64.tar.gz

下载完成后,使用命令上传至【10.10.10.1】服务器的/root/ 目录中。

scp redis_exporter-v1.57.0.linux-amd64.tar.gz root@10.10.10.1:/root

3、解压redis_exporter

 tar -xvzf redis_exporter-v1.57.0.linux-amd64.tar.gz

 

4、启动redis_exporter

redis_exporter 默认监听端口为 9121,我们可以修改其监听端口为:8300

 

./redis_exporter -redis.addr 'redis://10.10.10.1:6379' -redis.password '123456' -web.listen-address ':8300' &

 

lsof -i:8300

 

六、sql_exporter介绍、下载、解压、启动

1、sql_exporter介绍

MSSQL的监控,官网没有提供采集器,所以只能用其他程序来监控,本文就用了 sql-exporter。

它可以理解成一个远程连接数据库的工具,可以用它来连接sql server/mysql 等等数据库,并以SQL查询方式采集SQL查询结果。

SQL_Exporter 是中心化的,可以把对不同实例的agent链接,都放在一台linux服务器上,以便管理、修改。你想想看,如果你更新了采集指标,只需要在该台中心化服务器重启sql_exporter agent采集客户端即可生效。

2、下载sql_exporter

下载地址:https://github.com/free/sql_exporter/releases/download/0.5/sql_exporter-0.5.linux-amd64.tar.gz

下载完成后,使用命令上传至【10.10.10.1】服务器的/root/ 目录中。

scp sql_exporter-0.5.linux-amd64.tar.gz root@10.10.10.1:/root

3、解压sql_exporter

 tar -xvzf sql_exporter-0.5.linux-amd64.tar.gz

 4、修改配置文件,加入sqlserver 服务器的地址及用户名密码

 

解析:

(1)global

收集器中允许最慢的SQL执行超时时间,注意该超时时间应小于prometheus中的 scrape_time
scrape_timeout_offset: 500ms #用于从 prometheus的 scrape_timeout 中减去一个偏移时间,防止 prometheus 先超时,如果设置了 scrape_timeout,scrape  
min_interval: 0s  #收集器每隔0运行一次(默认情况下)收集器每隔0运行一次。  
max_connections: 10 #到任何一个目标的最大打开连接数。采集器信息查询将在多个连接上并发运行,  
max_idle_connections: 5 #到任何一个目标的最大空闲连接数。除非使用很长的收集间隔,否则应该

(2)target

#数据源data_source_name: 'sqlserver://sa:a123456!@10.10.10.1:1433'

(3)collector

#引用收集器文件

collector_files: 

  - "*.collector.yml"

 

5、启动sql_exporter

sql_exporter 默认监听端口为 9399,我们可以修改其监听端口为:8300

./sql_exporter --config.file='/root/sql_exporter-0.5.linux-amd64/sql_exporter.yml' --web.listen-address=:8400 &

 

 

七、Prometheus下载,配置,启动

1、下载Prometheus

详见:Prometheus(普罗米修斯)常用exporter类下载地址大全

下载地址:prometheus-2.49.1.linux-amd64.tar.gz

下载完成后,MobaXterm工具上传压缩包上传到【10.10.10.1】服务器的/root  目录 

2、解压Prometheus

tar -xzvf prometheus-2.49.1.linux-amd64.tar.gz 

 

3、启动Prometheus及添加Node_exporter、redis_exporter、mysq_exporterl、sql_exporter配置

Prometheus默认端口:9090,支持修改端口,进入 vi prometheus.yml 

 

进入 vi prometheus.yml ,分别追加Node_exporter 、mysq_exporterlredis_exporter、sql_exporter配置如下内容(注意Yaml格式):

 

 

 

 

4、启动prometheus命令 -- 默认监听端口9090,启动普罗米修斯

/root/prometheus-2.49.1.linux-amd64/prometheus --config.file='/root/prometheus-2.49.1.linux-amd64/prometheus.yml' --web.listen-address='10.10.10.1:9090' &

5、查看监听端口

  

进入http://10.10.10.1:9090/targets 查看 Prometheus 启动显示

 

 

 http://10.10.10.1:9090/metrics 、 http://10.10.10.1:8100/metrics 、 http://110.10.10.1:8200/metrics  地址查看收集数据源

 

七、Grafana下载,启动,配置数据源,导入模板

1、Grafana下载,启动,请参考此篇文章:【干货最详细】Jmeter + Grafana + InfluxDB 性能测试监控平台搭建 

2、Prometheus 配置数据源

进入 Configuration -> Data Sources ,点击 Prometheus 

 

 

 

导入服务器主机模板,选择模板ID:12633,导入Mysql监控模板,选择模板ID:17320,导入Redis监控模板,选择模板ID:11835,导入sql server 监控模板,选择模板ID:13919

 

服务器资源展示

 数据库资源展示

 redis 资源展示

 

 
posted @ 2024-01-31 15:14 蓝色的天_90 阅读(359) 评论(0) 推荐(0) 编辑
 
摘要: 1、(因为配置节名字过长自动添加别名失败,需要修改配置节名称(collection)) 2、修改名称前需要做备份 3、添加collection 4、添加别名 确定后即可在solr 中看到添加的别名了 阅读全文
posted @ 2024-01-31 11:32 蓝色的天_90 阅读(16) 评论(0) 推荐(0) 编辑

2023年12月1日

摘要: Jmeter在做接口测试的时候的,如果接口响应的内容中有中文,jmeter的响应内容很可能显示乱码,为了规避这种出现乱码的问题,就要对jmeter的响应结果进行编码处理。 打开jmeter进行接口、压力、性能等测试,出现以下乱码问题,如图 解决方法一(临时修改):1、就是通过添加后置处理器,输入pr 阅读全文
posted @ 2023-12-01 15:22 蓝色的天_90 阅读(32) 评论(0) 推荐(0) 编辑
 
摘要: 保存时cmd中的报错信息,如下2种:Uncaught Exception java.lang.IllegalAccessError: class com.github.weisj.darklaf.ui.filechooser.DarkFilePaneUIBridge$DetailsTableMode 阅读全文
posted @ 2023-12-01 15:17 蓝色的天_90 阅读(520) 评论(0) 推荐(0) 编辑

2023年10月26日

摘要: 使用npx cypress open 启动cypress 提示 No version of Cypress is installed in: /Users/xxx/Library/Caches/Cypress/13.3.3/Cypress.app npx cypress open No versio 阅读全文
posted @ 2023-10-26 10:41 蓝色的天_90 阅读(263) 评论(0) 推荐(0) 编辑

2022年9月8日

摘要: 需要在所有集群中的机器上修改 /usr/lib/systemd/system/docker.service # 修改配置文件 vim /usr/lib/systemd/system/docker.service # 添加配置文件内容 execstart= xxxx -h tcp://0.0.0.0: 阅读全文
posted @ 2022-09-08 17:51 蓝色的天_90 阅读(143) 评论(0) 推荐(0) 编辑

2022年8月18日

摘要: 产生这个问题的原因是因为在mysql中产生了事务A,执行了修改的语句,比如: update t1 set aget=18 where id=1;此时事务并未进行提交,事务B开始运行,也同样需要修改id为1的用户的年龄: update t1 set aget=20 where id=1; 那么此时事务 阅读全文
posted @ 2022-08-18 12:34 蓝色的天_90 阅读(1742) 评论(0) 推荐(0) 编辑

2022年8月10日

摘要: 在Mac 电脑经常收到别人传过来的压缩文件,有后缀是 zip 和 rar的,Mac 是默认支持解压缩 zip后缀的压缩文件的,但是 rar却不在默认支持的范围内。 1.下载 rar 工具 我们先来安装一下 rar 的工具,网址是https://www.rarlab.com/download.htm, 阅读全文
posted @ 2022-08-10 11:36 蓝色的天_90 阅读(1344) 评论(0) 推荐(0) 编辑

2022年7月28日

摘要: 一般使用list 转str 使用以下办法 list_name =["张三","李四","王五","陈留"] list_to_str= ";".join(list_name) #即可 #但是如果l list_dump=['1',1,3,4,5,'nihao'] list_to_str= ";".joi 阅读全文
posted @ 2022-07-28 16:22 蓝色的天_90 阅读(695) 评论(0) 推荐(0) 编辑

2022年7月26日

摘要: 参照官方地址: https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos 待全部准备完毕,查看jenkins 的配置文件 ,确认java home 是否配置正确 vi /etc/init.d/jenkins 使用 which j 阅读全文
posted @ 2022-07-26 12:00 蓝色的天_90 阅读(115) 评论(0) 推荐(0) 编辑
 
摘要: 造成原因: 之前docker容器关闭时没有 解决方案: 删除原有运行时产生的文件,再重新运行所有容器 rm -rf /run/runc/* #启动所有容器 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) 以下是补充的dock 阅读全文
posted @ 2022-07-26 11:47 蓝色的天_90 阅读(1046) 评论(0) 推荐(0) 编辑

2022年6月27日

摘要: 1、使用命令 python3 -m site --user-site /Users/nxy/Library/Python/3.9/lib/python/site-packages 2、安装插件 pip3 install pytz Defaulting to user installation bec 阅读全文
posted @ 2022-06-27 11:54 蓝色的天_90 阅读(5926) 评论(1) 推荐(0) 编辑

2022年6月12日

摘要: 如果想学习Python,第一步就得学会如何安装,今天就来说说在如何Mac上安装和卸载Python最新版,常用的基本有两种方式: 最简单的方式-使用brew安装 执行安装命令 brew install python3 安装完执行 python3 --version 提示文件不存在,再细看发现是原来的p 阅读全文
posted @ 2022-06-12 17:34 蓝色的天_90 阅读(598) 评论(0) 推荐(0) 编辑

2022年6月6日

摘要: 一、Jmeter监控Linux需要三个文件 JMeterPlugins-Extras.jar (包:JMeterPlugins-Extras-1.4.0.zip) JMeterPlugins-Standard.jar (包:JMeterPlugins-Standard-1.4.0.zip) Serv 阅读全文
posted @ 2022-06-06 11:22 蓝色的天_90 阅读(396) 评论(0) 推荐(0) 编辑

2022年6月1日

摘要: 1、解决 查看结果数 里 response 中文乱码 1). jmeter bin目录下找到 并打开 jmeter.properties 文件,做如下修改 2).重启jmeter 2、解决 http request 输入参数值为中文时乱码1). jmeter bin目录下找到 并打开 jmeter. 阅读全文
posted @ 2022-06-01 15:57 蓝色的天_90 阅读(340) 评论(0) 推荐(0) 编辑

2022年5月27日

摘要: 使用pip安装报错 Defaulting to user installation because normal site-packages is not writeable WARNING: Retrying (Retry(total=4, connect=None, read=None, red 阅读全文
posted @ 2022-05-27 11:53 蓝色的天_90 阅读(295) 评论(0) 推荐(0) 编辑
 
摘要: 场景一:jmeter作为一个常用的性能测试工具,下面看看如何安装配置吧,需要提前安装好jdk 1、安装jmeter 下载最新版本:https://jmeter.apache.org/download_jmeter.cgi 下载指定版本:http://archive.apache.org/dist/j 阅读全文
posted @ 2022-05-27 09:43 蓝色的天_90 阅读(1641) 评论(0) 推荐(0) 编辑

2022年4月28日

摘要: 所有docker swarm/service命令都不能执行,返回如下错误: docker swarm: Error response from daemon: rpc error: code = 4 desc = context deadline exceeded包括 $ docker node l 阅读全文
posted @ 2022-04-28 16:38 蓝色的天_90 阅读(1264) 评论(0) 推荐(0) 编辑

2022年3月18日

摘要: 在平时工作中经常会遇到两个list 比较内容的,这里介绍一下list 内容比较忽略顺序 list_a=['6f227197-1450-4489-9528-7fe83e6af5e7', '845cd9f2-c7db-43fc-a0a2-e594ac484d47', '87a50286-3ccc-455 阅读全文
posted @ 2022-03-18 15:39 蓝色的天_90 阅读(1216) 评论(0) 推荐(0) 编辑

2022年3月9日

摘要: 首先我们要看一手资料,selenium官网 ,我这里主要介绍一下从3到4 有哪些变化 1、 Selenium 4 移除了对遗留协议的支持, 并在底层实现上默认使用 W3C WebDriver 标准.对于大多数情况, 这种实现不会影响终端用户.主要的例外是 Capabilities 和 Actions 阅读全文
posted @ 2022-03-09 10:44 蓝色的天_90 阅读(1858) 评论(0) 推荐(2) 编辑

2022年3月7日

摘要: 官方地址 https://github.com/SeleniumHQ/docker-selenium 推荐命令 $ docker network create grid #创建一个网络 #启动hub docker run -d -p 4442-4444:4442-4444 --net grid -e 阅读全文
posted @ 2022-03-07 16:22 蓝色的天_90 阅读(162) 评论(0) 推荐(0) 编辑

2022年2月28日

摘要: fdisk -l pvscan 出现这个界面说明集群创建成功。 .点击 加入信息,这里的加入信息就是加入集群的凭证。 ssss 但是出现 解决办法:http://www.liujason.com/article/565.html 执行以下命令 systemctl restart corosync s 阅读全文
posted @ 2022-02-28 16:46 蓝色的天_90 阅读(100) 评论(0) 推荐(0) 编辑

2022年1月4日

摘要: 右侧补齐 RPAD(s1,len,s2)函数将字符串s2填充到s1的结尾处,使字符串的长度达到len,然后返回字符串s1。如果字符串s1的长度大于len,则返回值被缩短至len字符长度 -- 右侧补齐 8位 update fileutil.t_base_info set stuno = rpad(i 阅读全文
posted @ 2022-01-04 11:09 蓝色的天_90 阅读(221) 评论(0) 推荐(0) 编辑

2021年12月28日

摘要: str 转list str转list有两种方法,一种是list()函数,一种是split()方法 ,list()会把字符串的每一个字符分开,而split只是根据条件切分字符串成为列表. >>> str1="你好 hello world" >>> list(str1) ['你', '好', ' ', 阅读全文
posted @ 2021-12-28 17:24 蓝色的天_90 阅读(7426) 评论(0) 推荐(0) 编辑

2021年12月22日

摘要: #是因为集群时间不同步[root@kycx124 ~]# docker swarm join --token SWMTKN-1-10s4 10.10.185.111:2377 Error response from daemon: error while validating Root CA Cer 阅读全文
posted @ 2021-12-22 09:57 蓝色的天_90 阅读(537) 评论(0) 推荐(0) 编辑
 
点击右上角即可分享
微信分享提示