Monitor Apache web server using Java - apache

I am in the process of developing a java application that monitors Web Servers and Application servers.
1] To monitor application server metrics like CPU,Memory,Thread and Connection pool i can use JMX API of Java
2] But is there any java api available to monitor Apache Web Servers ?
Please provide your valuable suggestions.

You may refer to this PDF which talks about the different ways to monitor APACHE Web server PDF Link (Refer to Page number 46)

1) To monitor application server matrix like cpu, memory and all, you can achieve very easily by Unix Scripting..if you are on UNIX Os..
2) Apache itself provide Java api, and again it depends what do you want to monitor ?

Related

Connecting deepstream nodes directly

Deepstream docs:
For smaller clusters it used to be possible to connect deepstream nodes directly in a full-mesh configuration (everyone-to-everyone). This feature has been deprecated in its current incarnation, but will soon be replaced by a more scalable (and hopefully slightly smarter) direct-message-connector plugin based on the Small World Network Paradigm.
Is it possible to create the described (but deprecated) mesh with a deepstream cluster? I wasn't able to find any real example of this.
An example thought is a Chat Application. This application would run on each users desktop and each establish a deepstream server. There would be some discovery logic to connect to other instances on the same LAN. The clients would sync data across each other through their own ds servers running on their desktop.
I know IPFS has this sort of thought, but wanted this to be more application-based and deepstream seemed like a good place to start.
Edit:
I did just find this: https://deepstreamhub.com/tutorials/protocols/webrtc-full-mesh/
-- Interested in understanding why this might not be the best scalable solution and if there are possible work arounds
Clustering deepstream servers is currently only available as part of our enterprise offering [1]. We've built a decentralized clustering mechanism allowing it to scale to millions of concurrent connections and billions of messages.
If you're looking to build a chat application you wouldn't have a deepstream server running on each persons computer. What you would do is either:
set up one deepstream server [2] (we've found that an individual server can easily handle ~100 000 connected clients)
create an application on deepstreamHub [3] (deepstreamHub is our hosted version of deepstream where you don't need to run any servers yourself).
Each user of your chat application has a deepstream client that connects to the server. These clients are websocket based and are able to send/receive messages and sync data for your chat application.
Take a look at some of the example apps [4] we've built, these include some chat apps as well as other demos you might find interesting.
deepstream enterprise 1
deepstream open source 2
deepstreamHub 3
example applications 4

three -tier architectures with JEE

when I studied 3-tier architecture, I was told that it takes three servers:
1- web server
2- application server
3- BD server
By cons when I work in JEE, there is a single server that Glassfish or JBOS under which runs all the modules,
My question is how does 3-tiers architecture appear JEE, is it necessary to extract the web module from multi-third party applications and put it specially on a web server, for example apache and leave the EJB on glassfish?
enter image description here
Your diagram visualizes application and webcontainer separately but in case of application server, it contains itself web container/server. yes you can use only services which only rely on webserver instead of EJB. So if your specifically talking about java EE then Distributed Multitiered Applications and What is the difference between application server and web server?
helps you to understand.

Alternate of Perfmon to check load of apache server in rhel with load from Jmeter

Due to the firewall, i am unable to use Perfmon to check a load of apache server in RHEL with the load from Jmeter. So I Need some other tool which can be used to measure CPU and memory utilization of the RHEL 7 apache server. If there is any tool which can be used to check performance of load kindly suggest.
Are you looking for a free or a paid solution? You can take a look at OctoPerf, we support monitoring dozen of backend technologies combined with JMeter load testing. Our on-premise monitoring agent supports out-of-the-box monitoring for Apache Httpd Server, Linux Operating system and more.
If you look for free solutions, then you can take a look at Zabbix.

How to deploy a local eclipse worklight project in cloud server?

I developed an android based hybrid app in the IBM MFP-7.0., My app is fetching the data from the Java service which is running in Tomcat Server. Here the app adapters are running in my local system MFP server to get the data from the Java service, So that I can only run the app in my local system android emulator. Now, we want to deploy the app in the cloud so that we can give this app to our users. Can some body help me how to run our MFP app in the cloud? Is it required to place eclipse in the cloud to run my MFP server like the way I am running in my local system?
Thanks in advance.
It looks to me like your understanding is completely lacking in this subject matter. Also note that this question has got nothing to do with programming.
You need a host machine. On this server you will run an application server (Tomcat, WebSphere Full profile, WebSphere Liberty profile - either single or a farm, depending on your required network topology and security & scalability needs).
On this application server you deploy MobileFirst
You will also need a database
This host machine needs to be accessible (with appropriate security) to the public Internet so that it could serve apps installed in end-users' devices
The application needs to be configured to send requests to the server (or to any front-side server like a Load Balancer, again, depending on your topology)
The generated application needs to be submitted to an App Store so that users could download and install it on their devices
I suggest that you will do some reading before asking any question. Since you're using IBM MobileFirst, start by reading the user documentation: http://www-01.ibm.com/support/knowledgecenter/SSNJXP/welcome.html

Why use Glassfish instead of Apache? What's it strengths and weaknesses?

Sorry for my ignorance here, but when I hear the word webserver, I immediately imagine Apache, although I know people use Microsoft's IIS too. However since I've been hanging out here at Stackoverflow I've noticed lots of people use Glassfish.
Which made me wonder, why would I want to use Glassfish (in the sense that I'm interested, but I don't really understand why it might make my life easier). From what I read it's Sun's open-source derivate of Apache's Tomcat, thus I imagine it's a good (or great) quality product. But since I don't know its strengths and weaknesses, I don't know when it would be wise to choose Glassfish over another server. Could anyone elaborate ?
GlassFish is an Application Server which can also be used as a Web Server (Http Server).
A web Server means: Handling HTTP requests (usually from browsers).
A Servlet Container (e.g. Tomcat) means: It can handle servlets & JSP.
An Application Server (e.g. GlassFish) means: It can manage Java EE applications (usually both servlet/JSP and EJBs).
You should use GlassFish for Java EE enterprise applications.
The need for a seperate Web server is mostly needed in a production environment. You would normally find a Application server to be suffice most of your development needs. A web server is capable of holding larger number of active sessions and connections, thus providing the necessary balance without performance costs.
Stick to a simple web server if you are only working with servlets/jsps. It is also to be noted that in a netbeans environment, glassfish has better support than other App servers. In the context of eclipse though, WSAD and JBoss seem to the preferred options.
Glassfish will soon release the modular kernel.
This means that the containers you need start up and shutdown as you need them. I.e no EAR deployed, EJB container won;t start up. This seems to have made it very good for development as it can start and stop very quickly. This takes it a lot closer to development environments like Rails (where redeployment is a massive part of your development)
I have used GlassFish server for developing Web Services.
It provides a very interactive Admin Console where admin can test the Web Services.
I really find it helpful while developing Web Services