Jolokia

从Unauthorized 401错误学习Spring Boot的Actuator

我的梦境 提交于 2021-02-17 02:41:09
之前用Spring Boot都是别人搭好的框架,然后自己在里面写就行了。对原理、细节上都怎么涉及,毕竟需求都做不完。但是昨天一个访问RESTful接口的401问题搞了我2个小时。网上找的很多用: 1 managements.security.enabled= false 并且添加一个actxxx包的方法对我也不管用,因为项目里面已经配置了这个。但是我还是遇到了401的这个问题。不死心继续搜,然后加入了这个配置就好了: 1 security.ignored= /* * 解决这个问题居然花了我两个小时,还是到处去找,不懂Spring Boot框架的原理,比如安全方面的,除了问题两眼一抹黑。 目标:弄清Spring Boot整体框架和框架中每个小块的基本知识。 Features Create stand-alone Spring applications Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) Provide opinionated 'starter' dependencies to simplify your build configuration Automatically configure Spring and 3rd party libraries whenever

Spring Boot Admin最佳实践

泪湿孤枕 提交于 2021-01-18 06:33:48
本文不进行Spring Boot Admin入门知识点说明 在 Spring Boot Actuator 中提供很多像 health 、 metrics 等实时监控接口,可以方便我们随时跟踪服务的性能指标。 Spring Boot 默认是开放这些接口提供调用的,那么就问题来了,如果这些接口公开在外网中,很容易被不法分子所利用,这肯定不是我们想要的结果。在这里我们提供一种比较好的解决方案。 被监控的服务配置 为被保护的http请求添加请求前缀 1 2 3 4 5 6 management: context-path: /example-context eureka: instance: status-page-url-path: ${management.context-path}/info health-check-url-path: ${management.context-path}/health 添加请求前缀 Spring Boot Admin 在启动的时候会去 eureka 拉去服务信息,其中 health 与 info 需要特殊处理,这两者的地址是根据 status-page-url-path 和 health-check-url-path 的值。 zuul 网关配置 zuul 保护内部服务http接口 1 2 zuul: ignoredPatterns: /*

SpringBoot微服务的监控与运维

自闭症网瘾萝莉.ら 提交于 2021-01-06 14:33:29
与大部分应用和系统一样, SpringBoot 微服务的开发、发布与部署只占其生命周期的一小部分,应用和系统运维才是重中之重。而运维过程中,监控工作更是占据重要位置。 运维的目的之一是为了保证系统的平稳运行,进而保障公司业务能持续对外服务,为了达到这一目的,我们需要对系统的状态进行持续地观测,以期望一有风吹草动就能发现并作出应对,监控作为一种手段,就是以此为生。 我们会从以下多个层面对 Spring Boot 微服务进行监控: 硬件层面 网络层面 系统层面 SpringBoot 微服务的应用层面 服务访问层面 我们会从所有这些层面采集相应的状态数据,然后汇总,存储,并分析,一旦某项指标超出规定的阈值,则报警,在接收到报警通知之后,我们需要做出应对以改变现在系统状态不健康的局面,这一般通过预置的调控开关来调整应用状态,要么重启或者服务降级,也就是执行监控的“控”,整个过程如图 1 所示。 硬件、网络以及系统层面的监控,现有的一些监控系统和方案已经可以很好地提供支持,比如开源的 Zabbix 系统或者以报警为强项的 Nagios 系统。 本节不对这些层面的监控做过多介绍,我们将更多对 SpringBoot 微服务应用层面的监控进行实践方案的探索。SpringBoot 微服务的内部状态,通过多种方式或者渠道可以知道。 打印的应用日志是一种 SpringBoot 微服务运行状态的反映形式。

Spring Boot : 微服务应用监控 Spring Boot Actuator 详解

China☆狼群 提交于 2020-07-27 10:59:56
引言 在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就显得尤为重要。 万幸的是 Spring Boot 为我们提供了监控模块 Spring Boot Actuator ,本篇文章将和大家一起探讨一些 Spring Boot Actuator 一些常见用法方便我们在日常的使用中对我们的微服务进行监控治理。 Spring Boot Actuator 帮我们实现了对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。 Actuator 的使用 2.1 工程依赖 使用 Spring Boot Actuator 需要加入如下依赖: org.springframework.boot spring-boot-starter-actuator COPY 注意: 因 Spring Boot Actuator 会暴露我们服务的详细信息,为了保障安全性,建议添加安全控制的相关依赖 spring-boot-starter-security ,这样,在访问应用监控端点时,都需要输入验证信息。所需依赖如下: org.springframework.boot spring-boot-starter-security COPY 2.2

通过JMX监控Spring Boot应用

女生的网名这么多〃 提交于 2020-04-20 00:16:17
在 Spring Boot应用的健康监控 一文中,我们通过Spring Boot Actuator对外暴露应用的监控信息,除了使用HTTP获取JSON格式 的数据之外,还可以通过JMX监控应用,Spring Boot也提供了对JMX监控的支持。JMX监控对外暴露的信息相同,不过是使用MBeans容器将应用数据封装管理。 接下来我们看下如何利用JMX获取应用状态信息,以及如何使用Jolokia JMX库对外暴露MBeans的HTTP访问URL。 Get Ready 在BookPub应用的pom文件中添加jolokia-core依赖 <!-- JMX monitor --> < dependency > < groupId > org.jolokia </ groupId > < artifactId > jolokia-core </ artifactId > </ dependency > How Do 启动BookPub应用,然后在命令行中执行 jconsole 命令启动“Java管理和监视控制台”,然后选择 org.springframework.boot 节点下的 Endpoint ,可以看到如下信息 Java管理和监视控制台 在 Tomcat 节点下选择 ThreadPool ,然后在选择 http-nio-8080 节点,在这个节点下选择maxThreads属性

【Spring Boot】29.监控管理

∥☆過路亽.° 提交于 2020-02-29 09:23:16
简介 监控是我们开发服务网站无法绕开的话题。springboot也为我们带来了关于监控的解决方案。 通过引入spring-boot-starter-actuator,可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计、健康及指标信息等。 引入步骤也很简单。 引入spring-boot-starter-actuator 通过http方式访问监控端点 可进行shutdown(POST 提交,此端点默认关闭) 官方参考文档 快速体验 搭建基本环境 创建项目,选择的模块有 web,core-DevTools,Ops-Actuator. 查阅官方文档我们可以知道,web应用和JMX不一样。默认情况下除了health,其他的可视化接口都是关闭的,因此我们需要配置开启这些终端。 management: endpoints: web: exposure: include: "*" 启动项目,我们就可以通过 http://localhost:8080/actuator/终端名称 等方式访问自己想知道的具体终端的信息了,例如目标设置为beans获取我们容器中所有的bean信息。以下是对照表 端点名 描述 auditevents Exposes audit events information for the

Unable to pull JMX data using jolokia from Kafka

两盒软妹~` 提交于 2020-01-05 04:13:06
问题 I have installed Jolokia in centos 7 machine and trying to pull Kafka metrics using Jolokia agent and integrate with Icinga monitoring tool using Nagios plugin check_jmx4perl. Below are the configuration steps I have followed Step 1: Downloaded jolokia-jvm-1.3.4-agent.jar Step 2: Copied to /home/usr/ Step 3: Provided permissions by issuing command chmod a+x /home/usr/jolokia-jvm-1.3.4.jar Step 4: Added to class path by issuing command export KAFKA_OPTS="$KAFKA_OPTS -javaagent:/home/usr

Is it possible to retrieve more than 400 messages from ActiveMQ queue via Jolokia API?

倾然丶 夕夏残阳落幕 提交于 2019-12-24 19:20:02
问题 I have an error queue in ActiveMQ, which is populated by Apache Camel's onException error handler. There could be thousands of messages in this queue. Instead of using the ActiveMQ web console, I am building a custom web admin to integrate several other statistics from other components as well. Thus, I wanted to include the statistics from ActiveMQ as well. ActiveMQ version: 5.14.3 I have looked at Jolokia JMX API, and its operations. For instance, I have the following payload to the broker's

Credentials for ActiveMQ/Jolokia/HawtIO through Java

放肆的年华 提交于 2019-12-13 06:14:16
问题 I know the default password for 5.9.0's HawtIO/Jolokia is set in the \conf\ folder and is admin/admin system/manager etc However, none of those password are working when trying to execute the restful commands through Java: CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(null, -80), new UsernamePasswordCredentials("admin", "admin")); CloseableHttpClient httpclient0 = HttpClients.custom().setDefaultCredentialsProvider(credsProvider)

ActiveMQ Jolokia API How can I get the full Message Body

自古美人都是妖i 提交于 2019-12-12 15:10:00
问题 I want to write my own ActiveMQ Monitor. I can get Queues and Messages from a Queue. But the Message Body (content) is shorted. How can I get the full Message Body? This I have tested: Get: Always errors http://localhost:8161/api/jolokia/exec/org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=errors/browseMessages(java.lang.String)/JMSMessageID%3D%27ID%3AW530-62766-1419849619826-0%3A15%3A1%3A1%3A1%27 http://localhost:8161/api/jolokia/exec/org.apache