2014년 10월 8일 수요일

HP System Management Homepage 리눅스 설치

HP System Management Homepage 리눅스 설치

HP 장비에 윈도우를 설치할 때는 smart start를 이용해서 설치 하기 때문에
"System Management Homepage" 소프트웨어가 자동으로 설치된다. (이하 smh)

리눅스는 직접 설치하기 때문에 그런거 없다.
리눅스에 shm 를 설치해 보자.



  1. 아래 사이트에 접속해서, 자신의 HP 장비를 찾는다.
    http://h20565.www2.hp.com/portal/site/hpsc

  2. Dowload option에 Get drivers, software & firmware.를 눌러 들어간다.

  3. 지원하는 OS 종류를 선택하는 데, 필자는 CentOs 5 32bit 버젼을 쓰기 때문에, "Red Hat Enterprise Linux 5 Server (x86)" 를 클릭.

  4. Software - System Management 부분으로 간다.

  5. "* RECOMMENDED * HP System Management Homepage for Linux (x86) (American, International)" 클릭

  6. Dowload 버튼을 눌러 다운을 받고, 해당 rpm 파일을 서버에 올린다.

  7. rpm 설치
    rpm -Uvh hpsmh-7.4.0-13.i386.rpm



* 찾기 힘들다면, HP 레포지토리를 이용하는 것도 좋다.

* 몇몇 서버들은 각각의 다운로드 대신에 "소프트웨어 - 서포트팩 -> 관리 구성 요소 팩"만 존재할 수도 있다.

해당 파일을 다운로드 하면 여러가지 설치파일들이 한꺼번에 들어가 있는 경우도 있다.( ex. DL380 G6)



rpm만 설치해도 smh 화면에는 들어갈수는 있는데, 뭐 볼 게 없다.

진단툴도 같이 설치해 줘야 그나마 볼만한게 나온다.

이전화면으로 돌아가서 "* RECOMMENDED * HP Insight Diagnostics Online Edition for Linux (x86 32-bit)" 도 위와 같은 방식으로 설치 한다.

smh는 설치 완료하면 자동으로 실행 된다.

실행되고 있는 지 확인.
ps aux | grep hpsmh
netstat -nat | grep :2381

진단툴까지 설치가 완료 되었으면 smh 화면으로 들어가 보자.



  1. 브라우저에서 서버의 아이피와 포트번호 2381로 접속하자.
    예: http://123.123.123.123:2381

  2. 자동으로 https로 넘어가며 경고창이 뜨는데 무시하자.  그러면 윈도우에서 보던 smh 화면을 볼수 있다.
    User Name 은 "root", Password는 "root 패스워드" 이다.

  3. 로그인을 완료하면 상단에 webapp으로 들어간다.

  4. 하단에 other agent 부분에  "HP Insight Diagnostics " 클릭.

  5. 새창이 뜨면서 장비의 상세 정보를 볼수 있다.

2014년 10월 6일 월요일

Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR

 APR connector  사용하면  keystore 파일을 사용할 수 없다고 한다.

Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR

 

 

server.xml 상단에

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

부분 주석처리.

ps.
cert 파일로 지정하는 법.

"index '%s.%s' or partition of such index is in unusable state"

오류 보고 -
SQL 오류: ORA-01502: index 'ORAWEB.PK_MEMBER_LOGIN_LOG' or partition of such index is in unusable state
01502. 00000 - "index '%s.%s' or partition of such index is in unusable state"
*Cause: An attempt has been made to access an index or index partition
that has been marked unusable by a direct load or by a DDL
operation
*Action: DROP the specified index, or REBUILD the specified index, or
REBUILD the unusable index partition



이렇게 리빌드.

ALTER INDEX <owner>.<name> REBUILD;





전체  INDEX 리빌드
SELECT 'alter index "ORAWEB"."' || OBJECT_NAME ||'" rebuild;' FROM USER_OBJECTS WHERE OBJECT_TYPE='INDEX';

...

alter index "ORAWEB"."PK_PAY_RES_LOG" rebuild;
alter index "ORAWEB"."PK_PRINTER" rebuild;
alter index "ORAWEB"."PK_PUSH_MESSAGE_S" rebuild;
...

ORAWEB 은 OWNER이다.

위의 select 값을 복사해서 실행.

2014년 10월 1일 수요일

ctime, mtime 차이점

리눅스를 사용하면서 변경시각과 수정시각이란 말을 들을 수 있다.

ctime : 변경 시각(change time)

mtime : 수정시각(modification time)

 

말뜻이 애매해서 비슷하게 생각되지만, 차이점이 있다.

