一、拓扑图

二、收集数据

2.1前期准备

创建共享目录,即为了各节点都创建该目录,有两个文件,做数据共享
/home/target/prom-jvm-demo
1、下载文件
jmx_prometheus_javaagent-0.3.1.jar
2、创建文件
[root@manager prom-jvm-demo]# cat simple-config.yml
---
rules:
- pattern: ".*"

2.2启动容器

注:6060作为java监控数据暴露端口,每一个服务单独占用一个端口,即启动java服务便伴随着启动java监控服务

2.2.1 docker 启动(测试)

docker run -d \
--name tomcat-1 \
-v /home/target/prom-jvm-demo:/jmx-exporter \
-e CATALINA_OPTS="-Xms64m -Xmx128m -javaagent:/jmx-exporter/jmx_prometheus_javaagent-0.3.1.jar=6060:/jmx-exporter/simple-config.yml" \
-p 6060:6060 \
-p 8012:8080 \
10.0.0.194:4999/tomcat:8.5.61

2.2.2 docker 启动

docker service create --name bj_ywjy_yxsmgr2 \
--publish 6061:6060 \
--publish 8081:8080 \
--mount type=bind,src=/home/target/bj_ywjy_yxsmgr,dst=/usr/local/tomcat/webapps \
--mount type=bind,src=/home/target/bj_ywjy_yxsmgr/logs,dst=/usr/local/tomcat/logs \
--mount type=bind,src=/home/target/prom-jvm-demo,dst=/jmx-exporter \
--env CATALINA_OPTS="-Xms64m -Xmx128m -javaagent:/jmx-exporter/jmx_prometheus_javaagent-0.3.1.jar=6060:/jmx-exporter/simple-config.yml" \
--network springcloud-overlay \
--log-driver=gelf --log-opt gelf-address=udp://10.0.0.184:12201 \
--log-opt tag=bj_ywjy_yxsmgr2 10.0.0.194:4999/tomcat:8.5.61

2.2.3 访问获取到的数据

http://10.0.0.196:6060/metrics

三、prometheus配置

3.1 将获取到的java数据关联到prometheus中

[root@autodeploy prometheus-2.25.2]# cat prometheus.yml
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: ['10.0.0.189:9090'] - job_name: 'Container monitoring'
static_configs:
- targets:
- "10.0.0.194:8888"
- "10.0.0.195:8888"
- "10.0.0.196:8888" - job_name: 'bj_ywjy_yxsmgr'
static_configs:
- targets:
- "10.0.0.194:6060"
- job_name: 'bj_ywjy_yxsmgr2'
static_configs:
- targets:
- "10.0.0.194:6061"

配置jvm监控规则可根据 cadvisor+prometheus+alertmanager+grafana完成容器化监控告警(一)配置参数调整改进,这里就不体现了!

3.2重启prometheus

[root@autodeploy prometheus-2.25.2]# cat start.sh
#!/bin/bash
pid=`ps -ef|grep prometheus|grep -v grep|awk '{print $2}'`
kill -9 $pid
nohup ./prometheus --config.file=prometheus.yml &

3.3访问测试

http://10.0.0.189:9090/

四、alertmanager配置告警

4.1告警模板

