Showing posts with label Monitoring. Show all posts
Showing posts with label Monitoring. Show all posts

GangliaWriter · jmxtrans/jmxtrans Wiki · GitHub



GangliaWriter · jmxtrans/jmxtrans Wiki · GitHub
jmxtrans has a writer that connects to a gmond (not gmetad!) process and writes data directly to it using UDP. One nice feature of Ganglia is that you do not need to configure it when you add new hosts.
As described in the (borrowed) image above, you can see that jmxtrans is writing data to a gmond instance. Since I support host spoofing, whatever is set as host or optionallyalias is what is sent to Ganglia as the host. Thus, jmxtrans is effectively acting like a gmond instance itself. This also means that jmxtrans doesn't have to run on the same machine as the gmond instance. Note that for proper host spoofing Ganglia compares both the name of the host and the IP address associated with it. The GangliaWriter will attempt to resolve the address of the host (or alias) for you. If this does not work you can correctly spoof Ganglia by providing an alias value in the form that it expects, specifically IP:hostname (e.g. "10.10.10.3:myhost")

  • host - The hostname for the machine running gmond.
  • alias (optional) - The spoofed hostname (see documentation above).
Read full article from GangliaWriter · jmxtrans/jmxtrans Wiki · GitHub

Introduction to Ganglia on Ubuntu 14.04 | DigitalOcean



Introduction to Ganglia on Ubuntu 14.04 | DigitalOcean
On the back end, Ganglia is made up of the following components:
Gmond (Ganglia monitoring daemon): a small service that collects information about a node. This is installed on every server you want monitored.
Gmetad (Ganglia meta daemon): a daemon on the master node that collects data from all the Gmond daemons (and other Gmetad daemons, if applicable).
RRD (Round Robin Database) tool: a tool on the master node used to store data and visualizations for Ganglia in time series.
PHP web front-end: a web interface on the master node that displays graphs and metrics from data in the RRD tool.

Basically, every node (server) that you want monitored has Gmond installed. Every node uses Gmond to send data to the single master node running Gmetad, which collects all the node data and sends it to the RRD tool to be stored

sudo apt-get install -y ganglia-monitor rrdtool gmetad ganglia-webfrontend

sudo vi /etc/ganglia/gmetad.conf
Find the line that begins with data_source, as shown below:
data_source "my cluster" localhost
Edit the data_source line to list the name of your cluster, the data collection frequency in seconds, and your server's connection information. In the example below, the data source is called my cluster, and it collects metrics once a minute from the localhost (itself). You can add more data_source lines to create as many clusters as you want.
data_source "my cluster" 60 localhost
Save your changes.
Next, edit the Gmond configuration file. Even though this is the master node, we are also setting it up for monitoring as the first node in the "my cluster" cluster. The gmond.conf file configures where the node sends its information.
sudo vi /etc/ganglia/gmond.conf
In the cluster section, make sure you set the name to the same one you set in the gmetad.conf file, which in this example is my cluster. The rest of the fields are optional and can be left asunspecified.
Read full article from Introduction to Ganglia on Ubuntu 14.04 | DigitalOcean

Java mon amour: JMXTrans and Graphite: getting started



Java mon amour: JMXTrans and Graphite: getting started
I verify the installation parameters:
less /etc/sysconfig/jmxtrans 

# configuration file for package jmxtrans
export JAR_FILE="/usr/share/jmxtrans/jmxtrans-all.jar"
export LOG_DIR="/var/log/jmxtrans"
export SECONDS_BETWEEN_RUNS=60
export JSON_DIR="/var/lib/jmxtrans"
export HEAP_SIZE=512
export NEW_SIZE=64
export CPU_CORES=2
export NEW_RATIO=8
export LOG_LEVEL=debug

java -Dcom.sun.management.jmxremote.port=1105 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false Sample 

cd /usr/share/jmxtrans
./jmxtrans.sh
Usage: ./jmxtrans.sh {start|stop|restart|status} [filename.json]
01{
02  "servers" : [ {
03    "port" : "1099",
04    "host" : "w2",
05    "queries" : [ {
06      "outputWriters" : [ {
07        "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter",
08        "settings" : {
09        }
10      } ],
11      "obj" : "java.lang:type=Memory",
12      "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ]
13    }, {
14      "outputWriters" : [ {
15        "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter",
16        "settings" : {
17        }
18      } ],
19      "obj" : "java.lang:name=CMS Old Gen,type=MemoryPool",
20      "attr" : [ "Usage" ]
21    }, {
22      "outputWriters" : [ {
23        "@class" : "com.googlecode.jmxtrans.model.output.StdOutWriter",
24        "settings" : {
25        }
26      } ],
27      "obj" : "java.lang:name=ConcurrentMarkSweep,type=GarbageCollector",
28      "attr" : [ "LastGcInfo" ]
29    } ],
30    "numQueryThreads" : 2
31  } ]
32}
/usr/share/jmxtrans/jmxtrans.sh start sample.json 
tail -f jmxtrans.log 
Read full article from Java mon amour: JMXTrans and Graphite: getting started

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts