mirror of
https://github.com/corda/corda.git
synced 2025-02-16 07:30:46 +00:00
Enterprise tweaks for node administration (#1182)
This commit is contained in:
parent
6c71ba0874
commit
585f34d079
@ -59,11 +59,18 @@ Database access
|
|||||||
When running a node backed with a H2 database, the node can be configured to expose the database over a socket
|
When running a node backed with a H2 database, the node can be configured to expose the database over a socket
|
||||||
(see :doc:`node-database-access-h2`).
|
(see :doc:`node-database-access-h2`).
|
||||||
|
|
||||||
Note that in production, exposing the database via the node is not recommended.
|
Note that in a production set up, it is highly recommended to use an enterprise grade database, and access to the
|
||||||
|
database should be via the usual database tools mechanisms, including access control and restrictions.
|
||||||
|
|
||||||
Monitoring your node
|
Monitoring your node
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
There are two ways to monitor performance and health of a node in Corda Enterprise:
|
||||||
|
|
||||||
|
|
||||||
|
Monitoring via Jolokia
|
||||||
|
++++++++++++++++++++++
|
||||||
|
|
||||||
Like most Java servers, the node can be configured to export various useful metrics and management operations via the industry-standard
|
Like most Java servers, the node can be configured to export various useful metrics and management operations via the industry-standard
|
||||||
`JMX infrastructure <https://en.wikipedia.org/wiki/Java_Management_Extensions>`_. JMX is a standard API
|
`JMX infrastructure <https://en.wikipedia.org/wiki/Java_Management_Extensions>`_. JMX is a standard API
|
||||||
for registering so-called *MBeans* ... objects whose properties and methods are intended for server management. As Java
|
for registering so-called *MBeans* ... objects whose properties and methods are intended for server management. As Java
|
||||||
@ -99,18 +106,20 @@ The following JMX statistics are exported:
|
|||||||
* JVM statistics: classloading, garbage collection, memory, runtime, threading, operating system
|
* JVM statistics: classloading, garbage collection, memory, runtime, threading, operating system
|
||||||
|
|
||||||
Notes for production use
|
Notes for production use
|
||||||
++++++++++++++++++++++++
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
When using Jolokia monitoring in production, it is recommended to use a Jolokia agent that reads the metrics from the node
|
When using Jolokia monitoring in production, it is recommended to use a Jolokia agent that reads the metrics from the node
|
||||||
and pushes them to the metrics storage, rather than exposing a port on the production machine/process to the internet.
|
and pushes them to the metrics storage, rather than exposing a port on the production machine/process to the internet.
|
||||||
|
|
||||||
Also ensure to have restrictive Jolokia access policy in place for access to production nodes. The Jolokia access is controlled
|
Also ensure to have restrictive Jolokia access policy in place for access to production nodes. The Jolokia access is controlled
|
||||||
via a file called ``jolokia-access.xml``.
|
via a file called ``jolokia-access.xml``. For a production node, the following should be a good starting point, limiting
|
||||||
Several Jolokia policy based security configuration files (``jolokia-access.xml``) are available for dev, test, and prod
|
access to reads from localhost:
|
||||||
environments under ``/config/<env>``.
|
|
||||||
|
|
||||||
Notes for development use
|
.. literalinclude:: ../../config/prod/jolokia-access.xml
|
||||||
+++++++++++++++++++++++++
|
:language: xml
|
||||||
|
|
||||||
|
Notes for development/test use
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
When running in dev mode, Hibernate statistics are also available via the Jolkia interface. These are disabled otherwise
|
When running in dev mode, Hibernate statistics are also available via the Jolkia interface. These are disabled otherwise
|
||||||
due to expensive run-time costs. They can be turned on and off explicitly regardless of dev mode via the
|
due to expensive run-time costs. They can be turned on and off explicitly regardless of dev mode via the
|
||||||
@ -122,11 +131,27 @@ When starting Corda nodes using Cordformation runner (see :doc:`running-a-node`)
|
|||||||
When starting Corda nodes using the `DriverDSL`, you should see a startup message in the logs similar to the following:
|
When starting Corda nodes using the `DriverDSL`, you should see a startup message in the logs similar to the following:
|
||||||
**Starting out-of-process Node USA Bank Corp, debug port is not enabled, jolokia monitoring port is 7005 {}**
|
**Starting out-of-process Node USA Bank Corp, debug port is not enabled, jolokia monitoring port is 7005 {}**
|
||||||
|
|
||||||
|
|
||||||
The following diagram illustrates Corda flow metrics visualized using `hawtio <https://hawt.io>`_ :
|
The following diagram illustrates Corda flow metrics visualized using `hawtio <https://hawt.io>`_ :
|
||||||
|
|
||||||
.. image:: resources/hawtio-jmx.png
|
.. image:: resources/hawtio-jmx.png
|
||||||
|
|
||||||
|
Monitoring via Graphite
|
||||||
|
+++++++++++++++++++++++
|
||||||
|
|
||||||
|
Corda nodes alternatively support publishing metrics collected via the Codahale metrics library directly to a graphite
|
||||||
|
server. This needs to be configured in the node configuration file::
|
||||||
|
|
||||||
|
graphiteOptions = {
|
||||||
|
prefix = "<node specific prefix>"
|
||||||
|
server = <host name of the graphite server>
|
||||||
|
port = <write port on the graphite server>
|
||||||
|
}
|
||||||
|
|
||||||
|
The prefix should clearly indicate the node where the metrics are coming from, as this will be the top level discrimator
|
||||||
|
in the graphite metric hierarchy.
|
||||||
|
The graphite server must be running with python pickle transport enabled. Please refer to the documentation on
|
||||||
|
https://graphiteapp.org on how to install and run a graphite server.
|
||||||
|
|
||||||
Memory usage and tuning
|
Memory usage and tuning
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user