Prometheus监控mysql nginx tomcat 黑盒监控
部署consul_exporter,用与服务发现
https://github.com/prometheus/consul_exporter/releases/download/v0.9.0/consul_exporter-0.9.0.linux-amd64.tar.gz
注册
oot@ubuntu20:~# cat consul_export.json
root@ubuntu20:~# cat consul_export.json
{"services": [{"id": "consul_exporter","name": "192.168.1.50_cousul_expo","address": "192.168.1.50","port": 9107,"tags": ["consul_exporter"],"checks": [{"http": "http://192.168.1.50:9107/metrics","interval": "5s"}]}]
consul services register consul_export.json
可以访问consul查看,

Prometheus添加配置
- job_name: "consul_exporter"metrics_path: '/metrics'scheme: "http"consul_sd_configs:- server: "192.168.1.50:8500"tags:- "consul_exporter"refresh_interval: 1m
重新加载Prometheus
root@consumer:/apps/prometheus# curl -XPOST localhost:9090/-/reload

export 获取数据转换为Prometheus数据
pushgetway
查询持久化
grafanf绘图
altermanager 发送告警系统
选择
应用程序不兼容Prometheus
mysqld export
nginx-export
https://github.com/nginxinc/nginx-prometheus-exporter
添加nginx配置,添加这个查看指标
location /stub_status {# Turn on nginx statsstub_status on;access_log off;# Only allow access from certain IP addressesallow all;#deny all;}
运行采集指标export
root@ubuntu20:/apps# ./nginx-prometheus-exporter -nginx.scrape-uri=http://192.168.1.50/stub_status
root@ubuntu20:/etc/nginx# netstat -antp |grep 9113
tcp6 0 0 :::9113 ::😗 LISTEN 168719/./nginx-prom
root@ubuntu20:~# cat nginx_export.json
{"services": [{"id": "nginx_exporter","name": "192.168.1.50_nginx","address": "192.168.1.50","port": 9113,"tags": ["nginx_exporter"],"checks": [{"http": "http://192.168.1.50:9113/metrics","interval": "5s"}]}]
}consul services register nginx_export.json
配置Prometheus添加
- job_name: "nginx_exporter"metrics_path: '/metrics'scheme: "http"consul_sd_configs:- server: "192.168.1.50:8500"tags:- "nginx_exporter"refresh_interval: 1m
curl -XPOST localhost:9090/-/reload

监控tomcat
tomcat
mcat自身并不能提供监控指标数据,需要借助第三方exporter实现:https://github.com/nlighten/tomcat_exporter
JVM的export或者tomcat export
构建tomcat镜像,并暴露8082端口
cat docker-compose.yml
version: '3.6'volumes:tomcat_webapps: {}networks:monitoring:driver: bridgeipam:config:- subnet: 172.31.130.0/24services:tomcat:#image: tomcat:jdk11build:context: tomcatdockerfile: Dockerfile hostname: tomcat.magedu.comexpose:- 8080ports:- 8082:8080volumes:- tomcat_webapps:/usr/local/tomcat/webapps- ./tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xmlnetworks:- monitoringenvironment:TZ: Asia/Shanghai
root@jenkins:~/learning-prometheus/08-prometheus-components-compose/tomcat-and-metrics# docker-compose up
注册到consul
root@ubuntu20:~# cat tomcat2.json
{"services": [{"id": "tomcat","name": "192.168.1.51_tomcat","address": "192.168.1.51","port": 8082,"tags": ["tomcat_exporter"],"checks": [{"http": "http://192.168.1.51:8082/metrics","interval": "5s"}]}]
}consul services register tomcat2.json
添加Prometheus配置并重新加载
- job_name: "tomcat_exporter"metrics_path: '/metrics'scheme: "http"consul_sd_configs:- server: "192.168.1.50:8500"tags:- "tomcat_exporter"refresh_interval: 1m
curl -XPOST localhost:9090/-/reload

黑盒监控
https://github.com/prometheus/blackbox_exporter/releases/download/v0.24.0/blackbox_exporter-0.24.0.linux-amd64.tar.gz
通过容器运行
root@jenkins:~/learning-prometheus/08-prometheus-components-compose/blackbox-exporter# docker-compose up -d
Prometheus添加
- job_name: "tomcat_exporter"metrics_path: '/metrics'scheme: "http"consul_sd_configs:- server: "192.168.1.50:8500"tags:- "tomcat_exporter"refresh_interval: 1m- job_name: 'blackbox'metrics_path: /probeparams:module: [http_2xx]static_configs:- targets:- www.magedu.com- www.google.comrelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: "192.168.1.51:9115" # Blackbox exporter.- target_label: regionreplacement: "remote"

容器部署在9115端口页面显示失败
使用二进制部署参考https://blog.csdn.net/u011417723/article/details/120783567
正常

相关文章:
Prometheus监控mysql nginx tomcat 黑盒监控
部署consul_exporter,用与服务发现 https://github.com/prometheus/consul_exporter/releases/download/v0.9.0/consul_exporter-0.9.0.linux-amd64.tar.gz 注册 ootubuntu20:~# cat consul_export.json rootubuntu20:~# cat consul_export.json {"service…...
Altium Designer学习笔记12
把几个层理解下: layer名称功能说明信息Toplayer信号层铜箔层,电气连接的层Bottomlayer信号层铜箔层,电气连接的层Internal Planes内层连接地和电源上,一般情况下不布线,是由整片铜膜组成的Mechanical 1机械层电路板机…...
csrf跨站请求伪造详解
【1】csrf跨站请求伪造的解释及解决方法 CSRF(Cross-Site Request Forgery)跨站请求伪造是一种常见的网络攻击方式。攻击者通过诱导受害者访问恶意网站或点击恶意链接 将恶意请求发送到目标网站上利用受害者在目标网站中已登录的身份来执行某些操作从而…...
GitLab的个人仓库转移到团队仓库
文章目录 一、Gitlab权限二、转移2.1、编辑个人仓库2.2、Transfer project2.3、切换Namespace2.4、确认修改 一、Gitlab权限 Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner Guest:可以创建issue、发表评论,不能读写…...
Linux:Ubuntu实现远程登陆
1、查看sshd服务是否存在 Ubuntu默认是没有安装sshd服务的,所以,无法远程登陆。 检查22端口是否存在 netstat -anp 该命令执行后,查看不到22端口的进程。 如果netstat无法使用,我们需要安装一下netstat服务 sudo apt-get install…...
Unity中Shader的Standard材质解析(二)
文章目录 前言一、我们对 Standard 的 PBR 的 GI 进行解析1、我们先创建一个PBR的.cginc文件,用于整理用到的函数2、然后在Standard的Shader中引用该cginc文件 二、依次整理函数到该cginc文件中我们来看一下PBR中GI的镜面反射做了些什么 二、最终代码.cginc代码&…...
【Python 训练营】N_5 斐波那契数列
题目 输出斐波那契数列 分析 斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。 在数学上,费波那契数列是以递归的方法来定义ÿ…...
x-www-form-urlencoded的含义解释,getReader()和getParameter()的区别
1、x-www-form-urlencoded x-www-form-urlencoded是一种编码格式,它是一种常见的编码方式,用于在HTTP请求中 传输表单数据 。在这种编码方式下,表单数据被编码为URL格式,然后作为请求体(payload)发送。 需要…...
python每日一题——3最长连续序列
题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出…...
什么?Postman也能测WebSocket接口了?
01 WebSocket 简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接…...
requests库的学习(详细篇)
一、request库的安装 requests属于第三方库,Python不内置,因此需要我们手动安装。 pip3 install requests...
postgreSQL如何快速查询大表数据量
文章目录 场景方案结果 场景 我有一个非常大的表,估计几百万或者几千万。 我开始使用了 select count(*) from my_table_javapub 方式,查询非常慢。 如何解决??? 方案 如果你需要更快地获取表中的行数,…...
微信小程序内嵌h5页面,实现动态设置顶部标题的功能
一、需求描述 使用HBuilder X作为开发工具,vue作为开发语言,开发微信小程序。微信小程序页面内嵌h5页面,即<web-view></web-view>标签。通过设置不同url连接地址,设置不同的标题。 二、失败做法 页面A嵌入h5页面&a…...
手机IP地址会随位置变化吗
当今社会,手机已经成为人们生活中必不可少的工具之一。然而,许多人对于手机的IP地址是否会随位置的变化而改变感到困惑。在本文中,虎观代理小二二将揭开这个迷团,深入讨论手机IP地址的变化情况,并为您提供详细解答。 首…...
为什么考完软考中级还要考高级呢?
为什么考完软考中级还要考高级呢?软考高级含金量大吗? 根据《计算机技术与软件专业技术资格(水平)考试暂行规定》第十条: “通过考试并获得相应级别计算机专业技术资格(水平)证书的人员,表明其已具备从事…...
03.实现
实现 条款26:尽可能延后变量定义式的出现时间 条款27:尽量少做转型动作 条款28:避免返回handles指向对象内部成分 在C中,handles是指一个指向对象的指针或引用,用于访问该对象的成员函数或成员变量。 而条款28所说…...
可视化大屏时代的到来:智慧城市管理的新思路
随着科技的不断发展,智能芯片作为一种新型的电子元件,被广泛应用于各个领域,其中智慧芯片可视化大屏是一种重要的应用形式。 一、智慧芯片可视化大屏的优势 智慧芯片可视化大屏是一种将智能芯片与大屏幕显示技术相结合的产品,山海…...
Hibernate的三种状态
1.瞬时状态(Transient) 通过new创建对象后,对象并没有立刻持久化,他并未对数据库中的数据有任何的关联,此时java对象的状态为瞬时状态,Session对于瞬时状态的java对象是一无所知的,当对象不再被其他对象引用时…...
React 中 useContext 的用法与性能问题详解
文章目录 一、useContext 是什么?二、useContext 使用场景三、使用步骤1.使用 createContext 创建一个 Context2.使用 Provider 提供值3.使用 useContext 访问 Context完整示例 四、Provider 的 value 类型五、如何在子组件中修改 context 的数据?六、使…...
流程图是什么,用什么软件做?
在工作流程中,经常会遇到需要图形化呈现整个流程的情况。流程图就是一种一目了然的图形化表现方式,便于人们理解、沟通和管理整个流程。 1.Visio Visio是一款微软公司的图表软件,可以用于创建各种类型的流程图、组织结构图、网络图、平面图…...
Node-RED摄像头拍照避坑指南:解决node-red-ui-webcam的常见权限与格式问题
Node-RED摄像头拍照避坑指南:解决node-red-ui-webcam的常见权限与格式问题 当你第一次在Node-RED中尝试使用node-red-ui-webcam节点时,可能会遇到各种意想不到的问题。浏览器拒绝访问摄像头、图像格式不兼容、跨域限制……这些问题往往让开发者感到困惑。…...
Apex Legends压枪宏终极指南:告别后坐力,轻松实现精准射击
Apex Legends压枪宏终极指南:告别后坐力,轻松实现精准射击 【免费下载链接】Apex-NoRecoil-2021 Scripts to reduce recoil for Apex Legends. (auto weapon detection, support multiple resolutions) 项目地址: https://gitcode.com/gh_mirrors/ap/A…...
Bilibili视频转文字神器:3步实现高效智能的文字提取方案
Bilibili视频转文字神器:3步实现高效智能的文字提取方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text bili2text是一个专业的Bilibili视频转文字…...
从华为LTC到企业ERP:聊聊SAP实施中那些“端到端”大流程的设计心法与避坑指南
从华为LTC到企业ERP:SAP实施中的端到端流程设计实战 当企业数字化转型进入深水区,单纯的功能模块优化已无法满足业务需求。那些在SAP实施中真正创造价值的高手,往往都掌握着一个核心能力——用端到端流程的视角重构企业运营逻辑。这就像建筑师…...
大语言模型提示词优化:避免膨胀提升输出质量
1. 大语言模型提示词膨胀对输出质量的影响剖析在构建基于大语言模型(LLM)的应用系统时,我们常常陷入一个误区:认为给模型的提示词(prompt)越长、包含的信息越多,输出结果就会越精准。但实际工程实践中,我发现情况恰恰相反——过度…...
ATT7022校表寄存器配置保姆级指南:以STM32 HAL库SPI驱动为例,搞定0xB9FE等关键值
ATT7022校表寄存器深度配置实战:从0xB9FE到精准计量的STM32 HAL库实现 在智能电表、能源监控等嵌入式系统中,ATT7022系列计量芯片凭借其高精度和丰富功能成为工程师的热门选择。但许多开发者在使用STM32通过SPI配置校表寄存器时,常常遇到数据…...
如何区分网络延迟、抖动并针对性优化?
在住宅代理的实际应用中,网络连接的稳定性和响应速度直接影响业务效率。准确识别延迟与抖动的差异,是进行有效网络优化的前提。 网络延迟与抖动的核心区别 住宅代理场景中,网络延迟指数据包经代理节点往返目标服务器的平均耗时(单…...
终极指南:如何用Fiji实现科研级图像处理与自动化分析
终极指南:如何用Fiji实现科研级图像处理与自动化分析 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji(Fiji Is Just ImageJ)是一款…...
Windows多显示器DPI独立控制:绕过系统限制的底层API实践
Windows多显示器DPI独立控制:绕过系统限制的底层API实践 【免费下载链接】SetDPI 项目地址: https://gitcode.com/gh_mirrors/se/SetDPI 在Windows多显示器工作环境中,不同分辨率的显示器需要独立的DPI缩放设置,但系统界面却将这一功…...
6G时代AI驱动的无线接入网创新与NVIDIA技术实践
1. 6G时代AI驱动的无线接入网创新全景当全球5G部署进入第五个年头,通信产业的目光已投向2030年商用的6G系统。与历代移动通信技术不同,6G将首次实现AI技术与无线接入网(RAN)的深度融合。作为这一变革的核心推动者,NVIDIA通过三大技术支柱构建…...
