Coder Social home page Coder Social logo

hawtio / hawtio Goto Github PK

View Code? Open in Web Editor NEW
1.4K 116.0 534.0 102.94 MB

Hawtio web console helps you manage your JVM stuff and stay cool!

Home Page: https://hawt.io/

License: Apache License 2.0

Java 95.06% JavaScript 1.56% HTML 0.18% TypeScript 0.22% Shell 0.71% Gherkin 2.05% CSS 0.06% Dockerfile 0.10% XSLT 0.06%
hawtio java console web-app spring-boot

hawtio's Introduction

hawtio

Test E2E Test

Introduction

Hawtio is a lightweight and modular Web console for managing Java applications.

Hawtio screenshot

Hawtio has plugins such as: Apache Camel and JMX (Logs, Spring Boot, Quartz, and more will be provided soon). You can dynamically extend Hawtio with your own plugins or automatically discover plugins inside the JVM.

The only server side dependency (other than the static HTML/CSS/JS/images) is the excellent Jolokia library which has small footprint (around 300KB) and is available as a JVM agent, or comes embedded as a servlet inside the hawtio-default.war.

Get Started

For more details and other containers, see Get Started Guide.

Running from CLI (JBang)

If you haven't installed JBang yet, first install it: https://www.jbang.dev/download/

You can start up Hawtio on your machine using the following jbang command.

jbang app install hawtio@hawtio/hawtio
hawtio --help

Running a Spring Boot app

Note

Hawtio v4 supports Spring Boot 3.x.

You can attach the Hawtio console to your Spring Boot app with the following steps.

  1. Add io.hawt:hawtio-springboot to the dependencies in pom.xml:

    <dependency>
      <groupId>io.hawt</groupId>
      <artifactId>hawtio-springboot</artifactId>
      <version>4.0.0</version>
    </dependency>
  2. Enable the Hawtio and Jolokia endpoints by adding the following line in application.properties:

    management.endpoints.web.exposure.include=hawtio,jolokia
    spring.jmx.enabled=true

Now you should be able to run Hawtio in your Spring Boot app as follows:

mvn spring-boot:run

Opening http://localhost:8080/actuator/hawtio should show the Hawtio console.

See Spring Boot example for a working example app.

Running a Quarkus app

Note

Hawtio v4 supports Quarkus 3.x.

You can attach the Hawtio console to your Quarkus app by adding io.hawt:hawtio-quarkus to the dependencies in pom.xml:

<dependency>
  <groupId>io.hawt</groupId>
  <artifactId>hawtio-quarkus</artifactId>
  <version>4.0.0</version>
</dependency>

Now you should be able to run Hawtio with your Quarkus app in development mode as follows:

mvn compile quarkus:dev

Opening http://localhost:8080/hawtio should show the Hawtio console.

See Quarkus example for a working example app.

Contributing

We love contributions! Here are the resources on how to get you involved in Hawtio development.

Check out the GitHub issues for finding issues to work on.

License

Hawtio is licensed under Apache License, Version 2.0.

hawtio's People

Contributors

abkieling avatar alanfoster avatar astefanutti avatar atooni avatar bosschaert avatar bvahdat avatar chirino avatar cmoulliard avatar davsclaus avatar dejanb avatar dependabot[bot] avatar gashcrumb avatar gnodet avatar grgrzybek avatar hekonsek avatar iocanel avatar jamesnetherton avatar janstey avatar jfbenckhuijsen avatar jimmidyson avatar jsolovjo avatar jstrachan avatar kevinearls avatar mmelko avatar mmuzikar avatar mposolda avatar oscerd avatar paoloantinori avatar skarsaune avatar tadayosi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hawtio's Issues

visualise master/slave and networks of brokers

selecting a broker Diagram it might be nice for the diagram to show any master/slave or network of brokers plus (optionally) client connections in a diagram.

I wonder if an ActiveMQ MBean inside a broker could generate the information necessary to draw the diagram from a single method call; since it typically knows the network, master/slave and connections?

Infinite Loop between routes Chart and CharsEdit

Repeat Steps

  • In Chrome
  • At the top click View -> Charts
  • Then click the following on the tree nodes
    • com.sun.management
      • HotSpotDiagnostic

The browser will now go into a crazy loop of switching between the Chart and ChartEdit routes

The lines of code that are causing this are presumably within charts.ts, as you can see the $location object being called with both Chart and ChartEdit in the two Controllers

allow editing of profiles

we could let folks directly edit things (e.g. making abstract, locking, changing parents, requirements etc etc) then have an Save/Apply and Cancel/Reset buttons which become enabled when you make changes. Having a way of applying all updates in a single operation would help things from a Fabric perspsective.

Global Configuration service