[root@autodeploy rules]# cat weixin.tmpl
{{ define "wechat.default.message" }}
{{ range $i, $alert :=.Alerts }}
========监控报警====
告警状态: {{ .Status }}
告警级别: {{ $alert.Labels.severity }}
告警类型: {{ $alert.Labels.alertname }}
告警应用: {{ $alert.Labels.name }} {{ $alert.Labels.job }}
告警主机: {{ $alert.Labels.instance }}
当前最新值: {{ $alert.Annotations.summary }}
告警详情: {{ $alert.Annotations.description }}
告警时间: {{ (.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}
========end=========
{{ end }}
{{ end }}

4.2重启alertmanager

[root@autodeploy alertmanager-0.21.0]# cat start.sh
#!/bin/bash
pid=`ps -ef|grep aler|grep -v grep|awk '{print $2}'`
kill -9 $pid
nohup ./alertmanager --config.file=alertmanager.yml --storage.path=data --log.level=debug &

五、微信告警展示

jmx_prometheus_javaagent+prometheus+alertmanager+grafana完成容器化java监控告警(二)的更多相关文章

  1. cadvisor+prometheus+alertmanager+grafana完成容器化监控告警(一)

    一.概况 1.拓扑图 2.名词解释 Grafana 可视化监控容器运行情况 Prometheus: 开源系统监视和警报工具包 Alertmanager 一个独立的组件,负责接收并处理来自Prometh ...

  2. 使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化

    1.简介 使用微创联合M5S空气检测仪.树莓派3b+.prometheus.grafana实现空气质量持续监控告警WEB可视化 grafana dashboard效果: 2.背景 2.1 需求: 1. ...

  3. Prometheus Alertmanager Grafana 监控警报

    Prometheus Alertmanager Grafana 监控警报 #node-exporter, Linux系统信息采集组件 #prometheus , 抓取.储存监控数据,供查询指标 #al ...

  4. Longhorn,企业级云原生容器分布式存储 - 监控(Prometheus+AlertManager+Grafana)

    内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...

  5. Prometheus+Alertmanager+Grafana监控组件容器部署

    直接上部署配置文件 docker-compose.yml version: '3' networks: monitor: driver: bridge services: prometheus: im ...

  6. 【集群监控】Docker上部署Prometheus+Alertmanager+Grafana实现集群监控

    Docker部署 下载 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.re ...

  7. Java 服务 Docker 容器化最佳实践

    转载自:https://mp.weixin.qq.com/s/d2PFISYUy6X6ZAOGu0-Kig 1. 概述 当我们在容器中运行 Java 应用程序时,可能希望对其进行调整参数以充分利用资源 ...

  8. Kubernetes使用prometheus+grafana做一个简单的监控方案

    前言 本文介绍在k8s集群中使用node-exporter.prometheus.grafana对集群进行监控.其实现原理有点类似ELK.EFK组合.node-exporter组件负责收集节点上的me ...

  9. .NET Core容器化开发系列(零)——计划

    .NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时 ...

随机推荐

  1. Maven解决依赖冲突

    依赖冲突 若项目中多个Jar同时引用了相同的Jar时,会产生依赖冲突,但Maven采用了两种避免冲突的策略,因此在Maven中是不存在依赖冲突的. 短路优先 本项目-->A.jar-->B ...

  2. 从eclipse转idea不适记录【持续更新】

    使用eclipse和idea时,快捷键对比 从一些最扎心的开始: 关于print一类的打印输出:System.out.println()补全 idea中可以sout.souf.serr:分别对应out ...

  3. Hibernate之抓取策略

    时间:2017-1-23 19:08 --区分延迟和立即检索1.立即检索    当执行某行代码时,会马上发出SQL语句进行查询.    例如:get()2.延迟检索    当执行某行代码时,不会马上发 ...

  4. ProjectEuler 007题

    题目:By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is ...

  5. promise小案例

    页面中有个板块,需要多张图片加载完之后才能进行显示 //页面中有个板块 需要多张图片加载完之后才能进行显示 const loadImg = (src) => { return new Promi ...

  6. @RequestParam注解的详细介绍

    @RequestParam (org.springframework.web.bind.annotation.RequestParam)用于将指定的请求参数赋值给方法中的形参. 有三个属性: (1)v ...

  7. HTTP系列之:HTTP缓存

    目录 简介 HTTP中的缓存种类 HTTP中缓存响应的状态 HTTP中的缓存控制 缓存刷新 revving 缓存校验 Vary响应 总结 简介 为了提高网站的访问速度和效率,我们需要设计各种各样的缓存 ...

  8. NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板

    这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...

  9. Lucene入门及实际项目应用场景

    导入maven依赖 <dependency> <groupId>org.apache.lucene</groupId> <artifactId>luce ...

  10. MySQL——MySQL用户管理

    1.MySQL用户定义:用户名+主机域/ip/.. 2.用户作用: 1.登录 2.管理数据库及数据 3.权限: 读和写操作 4.角色: 数据库定义好的一组权限的定义 5.权限范围: 全库:*.* 单库 ...