Hi,
In OpsCenter 1.4 disks stats are not available if numeric separator is ",".
Depending on system locale -- e.g. fr_FR, it_IT, de_DE -- iostat's output contains commas.
In such a case, agents throw a NumberFormatException (see below for the traceback).
FYI a workaround is to unset LANG in bashrc :
On OpsCenter server :
# su - opscenter
-bash-3.2$ echo "export LANG=" > .bashrc
-bash-3.2$ ln -s .bashrc .bash_profile
For each agent :
# su - opscenter-agent
-bash-3.2$ echo "export LANG=" > .bashrc
-bash-3.2$ ln -s .bashrc .bash_profile
Complete stacktrace found in agent.log :
ERROR [pool-4-thread-7] 2012-02-22 14:24:46,945 Long os-stats collector failed
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "0,00"
at clojure.lang.LazySeq.sval(LazySeq.java:47)
at clojure.lang.LazySeq.seq(LazySeq.java:56)
at clojure.lang.RT.seq(RT.java:450)
at clojure.core$seq.invoke(core.clj:122)
at clojure.core$r.invoke(core.clj:793)
at clojure.core$into.invoke(core.clj:2614)
at opsagent.os.linux_metrics$parse_iostat_line.invoke(linux_metrics.clj:190)
at opsagent.os.linux_metrics$parse_iostats.invoke(linux_metrics.clj:215)
at opsagent.proc$parse_results.invoke(proc.clj:100)
at opsagent.proc$parse_output.doInvoke(proc.clj:114)
at clojure.lang.RestFn.invoke(RestFn.java:442)
at opsagent.os.linux_metrics$collectors$proc_runner__559.invoke(linux_metrics.clj:244)
at opsagent.os.linux_metrics$get_iostats.invoke(linux_metrics.clj:220)
at opsagent.os.linux_metrics$collectors$wrap_long_collector__563$fn__564.invoke(linux_metrics.clj:249)
at opsagent.util$error_wrap.doInvoke(util.clj:97)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at opsagent.os.collection$start_pool$fn__818.invoke(collection.clj:45)
at clojure.lang.AFn.run(AFn.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "0,00"
at clojure.lang.LazySeq.sval(LazySeq.java:47)
at clojure.lang.LazySeq.seq(LazySeq.java:56)
at clojure.lang.RT.seq(RT.java:450)
at clojure.core$seq.invoke(core.clj:122)
at clojure.core$map$fn__429.invoke(core.clj:2099)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
... 26 more
Caused by: java.lang.NumberFormatException: For input string: "0,00"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
at java.lang.Float.parseFloat(Float.java:422)
at opsagent.os.linux_metrics$parse_iostat_line$fn__548.invoke(linux_metrics.clj:189)
at clojure.core$map$fn__425.invoke(core.clj:2096)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
... 31 more
