{"id":1274,"date":"2014-08-18T09:07:14","date_gmt":"2014-08-18T07:07:14","guid":{"rendered":"http:\/\/vm.piszki.pl\/?p=1274"},"modified":"2014-08-18T09:48:16","modified_gmt":"2014-08-18T07:48:16","slug":"vcenter-hyperic-5-8-2-monitorowanie-stanu-serwera-tomcat-i-tcserver-na-przykladzie-vcenter-5-5","status":"publish","type":"post","link":"https:\/\/vm.piszki.pl\/?p=1274","title":{"rendered":"vCenter Hyperic 5.8.2: Monitorowanie stanu serwera Tomcat i tcServer (na przyk\u0142adzie vCenter 5.5)."},"content":{"rendered":"<p align=\"justify\">W \u015brodowisku vSphere u\u017cywane s\u0105 przez firm\u0119 VMware dwa serwery aplikacyjne, jednym jest Apache Tomcat (przewa\u017cnie w wersji 6) i jego odpowiednik z pod znaku Spring Source, czyli Pivotal tcServer (przewa\u017cnie w wersji 7). Wszystkie wa\u017cne rozwi\u0105zania takie jak np. vCenter dzia\u0142aj\u0105 na tcServer, rozwi\u0105zania mniej wa\u017cne s\u0105 powoli migrowane z Tomcata na tcServer. W domy\u015blnej konfiguracji obydwa rozwi\u0105zania wspieraj\u0105 zdalny monitoring, ale nie maj\u0105 go w\u0142\u0105czonego. Monitorowanie serwer\u00f3w aplikacyjnych napisanych w j\u0119zyku Java, odbywa si\u0119 za pomoc\u0105 konsoli <a href=\"http:\/\/www.mkyong.com\/tomcat\/jconsole-jmx-remote-access-on-tomcat\/\">JMX Remote Access<\/a>. Lokalnie zainstalowany agent vCenter Hyperic na serwerze vCenter 5.5 wykryje prawid\u0142owo serwer SpringSource tc Runtime 7.0 ale nie b\u0119dzie potrafi\u0142 si\u0119 do niego pod\u0142\u0105czy\u0107.<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/tc1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"tc1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/tc1_thumb.png\" alt=\"tc1\" width=\"475\" height=\"214\" border=\"0\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p align=\"justify\">W przypadku tcServer (na przyk\u0142adzie vCenter 5.5 zainstalowanego w Windows Server 2012R2), musimy otworzy\u0107 plik C:\\Program Files\\VMware\\Infrastructure\\tomcat\\conf\\server.xml w kt\u00f3rym znajdziemy nast\u0119puj\u0105c\u0105 lini\u0119:<\/p>\n<p><a><span style=\"color: #c0504d;\">&lt;Listener port=&#8221;${base.jmx.port}&#8221; className=&#8221;com.springsource.tcserver.serviceability.rmi.JmxSocketListener&#8221; useSSL=&#8221;false&#8221; passwordFile=&#8221;${catalina.base}\/conf\/jmxremote.password&#8221; bind=&#8221;127.0.0.1&#8243; authenticate=&#8221;true&#8221; accessFile=&#8221;${catalina.base}\/conf\/jmxremote.access&#8221;\/&gt;<\/span><\/a><\/p>\n<p align=\"justify\">Base.jmx.port jest okre\u015blany w pliku catalina.properties, domy\u015blna warto\u015b\u0107 to \u20131. Mo\u017cemy poprawi\u0107 t\u0119 warto\u015b\u0107 bezpo\u015brednio w catalina.properties lub server.xml (najlepiej wprowad\u017amy standardow\u0105 warto\u015b\u0107 6969). Dalej mamy dwie opcje do wyboru, przestawiamy parametr \u201cauthenticate\u201d na \u201cfalse\u201d, zrobimy restart i agent pod\u0142\u0105czy si\u0119 bez problemu. Mo\u017cemy te\u017c pozostawi\u0107 autentykacj\u0119 w\u0142\u0105czon\u0105 i przygotowa\u0107 plik <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/technotes\/guides\/management\/agent.html\">jmxremote.password<\/a>. Bior\u0105c pod uwag\u0119, \u017ce konsola JMX jest wystawiana lokalnie, agent Hyperica te\u017c jest instalowany lokalnie a u\u017cytkownik admin ma prawo tylko do odczytu (jmxremote.access), mo\u017cemy spokojnie wy\u0142\u0105czy\u0107 autentykacj\u0119. Po restarcie vCenter zagl\u0105damy do Hyperica:<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/vc2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"vc2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/vc2_thumb.png\" alt=\"vc2\" width=\"240\" height=\"139\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Wszystkie metryki vCenter s\u0105 zbierane prawid\u0142owo przez Agenta. Do czego to mo\u017ce si\u0119 przyda\u0107? Alert mailowy powiadamiaj\u0105cy o wy\u0142\u0105czeniu si\u0119 vCenter to raz, a dwa to mo\u017cliwo\u015b\u0107 u\u017cycia <a href=\"https:\/\/vm.piszki.pl\/vsphere-app-ha-monitorowanie-stanu-serwera-vpostgres\/\">vSphere App HA<\/a> do restartu us\u0142ugi vCenter. To jak najbardziej mo\u017cliwe, vSphere App HA dzia\u0142a niezale\u017cnie od vCenter, komunikuje si\u0119 bezpo\u015brednio z vCenter Hyperic kt\u00f3ry zarz\u0105dza akcjami wykonywanymi przez agenta.<\/p>\n<p align=\"justify\">W przypadku dowolnego Apache Tomcat, musimy odszuka\u0107 plik startup.sh (bat) lub setenv.sh (bat) i doda\u0107 na jego pocz\u0105tku lini\u0119:<\/p>\n<p align=\"justify\">CATALINA_OPTS=&#8221;<span style=\"color: #c0504d;\">-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false<\/span>&#8222;<\/p>\n<p align=\"justify\">Je\u017celi mamy do czynienia z systemem Windows Server, i powy\u017cszych plik\u00f3w nie znajdujemy, to musimy odszuka\u0107 w\u0142a\u015bciwy plik wrapper.conf do kt\u00f3rego dodajemy kolejn\u0105 lini\u0119 wrapper.java.additional.n z zawarto\u015bci\u0105 jak wy\u017cej (bez CATALINA_OPTS=). W\u0142a\u015bciw\u0105 lokalizacj\u0119 wszystkich plik\u00f3w konfiguracyjnych mo\u017cemy wyci\u0105gn\u0105\u0107 bezpo\u015brednio z vCenter Hyperic z konfiguracji danego serwera, pole \u201ccatalina.base\u201d. Pami\u0119tajmy te\u017c, \u017ce ka\u017cda kolejna konsola JMX powinna by\u0107 wystawiana na kolejnych portach (np. 6969, 6968, 6967), tak jak to ma miejsce w przypadku naszego vCenter (Hyperic wykry\u0142 trzy us\u0142ugi Tomcat i jedn\u0105 tcServer). Je\u017celi w naszym klastrze DRS mamy w\u0142\u0105czony monitoring aplikacji, to dodatkowo mo\u017cemy z poziomu vSphere Web Clienta sprawdzi\u0107 stan naszych serwer\u00f3w aplikacyjnych (i oczywi\u015bcie przypisa\u0107 im stosown\u0105 polityk\u0119 App HA).<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/vc1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"vc1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/07\/vc1_thumb.png\" alt=\"vc1\" width=\"477\" height=\"161\" border=\"0\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Monitorowanie zasob\u00f3w za pomoc\u0105 vCenter Hyperic jest do\u015b\u0107 kosztowne w \u015brodowisku wirtualnym, ka\u017cdy agent zu\u017cywa ok 135mb ram (plus cykle procesora). Mimo to warto go u\u017cywa\u0107, szczeg\u00f3lnie w przypadku krytycznych aplikacji. Tylko vCenter Hyperic da wgl\u0105d w tak szczeg\u00f3\u0142owe statystyki i tylko on pozwoli wykona\u0107 automatyczne akcje na aplikacji takie jak min. restart.<\/p>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>W \u015brodowisku vSphere u\u017cywane s\u0105 przez firm\u0119 VMware dwa serwery aplikacyjne, jednym jest Apache Tomcat (przewa\u017cnie w wersji 6) i jego odpowiednik z pod znaku Spring Source, czyli Pivotal tcServer (przewa\u017cnie w wersji 7). Wszystkie wa\u017cne rozwi\u0105zania takie jak np. &hellip; <a href=\"https:\/\/vm.piszki.pl\/?p=1274\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1532,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[45],"tags":[54,62,61],"class_list":["post-1274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradniki","tag-hyperic","tag-tcserver","tag-tomcat"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1274"}],"collection":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1274"}],"version-history":[{"count":4,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1274\/revisions"}],"predecessor-version":[{"id":1287,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1274\/revisions\/1287"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/media\/1532"}],"wp:attachment":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}