rostislav.matl: Monitoring Tomcat with Jmxterm and Python



Wrapping in Python

The problem with jmxterm si that its startup time is really long - even several seconds. Also connecting to process can take second or two. The reponsivness is good so if you need it for periodic monitoring, you would like to start it and connect and then fire requests when you need the data. After trying some approaches I settled on Python pexpect for this (script reduced to minimum):
import time  import pexpect    connection = "localhost:3993"  connection_timeout = 2    jmxterm = pexpect.spawn("java -jar jmxterm-1.0-alpha-4-uber.jar")  jmxterm.expect_exact("$>") # got prompt, we can continue  jmxterm.sendline("open " + connection)  jmxterm.expect_exact("#Connection to "+connection+" is opened", connection_timeout)    jmxterm.sendline("get -d Catalina -b name=http-80,type=ThreadPool currentThreadCount")    response_lines = []  response_lines.append(jmxterm.readline())  response_lines.append(jmxterm.readline())  response_lines.append(jmxterm.readline())  response_lines.append(jmxterm.readline())    result = response_lines[3].replace(";"," ").strip().split(" ")  del result[1]  name,value = result    print "["+time.ctime()+"]", name, "=", value  jmxterm.sendline("quit")

Read full article from rostislav.matl: Monitoring Tomcat with Jmxterm and Python


No comments:

Post a Comment

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