It would be nice to have a hawtio service for registering configuration. This service would save/load state, and would abstract the need for converting objects to stringified JSON and parsing it back (which we'd have to do if we interacted directly with the localStorage service)

I imagine plugins which add themselves to hawtio will make use of this too. We could also make use of it in the preferences page. IE, plugins can expose what settings are configurable to the user

Hopefully I'll get time to work on this :)

Improve Type Information

It would be nice to add some more static typing information to the codebase to help beginners step through code :)

Added package.json to hawtio-web

Hi,

Just letting you know I added a package.json to the hawtio/hawtio-web directory, so you'll probably want to run npm install from that directory - I've updated the building instructions for this too

And just a quick note, I left some of the following fields blank to be filled in - as I don't know how you guys are wanting to run your project :)

    "keywords": [
    ]
    "author": "...",
    "contributors": [
    ]
    "licenses": [
        {
            "type": "Apache?",
            "url": "..."
        }
    ]

You could always just delete the fields too though, as they're optional :)

Cheers

Camel message tracing - Highlighting choice + predicate

When running the sample with the Camel application. And you have message tracing enabled.
Then when using cursor up/down to highlight in the camel route where the message is. Then when you highlight the choice, then it also highlight the 1st predicate. This is wrong as it should only highlight the choice. (eg only 1 box should be blue).

create a plugin mechanism so folks can add new features easily

folks on different OSS projects might want to plugin different plugins for working with various server side components and middleware. Right now we've kinda hard coded activemq, camel, jmx & osgi and so forth in there which is fine and all, but ideally having a way for folks to create & release their own plugins independently of hawt.io would be nice.

Though for common Java stuff for example, it'd be good to get most components in the core hawt.io project too though; so its tested and released together.

I wonder if Bower might be a good way to do the plugins?
http://twitter.github.com/bower/

then folks can compose the JS/HTML/CSS as a bower bundle?

Windows Building Support

I am following the build steps from here on windows

I am able to successfully run

cd hawtio-web
mvn test-compile exec:java

But running the maven profile 'watch' doesn't work

mvn -Pwatch

It results in the following error

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.265s
[INFO] Finished at: Thu Dec 27 17:33:38 GMT 2012
[INFO] Final Memory: 13M/146M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (typescript-compile) on project hawtio-web: Command execution failed. Cannot run program "grunt" (in directory "C:\Users\foo\Desktop\hawtio\hawtio-web"): CreateProcess error=2, The system cannot find the file specified -> [Help 1]

Tests don't run when deployed via FuseMC

Hey all,

I was just trying to run the testacular tests after deploying hawtio to fabric using Fuse MC.
When using fabric:create -p fmc I was asked to put in a user+password, but because of this when I try to testacular tests chrome asks for the user/pass causing the tests to fail

Screenshot of Testacular asking for user/pass

asking for password

Screenshot of test subsequently failing

tests failing

I haven't got any Fuse MC/Fabric experience so I'm not sure of the best way to fix this :(
Help is much appreciated!

Cheers

provide a command line shell to karaf or server

there are quite a few javascript based command shells / terminal emulators around:

I wonder how hard it would be to reuse the karaf/gogo shell back end, but use the JavaScript shell on the client side (using maybe an MBean over Jolokia)?

I guess whatever we go with, we'll need an MBean that talks to the GoGo shell inside (say) Karaf to do completion and execution; unless we go for something RESTy or websockety (for async output of commands).

This looks awesome too: http://acko.net/blog/on-termkit/
https://github.com/unconed/TermKit

wonder if that could be reused (or at least the concepts) with possibly different back end executors of the shell commands (bash v karaf v JBoss AS etc)

Add screenshots to project home page for eye candy

I think we should add a screenshot to the front page.

And have a tab named Screenshots and have more screenshots.
This may catch peoples attention quicker if they can see a good looking screenshot as well.

Add configurable preferences for CodeMirror

There's a TODO in the code to allow for some of CodeMirror's core features to be configurable. Just creating a new issue for this to give some visibility that i'm toying around with this atm :)

Cheers

Need a registery for plugins that handle JMX domains

Ideally we'd want a service that plugins can register with to state that they handle a particular JMX domain so that domain can be hidden from the JMX tree. Also we need to ensure that when the app is loaded we show plugins that are applicable to what functionality is installed in the JVM.

Community Information Issues

Hi,

Just letting you know the Community Information page has a deadlink under the 'Issue Tracker' section - when you click the start issues link it links to a tinyurl page (http://tinyurl.com/hawtio-starter-issues) that doesn't work

Also, the Issue Tracker section mentions that you should use the Github Issues page, but beneath it mentions that you need to raise issues on Jira? But I can't seem to find a link to the Jira, just the one for registering with JBoss. I checked the JBoss website, and I can't find hawtio here or here either. Does anyone have any idea where it is please?

Cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.