Monday, March 21, 2016

Managing and Monitoring Spring Boot Applications with ManageCat

In this post I will show how to manage and monitor Spring Boot applications with ManageCat cloud platform.

According to the Spring Boot web site, Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need.

Spring Boot platform include embedded Apache Tomcat server to launch the applications via simple "java -jar application.jar or mvn spring-boot:run" command.

Getting Started

Adding Dependencies to Spring Boot Project

In this post I assumed that the project is a maven based Java project. 
  • If you have not already registered to use the ManageCat SaaS Platform, you have to register from here https://saas.managecat.com/freetrial/
  • Download ManageCat Spring Boot JAR file from here
  • Currently ManageCat Spring Boot JAR is not listed in Maven central repository. Therefore, run the following command in your system to add it to your local repository,
    • mvn install:install-file -Dfile=managecat-spring-boot.jar -DgroupId=com.managecat -DartifactId=managecat-spring-boot -Dversion=1.0.1 -Dpackaging=jar
  • Add below content to your POM dependency section:





































  • Open your application main java class file which launches your application and update it to include Managecat Embedded Servlet Container Factory and ManageCat properties file. ManageCat properties file configures the ManageCat agent.
    • @ComponentScan
      @Configuration
      @EnableAutoConfiguration
      @EnableConfigurationProperties(value=ManageCatProperties.class)
      public class SampleWebUiApplication {

              @Bean
              public EmbeddedServletContainerFactory servletContainerFactory() {
                      return new ManageCatTomcatEmbeddedContainerFactory();
              }



              public static void main(String[] args) throws Exception {
                      SpringApplication springApplication = new SpringApplication(SampleWebUiApplication.class);
                      springApplication.addListeners(new ApplicationPidFileWriter(), new EmbeddedServerPortFileWriter());
                      springApplication.run(args);
              }
      }
  • Add managecat.properties file to your Spring Boot configuration directory (src/main/resources) with the following content
    • managecat.servername=default
      managecat.groupname=spring-boot
    • managecat.accountKey=Your managecat account key sent with email.
      managecat.hostname=Tomcat HOST, example: 192.168.1.156
      managecat.port=Tomcat PORT, example 80
      managecat.secure=false/true (if you use HTTPS true otherwise false)
      managecat.url=https://collector.managecat.com/
      managecat.warpath=/temp/console.war
      managecat.appbase=/Users/apps/temp
To access your Tomcat from ManageCat SaaS Cloud Platform, TOMCAT_HOST:TOMCAT_PORT must be accessible from internet. You may need to open the TOMCAT_PORT from your firewall.

Here is the explanation of these fields:

  • managecat.warpath : console.war file must be downloaded from ManageCat SaaS Platform main page.  Spring Boot application uses Apache Tomcat 8 embedded Tomcat server. Therefore, you need to download Tomcat 8 console.war file.
  • Copy the downloaded console.war file to managecat.warpath location.
  • Compile and product executable JAR file. (mvn spring-boot:run)
  • If everything is done, you can start your application, you will see a similar log content like:


Now, you can login into the ManageCat UI platform and see your registered server. Open https://saas.managecat.com with your registered username and password and click Managed Servers view.



You will see some Tomcat related monitoring metrics in servers table. You can also connect to your
 Spring Boot Tomcat server instance via the Connect IconImage title

It will open a new browser window to manage and monitor your Spring Boot application. Below screenshot shows the realtime Tomcat connector listening in 9092 port.


You can inspect lots of different aspects of your Spring Boot application.

Take a trial from FREE TRIAL

 Enjoy!

Tuesday, January 26, 2016

Manage and Monitor Apache Web Servers from Cloud

Cloud computing is currently everywhere and lots of companies are trying to move their applications runtime to cloud(public, private or hybrid)  infrastructure to become more agile regarding scalability, availability and security of their applications. Nevertheless, cloud platforms are lack of providing a cloud based operational SaaS platform to manage, monitor, control, provision and even troubleshoot these type of software infrastructures running in the cloud environment. Companies are struggling to manage and monitor their infrastructures using different types of tools. This is very time consuming and also they are not proactive to respond new customer  requests.

ManageCat is a cloud management and monitoring platform to manage, monitor, control and provision of the cloud based software infrastructures.

Currently in the SaaS market, lots of SaaS monitoring products exist but they only provides metric monitoring. None of them supports the Control(like start, stop, restart etc. of manageable resources) and Management parts (resource configuration remotely, provisioning of new resources). ManageCat is a very unique in this regard especially with SaaS based platform model.

Recently we have launced industry first management and monitoring cloud platform for Apache Web Servers. In 5 minutes, you can start to manage, monitor and control your Apache Web Servers.

Download Apache Agents

To download the Apache Agent, you have to register with ManageCat Platform and receive your account key. You can register via https://saas.managecat.com/freetrial/ .After you register, you are able to login into the ManageCat UI console via https://saas.managecat.com/with your registered username and password.

After you login successfully, you can download Linux/Windows Apache server agents from
ManageCat home page.

Image title

Configuration of Agent
You will unzip the agent into your local file system. Agent contains a small embeded Apache Tomcat server which communicates with the ManageCat Controller running in Amazon cloud.

To configure the agent,
  1. Open "conf/managecat-agents.xml" file.
  2. Update your account key.
  3. Update agent host and port. Host and port must be accessible by outside. Cloud controller connects to your agent via HTTP+PORT. In default configuration, agent port is 8090. Apache Tomcat binds all available network interfaces to the Tomcat NIO connector. If you want to bind connector to a special host address, you can update address parameter of Tomcat connector in "conf/server.xml" via
  4. You also have to configure your apache web server related configuration parameters in managecat-agents.xml. You can find example configurations for different type of Linux operating systems.
After you finish agent configuration, you will run the agent via simple command
  • sh run.sh
If the agent is started succesfully, you will see a message in a console log like:
  • INFO: Apache Server agent has been registered with the controller successfully. Registration is taken : 1086 ms
Congratulations! You have installed your first Apache server agent.
Now you can login into ManageCat UI platform and see your registered server. Open https://saas.managecat.com with your registered username and password and click Managed Servers view.

Image title

You will see some Apache related monitoring metrics in servers table. You can also connect to your
 server instance via Connect IconImage title

It will open a new browser window to manage and monitor your registered instance. You can also start/stop/restart your servers. With Apache Web Server agent:
  • You can monitor process and extended process information
  • You can monitor and download log files
  • You can manage networking, server configuration files, mime types, modules, documents
  • You can view your Apache Server system information
  • You can view live charts 
Server Overview

Image title

Extended Process Information

Image title

Remote Log File Access


Image title

Summary

ManageCat enables you to monitor your cloud infrastructure from cloud environment. Currently ManageCat supports Apache Tomcat, Apache TomEE, Apache Web Servers. ManageCat is an extensible platform and we are happy to support your infrastructure to monitor from cloud. Please drop an email to us via support@managecat.com to send your valuable feedbacks/comments.
Currently we have been working very hard to add very cool new features for managing and monitoring Apache Web Servers from cloud in a more effiecient and easy way. We have also been working for adding new infrastructure platform to manage and monitor from cloud.

Stay Tune!
Gurkan Erdogdu
CEO, founder ManageCat,
http://www.managecat.com