Windows Server 2012에 설치한 아파치 톰캣 jmx 활성화 하여 모니터링

Posted by 크레로
2017.05.25 09:00 Windows Server/2012 공부



테스트 환경 : Windows Server 2012 R2 , Tomcat 7.0.67 , Tomcat 6.0.44 , Tomcat 7.0.68


* Tomcat 6.0.20 버전은 jdk가 32비트로 설치되어 있어야 한다. 64bit 자바환경에서는 Tomcat start가 안된다. (테스트 jdk버전은 6u45 32bit)
* Tomcat 6.0.20 버전은 아래의 방법으로 JMX enable이 안된다.

(Tomcat restart 실패) 다른 방법이 있는 것 같다?? 아니면 이 버전은 아예 JMX설정이 불가능한 것인가? server.xml에 새로 추가하는 내용이 안먹힌다.



톰캣이 JMX 모니터링이 가능하도록 미리 설정 되어야 하는 내용


- JMX가 enable 되었는지 미리 확인해보아야 한다.
- lib 폴더에 catalina-jmx-remote.jar 파일을 복사해야 한다.
- server.xml 의 구성이 필요하다.
- JMX 로그인 user, password 설정이 필요하다. (이건 파일로 관리)
- SSL Enable 시킬것인가도 고민해야 된다. (여기선 설정안함)
- 톰캣 Restart 주의 (담당자에게 말해야 하며, 잘못 설정하면 톰캣이 Restart 안될 수도 있다.)
- 환경변수 주의
- 방화벽 주의 : 포트 2개를 열어야 한다.


* 디폴트 웹 주소 : http://localhost:8080/



1. 기본적으로 되어 있어야 하는 내용


- JDK 설치 및 환경 변수 설정

* JAVA_HOME = C:\Program Files\Java\jdk1.6.0_45
* Path = ;%JAVA_HOME%\bin\;


- Tomcat 설치



2. 라이브러리용으로 사용하기 위한 jar파일 다운로드 및 복사


- 톰캣이 설치된 폴더 (예를들어 C:\Tomcat7.0\lib) 위치에 catalina-jmx-remote.jar 파일 복사해야한다 (Tomcat 버전에 맞게 다운로드 해야 한다.)
- http://tomcat.apache.org/ 사이트에서 받을 수 있다.



3. server.xml에 아래내용 추가


C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\server.xml (Tomcat 설치할 때 디폴트 경로로 설치했을 경우)

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="9840" rmiServerPortPlatform="9841"/>




4. 트레이 톰캔 configure Java 탭에 아래 내용 추가 (맨 밑에다가 한 행 띄우지 말고 붙여서)


-Dcom.sun.management.jmxremote.password.file=C:\Tomcat7.0\conf\jmxremote.password       // 톰캣 버전 및 경로 변경
-Dcom.sun.management.jmxremote.access.file=C:\Tomcat7.0\conf\jmxremote.access               // 톰캣 버전 및 경로 변경
-Dcom.sun.management.jmxremote.ssl=false



* Tomcat 설치할 때 디폴트 경로로 설치하면 경로는 아래와 같다.


-Dcom.sun.management.jmxremote.password.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\jmxremote.password
-Dcom.sun.management.jmxremote.access.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\jmxremote.access
-Dcom.sun.management.jmxremote.ssl=false




5. JMX 로그인 아이디, 암호 설정 (파일로 관리)


- C:\Tomcat7.0\conf 디렉토리에 파일 생성

- C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf (Tomcat 설치할 때 디폴트 경로로 설치했을 경우)


jmxremote.access : administrator      readwrite
jmxremote.password : administrator     tomcat7



6. Restart the Apache Tomcat server.


- 서비스에서 Apache Tomcat7.0 다시시작 하면 된다.
- 또는 트레이에서 Tomcat Stop Service 후 Start Service



7. 방화벽 포트


- 원격에서 접속하기 위해 방화벽 포트 9840 , 9841 TCP를 열면 된다. (인바운드)



8. jconsole로 접속


- C:\Program Files\Java\jdk1.7.0_79\bin\jconsole.exe를 실행하여 접속이 되는지 확인




9. 경고 문구


Secure Connetion Failed. Retry insecurely?

- The connection to administrator@192.168.0.3:9840 could not be made using SSL.

Would you like to try without SSL? (Username and password will be sent in plain test)


이런 경고가 발생한다. SSL 설정을 활성화 하지 않아서 발생하는 경고 문구이다.

일단 SSL 보안은 넘어가자. Insecure 버튼을 클릭하자.




10. JConsole 접속 완료


- 아래처럼 JConsole이 정상적으로 접속이 될것이다.

접속이 되면 Memory , CPU , Threads 등등 모니터링 할 수 있는 항목들이 나타난다.




- MBeans를 클릭해보자

Catalina , java.lang , MemoryPool 등등 항목들이 나타난다.

이것을 확장하여 필요한 세부사항에 대한 모니터링이 가능하다.





조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

저작자 표시 비영리
신고
이 댓글을 비밀 댓글로

리눅스에 설치한 아파치 톰캣에 jmx를 활성화 하여 JConsole을 통한 모니터링

Posted by 크레로
2017.05.24 21:24 리눅스 공부



테스트 환경 : RHEL6.4 64bit , Tomcat 9.0.0.M3


JMX (Java Management Extensions)를 사용하여 아파치 톰캣(Apache Tomcat)을 모니터링 하는 방법을 구성해 보자.


* JMX (Java Management Extensions)는 응용 프로그램(소프트웨어) / 객체 / 장치 (프린터 등) 및 서비스 지향 네트워크 등을

감시 관리를 위한 도구를 제공하는 자바 API이다.


