Linux 에서 IPMI Log 가져오기
결론 요약 커맨드
#로그 확인
ipmitool -I lan -U root -L USER sel list -H 10.178.209.106
#현재 시스템 시간
ipmitool -I lan -U root -L USER sel time get -H 10.178.209.106
네트워크 접근
Softlayer 에서는 IPMI의 사설 주소는 같은 계정 내에서는 모두 접근 할수 있다.
물론 네트워크 정책상 허용 했을 경우 이다. (기본 허용)
VLAN 분리나, 방화벽으로 분리한 경우는 당연히 안된다.
IPMI 계정 접근
포털 UI나 API로 확인 가능하다.
그런데 User ID는 기본으로 root
인데 권한은 일반 USER이다. (괜히 헤갈리게 ㅡoㅡ+)
물론 티켓으로 root 유저를 Admin으로 승급 시켜달라고 하면 해주긴한다.
그냥 IPMI 커맨드를 날리면 Privilege Level : ADMINISTRATOR 로 잡기 때문에
Activate Session error: Requested privilege level exceeds limit
오류가 뜬다.
결론은 -L USER
옵션을 주면 그냥 USER 권한으로 실행한다.
지금은 로그 값 읽기만 하면 되므로 그냥 기본 USER 권한을 유지한 채로 사용 할것이다.
디버그 옵션
-vv
옵션을 주면 상세 내용이 나온다.
[root@cmd ~]# ipmitool -H 10.178.209.106 -U root fru
Password:
Activate Session error: Requested privilege level exceeds limit
Error: Unable to establish LAN session
Error: Unable to establish IPMI v1.5 / RMCP session
이걸 -vv
를 주면 Privilege Level : ADMINISTRATOR
를 요청 해서 오류나는것을 확인 할 수 있다.
[root@cmd ~]# ipmitool -vv -H 10.178.209.106 -U root fru
Password:
Sending IPMI/RMCP presence ping packet
Received IPMI/RMCP response packet:
IPMI Supported
ASF Version 1.0
RMCP Version 1.0
RMCP Sequence 255
IANA Enterprise 4542
ipmi_lan_send_cmd:opened=[1], open=[-204238448]
Channel 01 Authentication Capabilities:
Privilege Level : ADMINISTRATOR
Auth Types : MD2 MD5 PASSWORD
Per-msg auth : enabled
User level auth : enabled
Non-null users : enabled
Null users : disabled
Anonymous login : disabled
Proceeding with AuthType MD5
ipmi_lan_send_cmd:opened=[1], open=[-204238448]
Opening Session
Session ID : ff00001a
Challenge : 458a142850a040802142840810204080
Privilege Level : ADMINISTRATOR
Auth Type : MD5
ipmi_lan_send_cmd:opened=[1], open=[-204238448]
Activate Session error: Requested privilege level exceeds limit
Error: Unable to establish LAN session
Error: Unable to establish IPMI v1.5 / RMCP session
FRU (Field Replaceable Unit) 확인
root@cmd ~]# ipmitool -H 10.178.209.106 -U root -L USER fru
Password:
FRU Device Description : Builtin FRU Device (ID 0)
Chassis Type : Other
Chassis Part Number : CSE-819UTS-ㅇㅇㅇㅇ-ST031
Chassis Serial : C8ㅇㅇㅇㅇㅇㅇ13
Board Mfg Date : Mon Jan 1 09:00:00 1996
Board Mfg : Supermicro
Board Serial : OM17ㅇㅇㅇㅇ9
Board Part Number : X11DPU
Product Manufacturer : Supermicro
Product Part Number : SYS-ㅇㅇㅇㅇ-TN4R4T
Product Serial : A291ㅇㅇㅇㅇ908570
SEL (System Event Log) 확인
-I lan
은 인터페이스 지정으로 위에서 처럼 생략 가능 하다. -L USER
로 권한을 일반 유저로 지정한 것을 확인한다.
[root@cmd ~]# ipmitool -I lan -U root -L USER sel list -H 10.178.209.106
Password:
1 | 02/12/2019 | 23:43:04 | OS Boot | C: boot completed () | Asserted
2 | 02/12/2019 | 23:56:40 | OS Critical Stop | Run-time critical stop () | Asserted
3 | 02/12/2019 | 23:56:40 | OS Critical Stop | OS graceful shutdown () | Asserted
4 | 02/12/2019 | 23:58:28 | OS Boot | C: boot completed () | Asserted
5 | 02/12/2019 | 23:59:19 | OS Critical Stop | OS graceful shutdown () | Asserted
6 | 02/13/2019 | 00:01:27 | OS Boot | C: boot completed () | Asserted
7 | 02/13/2019 | 00:18:01 | Unknown #0xff | | Asserted
8 | 02/13/2019 | 00:19:30 | Physical Security #0xaa | General Chassis intrusion () | Asserted
9 | 02/13/2019 | 00:20:08 | OS Boot | C: boot completed () | Asserted
a | 02/13/2019 | 00:47:00 | OS Critical Stop | OS graceful shutdown () | Asserted
b | 02/13/2019 | 00:49:20 | OS Boot | C: boot completed () | Asserted
c | 02/14/2019 | 03:42:02 | OS Critical Stop | OS graceful shutdown () | Asserted
d | 02/14/2019 | 10:18:49 | OS Boot | C: boot completed () | Asserted
e | 02/14/2019 | 10:22:57 | OS Boot | C: boot completed () | Asserted
f | 02/14/2019 | 10:35:27 | OS Boot | C: boot completed () | Asserted
10 | 02/14/2019 | 10:49:15 | OS Critical Stop | Run-time critical stop () | Asserted
11 | 02/14/2019 | 10:49:15 | OS Critical Stop | OS graceful shutdown () | Asserted
12 | 02/14/2019 | 10:51:04 | OS Boot | C: boot completed () | Asserted
13 | 02/14/2019 | 10:51:55 | OS Critical Stop | OS graceful shutdown () | Asserted
14 | 02/14/2019 | 10:54:03 | OS Boot | C: boot completed () | Asserted
15 | 02/14/2019 | 11:39:11 | OS Critical Stop | OS graceful shutdown () | Asserted
16 | 02/14/2019 | 11:41:31 | OS Boot | C: boot completed () | Asserted
17 | 03/21/2019 | 23:50:01 | OS Critical Stop | OS graceful shutdown () | Asserted
18 | 03/21/2019 | 23:52:24 | OS Boot | C: boot completed () | Asserted
19 | 03/21/2019 | 23:53:10 | OS Critical Stop | OS graceful shutdown () | Asserted
1a | 03/21/2019 | 23:55:23 | OS Boot | C: boot completed () | Asserted
1b | 04/14/2019 | 21:24:42 | Session Audit #0xff | | Asserted
1c | 04/14/2019 | 21:34:01 | Session Audit #0xff | | Asserted
1d | 04/14/2019 | 21:40:01 | Session Audit #0xff | | Asserted
1e | 04/14/2019 | 21:41:17 | Session Audit #0xff | | Asserted
IPMI 상의 현재 시스템 시간 확인
[root@cmd ~]# ipmitool -I lan -U root -L USER sel time get -H 10.178.209.106
활용
AWX에서 서버별 실행해서 Elastic Search로 집어넣으려고 했으나.... 변경 분만 어떻게 넣을 지 고민이다.
그냥 매번 넣고 ES에서 중복제거를 해야 할지..
IPMI 세부 참조는 아래 글 참고
https://docs.oracle.com/cd/E19464-01/820-6850-11/IPMItool.html#50602039_63068
http://fibrevillage.com/sysadmin/71-ipmitool-useful-examples
http://coffeenix.net/board_print.php?bd_code=1765
http://coffeenix.net/board_print.php?bd_code=1766
https://annvix.com/using_swatch_to_monitor_logfiles