변경(ctime)은 파일의 아이노드(inode)를 바꾸는 것이고,
수정(mtime)은 파일의 내용 자체를 바꾸는 것이다.

 

예를 들어서 aaa.txt 라는 파일이 있을 때
#chmod 755 aaa
이런 명령을 사용하면 파일내용에는 변경이 없지만, inode 값은 바뀌게 된다.

수정은
#echo aa >> aaa.txt
라고 하면 파일내용이 수정되는 것이고, timestamp 값이 변경 되게 된다.

 

그리고 또 하나는 접근 시각(access time)도 알아보자.
접근시각이란 해당 파일을 마지막으로 읽거나 쓴 시각을 말한다.
따라서 파일을 읽기만 한다면 변경시각이나 수정시각은 변하지 않고, 접근시각만 달라진다.

find 관련 문서를 찾다보면 ctime(change time):변경시각을 '생성시각(creation time)'이라고 설명하고 있는
문서가 있는데 이런 해석은 옳지 않다.

 

참고 :유닉스 파워툴

2014년 9월 18일 목요일

apache multiviews 기능

서버 이전을 했는데, 이미지를 못 불러오는 부분이 있었다.

해당 이미지를 불러오는 데, 이미지 이름으로만 불러오는 것이었다. 확장자 없이...

예를 들어 /image.jpg 를 불러 온다고 했을 때, 보통은

http://www.site.co.kr/image.jpg

이런식으로 불러온다.



그런데 저기서 확장자가 없이

http://www.site.co.kr/image

이런식으로 호출해도 이미지가 뜨는 것이다.



원인은 아파치 설정의 MultiViews 설정이었다.

아파치 문서를 찾아 보니 다음과 같다고 한다.
MultiViews를 사용하면 다음과 같은 일이 일어난다.
서버가 /some/dir/foo에 대한 요청을 받고 /some/dir/foo에 MultiViews가 동작하며 /some/dir/foo가 존재하지 않을 경우,
서버는 디렉토리에서 이름이 foo.*인 파일들을 모든 포함하는 가상의 type map을 만든다.
클라이언트가 요청한 media type과 content-encoding을 가지고 이중에 가장 적합한 것을 선택한다.

테스트 결과 대부분의 이미지는 확장자 없이도 제대로 보여 주었고, html 같은 경우도 형식만 제대로 되어 있으면 인식 되었다.

CentOs7 방화벽 내리기

CentOs 7 이전에는 방화벽이란 건, iptable 이였다.

아무리 iptable을 내려도 적용이 안된다.

확인 해 보니, CentOs 7 버젼부터  Firewalld 란 게 추가되어, 두개가 같이 들어있다. 최소버젼으로 설치 했는 데도 그렇다.
[root@localhost ~]# systemctl list-unit-files | grep fire
firewalld.service disabled
[root@localhost ~]# systemctl list-unit-files | grep iptables
iptables.service disabled
[root@localhost ~]#

Firewalld 은 iptables 기반으로 조작이 쉽도록 만들어진 것으로 보인다.

Firewalld는 iptables에 의존성을 가진다.

 
systemctl stop firewalld

#리부팅 뒤에도 실행 안되게끔
systemctl disable firewalld

2014년 9월 12일 금요일

모든 쿼리 로그 기록.

마리아  db, mysql 의 모든 쿼리를 쌓아놓고 분석에 이용.

 

my.cnf 에 추가
#log
general_log=1
#log_output을 FILE 로 할경우의 경로.
#general_log_file = /var/log/mysql/general_query.log
log_output=TABLE

아래의 스크립트를 하루에 한번 실행하다록 크론에 등록.

general log가 계속 쌓이는 것을 방지. 7일마다 삭제.
#!/bin/sh

id="root"
pass="PASS"

mysql -u ${id} -p${pass} -e "SET GLOBAL general_log = 'OFF'";
mysql -u ${id} -p${pass} -e "RENAME TABLE mysql.general_log TO mysql.general_log2;";
mysql -u ${id} -p${pass} -e "DELETE FROM mysql.general_log2 WHERE event_time <= NOW()-INTERVAL 7 DAY";
mysql -u ${id} -p${pass} -e "OPTIMIZE TABLE general_log2";
mysql -u ${id} -p${pass} -e "RENAME TABLE mysql.general_log2 TO mysql.general_log";
mysql -u ${id} -p${pass} -e "SET GLOBAL general_log = 'ON'";


http://stackoverflow.com/questions/9343001/is-my-mysql-general-log-table-getting-too-big

 
general_log 의 엔진이 CSV라서 해당 파일 자체를 cat, vim 등으로 그냥 볼 수 있음.