* JConsole (Java Monitoring & Management Console)은 자바에서 제공해주는 모니터링 콘솔 프로그램이다.



1. catalina-jmx-remote.jar 파일 다운로드 및 위치 변경


- http://tomcat.apache.org/download-90.cgi 여기서 다운로드 받을 수 있다.





- # mv /root/Downloads/catalina-jmx-remote.jar /opt/was/tomcat9/lib



2. /bin/setenv.sh 스크립트 만들고 설정 (tomcat 구동시 자체적으로 setenv.sh 를 불러오는 구문이 있는것으로 추정됨)


- # cd /opt/was/tomcat9/bin
- # vi setenv.sh


#!/bin/sh

JMX_OPTS=" -Dcom.sun.management.jmxremote \
                 -Dcom.sun.management.jmxremote.authenticate=true \
                 -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password  \
                 -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access  \
                 -Djava.rmi.server.hostname=192.168.0.3 \
                 -Dcom.sun.management.jmxremote.ssl=false "
CATALINA_OPTS=" ${JMX_OPTS} ${CATALINA_OPTS}"


* 4번째 라인 : 인증 정보를 사용하겠다.
* 7번째 라인 : 톰캣이 구동되는 서버의 IP를 입력한다.
* 8번째 라인 : 연결에 SSL을 사용하지 않겠다. SSL을 사용하게 되면 설정할게 많으니까 넘어가자




3. jmxremote.access , jmxremote.password 파일 생성 및 설정


- # cd /opt/was/tomcat9/conf
- # vi jmxremote.access



administrator    readwrite
klero               readonly



* 계정은 administrator 이고 주어진 권한은 readwrite 이다.

* klero 계정은 readonly 권한을 주었을 때 JConsole에 정상적으로 접속이 되는지 확인을 해보자




- # vi jmxremote.password


administrator    CXXXXX3
klero               CXXXXX3


* 계정과 암호를 작성한다.




4. server.xml 파일에 아래의 Listener 추가


- # /opt/was/tomcat9/conf/server.xml


<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
       rmiRegistryPortPlatform="9840" rmiServerPortPlatform="9841"/>




5. 9840 , 9841 포트를 열자


- # vi /etc/sysconfig/iptables


-A INPUT -p tcp -m state --state NEW -m tcp --dport 9840 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9841 -j ACCEPT


- # service iptables restart
- # service iptables save




 6. tomcat 시작 or 재시작


- # service tomcat restart



7. jconsle을 이용해 연동 테스트


- # cd /usr/java/jdk1.8.0_73/bin
- # ./jconsole

* administrator 계정으로는 정상적으로 실행이 되는데 readonly 권한만 부여받은 klero 계정은 실행이 Connect가 안된다.





- administrator 계정으로 정상적으로 구동된 모습

아래처럼 CPU , Memory , Threads 등등을 모니터링 할 수 있다.




- klero 계정으로 실행하면 아래와 같은 에러가 발생한다. readonly 권한으로는 JConsole 접속도 안된다.





조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

저작자 표시 비영리
신고
이 댓글을 비밀 댓글로

카카오톡 오픈채팅 (오픈톡) 신고 또는 차단하는 방법

Posted by 크레로
2017.05.23 21:57 컴퓨터 관련



카카토옥 오픈채팅을 하다보면 성인광고 올리는 사람부터 해서 도배 및 무작정 욕하는 사람들을 볼 수 있습니다.

이런 사람들의 메세지는 보고싶지 않고, 신고하고 싶다는 생각을 하신 분들 많으실겁니다.

하지만 쉽게 신고하는 방법을 찾지 못해, 신고를 못하신 분들도 많을 것으로 보입니다. 저 또한 그랬고요.


신고하는 방법은 매우 간단합니다.




1. 먼저 신고할 대상을 클릭합니다.


- 신고할 대상을 클릭하면 아래처럼 차단이라는 아이콘이 나타납니다.

차단을 클릭합니다. (차단 클릭한다고 바로 차단되는거 아니니 걱정 안하셔도 됩니다.)





2. 차단하고 신고를 클릭합니다.


- 위에서 차단을 클릭하면 차단 , 차단하고 신고 , 취소 이렇게 세 가지의 항목이 나타나는 것을 볼 수 있습니다.

여기서 단순히 메세지 차단만 할 것이면 차단을 클릭하시면 되고, 차단 및 카카오 고객센터로 신고까지 하실거면 차단하고 신고를 클릭하시면 됩니다.


다수의 사용자가 특정 한 명의 사람을 차단하고 신고를 클릭해버리면 , 이 사람은 최소 일주일 오픈채팅을 사용할 수 없습니다.

즉, 나와 의견이 안맞아 다수의 사용자가 한 명의 사용자를 차단하고 신고해버리면 그 한 명의 사람은 정지를 당할 수 있습니다.

정지 당한 사용자는 누가 신고했는지 , 무슨 이유로 신고당해 정지당한 것인지 전혀 알 수 없습니다.






3. 신고 항목 선택 후 완료


- 음란/성인 , 불법 정보 (도박/사행성) , 도배/욕설 메시지 , 기타

이 네 개의 항목 중 일치하는 하나를 선택 후 완료 버튼을 클릭하면 정상적으로 차단하고 신고가 완료됩니다.




아무나 마구잡이로 신고하지 마시고,

진짜 꼭 신고해야 될 사람 (음란 글이나 사진 , 도배 또는 욕설) 만 위 방법으로 신고를 하면 될 것 같습니다.

즐거운 오픈채팅 되세요~




조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

저작자 표시 비영리
신고
이 댓글을 비밀 댓글로

티스토리 툴바