2장. 로깅 구성
이 장에서는 다양한 Ceph 하위 시스템에 대한 로깅을 구성하는 방법을 설명합니다.
로깅은 리소스를 많이 사용하는 것입니다. 또한 상세 로깅은 비교적 짧은 시간에 대량의 데이터를 생성할 수 있습니다. 클러스터의 특정 하위 시스템에 문제가 발생하면 해당 하위 시스템의 로깅만 활성화합니다. 자세한 내용은 2.1절. “Ceph 하위 시스템”를 참조하십시오.
또한 로그 파일의 순환을 설정하는 것이 좋습니다. 자세한 내용은 2.4절. “로그 교체 가속화” 을 참조하십시오.
발생하는 문제를 해결하면 하위 시스템 로그 및 메모리 수준을 기본값으로 변경합니다. 모든 Ceph 하위 시스템 목록과 해당 기본값은 부록 A. Ceph 하위 시스템의 기본 로깅 수준 값 를 참조하십시오.
다음을 통해 Ceph 로깅을 구성할 수 있습니다.
-
런타임 시
ceph
명령 사용. 이것이 가장 일반적인 접근 방식입니다. 자세한 내용은 2.2절. “런타임 시 로깅 구성” 을 참조하십시오. - Ceph 구성 파일 업데이트. 클러스터를 시작할 때 문제가 발생하면 이 방법을 사용합니다. 자세한 내용은 2.3절. “구성 파일에 로그인 구성” 을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
2.1. Ceph 하위 시스템
이 섹션에는 Ceph 하위 시스템 및 해당 로깅 수준에 대한 정보가 포함되어 있습니다.
Ceph Cryostat 및 Their Logging 레벨 이해
Ceph는 여러 하위 시스템으로 구성됩니다.
각 하위 시스템에는 다음과 같은 로깅 수준이 있습니다.
-
기본적으로
/var/log/ceph/CLUSTER_FSID/
디렉터리(로그 수준)에 저장된 출력 로그 - 메모리 캐시에 저장된 로그(메모리 수준)
일반적으로 Ceph는 다음을 제외하고 메모리에 저장된 로그를 출력 로그에 보내지 않습니다.
- 치명적인 신호가 발생했습니다.
- 소스 코드의 어설션이 트리거됩니다.
- 자주 묻는 질문
이러한 하위 시스템 각각에 대해 다른 값을 설정할 수 있습니다. Ceph 로깅 수준은 1
에서 20
까지의 척도에서 작동합니다. 여기서 1
은 테스이며 20
은 상세 정보입니다.
로그 수준 및 메모리 수준에 단일 값을 사용하여 둘 다 동일한 값으로 설정합니다. 예를 들어 debug_osd = 5
는 ceph-osd
데몬의 디버그 수준을 5
로 설정합니다.
출력 로그 수준 및 메모리 수준에 다른 값을 사용하려면 슬래시(/
)로 값을 구분합니다. 예를 들어 debug_mon = 1/5
는 ceph-mon
데몬의 디버그 로그 수준을 1
로 설정하고 메모리 로그 수준을 5
로 설정합니다.
하위 시스템 | 로그 수준 | 메모리 수준 | 설명 |
---|---|---|---|
| 1 | 5 | 관리 소켓 |
| 1 | 5 | 인증 |
| 0 | 5 |
|
| 1 | 5 | BlueStore OSD 백엔드 |
| 1 | 5 | OSD 저널 |
| 1 | 5 | 메타데이터 서버 |
| 0 | 5 | Monitor 클라이언트는 대부분의 Ceph 데몬과 모니터 간의 통신을 처리합니다. |
| 1 | 5 | 모니터 |
| 0 | 5 | Ceph 구성 요소 간 메시징 시스템 |
| 0 | 5 | OSD 데몬 |
| 0 | 5 | 합의를 수립하기 위해 모니터하는 알고리즘 |
| 0 | 5 | Ceph의 핵심 구성 요소인 안정적인 Autonomic Distributed Object Store |
| 0 | 5 | Ceph 블록 장치 |
| 1 | 5 | Ceph Object Gateway |
로그 출력 예
다음 예제에서는 모니터 및 OSD의 상세 수준을 높일 때 로그에 있는 메시지 유형을 보여줍니다.
디버그 설정 모니터링
debug_ms = 5 debug_mon = 20 debug_paxos = 20 debug_auth = 20
모니터 디버그 설정 로그 출력 예
2022-05-12 12:37:04.278761 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 e322: 2 osds: 2 up, 2 in 2022-05-12 12:37:04.278792 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 min_last_epoch_clean 322 2022-05-12 12:37:04.278795 7f45a9afc700 10 mon.cephn2@0(leader).log v1010106 log 2022-05-12 12:37:04.278799 7f45a9afc700 10 mon.cephn2@0(leader).auth v2877 auth 2022-05-12 12:37:04.278811 7f45a9afc700 20 mon.cephn2@0(leader) e1 sync_trim_providers 2022-05-12 12:37:09.278914 7f45a9afc700 11 mon.cephn2@0(leader) e1 tick 2022-05-12 12:37:09.278949 7f45a9afc700 10 mon.cephn2@0(leader).pg v8126 v8126: 64 pgs: 64 active+clean; 60168 kB data, 172 MB used, 20285 MB / 20457 MB avail 2022-05-12 12:37:09.278975 7f45a9afc700 10 mon.cephn2@0(leader).paxosservice(pgmap 7511..8126) maybe_trim trim_to 7626 would only trim 115 < paxos_service_trim_min 250 2022-05-12 12:37:09.278982 7f45a9afc700 10 mon.cephn2@0(leader).osd e322 e322: 2 osds: 2 up, 2 in 2022-05-12 12:37:09.278989 7f45a9afc700 5 mon.cephn2@0(leader).paxos(paxos active c 1028850..1029466) is_readable = 1 - now=2021-08-12 12:37:09.278990 lease_expire=0.000000 has v0 lc 1029466 .... 2022-05-12 12:59:18.769963 7f45a92fb700 1 -- 192.168.0.112:6789/0 <== osd.1 192.168.0.114:6800/2801 5724 ==== pg_stats(0 pgs tid 3045 v 0) v1 ==== 124+0+0 (2380105412 0 0) 0x5d96300 con 0x4d5bf40 2022-05-12 12:59:18.770053 7f45a92fb700 1 -- 192.168.0.112:6789/0 --> 192.168.0.114:6800/2801 -- pg_stats_ack(0 pgs tid 3045) v1 -- ?+0 0x550ae00 con 0x4d5bf40 2022-05-12 12:59:32.916397 7f45a9afc700 0 mon.cephn2@0(leader).data_health(1) update_stats avail 53% total 1951 MB, used 780 MB, avail 1053 MB .... 2022-05-12 13:01:05.256263 7f45a92fb700 1 -- 192.168.0.112:6789/0 --> 192.168.0.113:6800/2410 -- mon_subscribe_ack(300s) v1 -- ?+0 0x4f283c0 con 0x4d5b440
OSD 디버그 설정
debug_ms = 5 debug_osd = 20
OSD 디버그 설정 로그 출력 예
2022-05-12 11:27:53.869151 7f5d55d84700 1 -- 192.168.17.3:0/2410 --> 192.168.17.4:6801/2801 -- osd_ping(ping e322 stamp 2021-08-12 11:27:53.869147) v2 -- ?+0 0x63baa00 con 0x578dee0 2022-05-12 11:27:53.869214 7f5d55d84700 1 -- 192.168.17.3:0/2410 --> 192.168.0.114:6801/2801 -- osd_ping(ping e322 stamp 2021-08-12 11:27:53.869147) v2 -- ?+0 0x638f200 con 0x578e040 2022-05-12 11:27:53.870215 7f5d6359f700 1 -- 192.168.17.3:0/2410 <== osd.1 192.168.0.114:6801/2801 109210 ==== osd_ping(ping_reply e322 stamp 2021-08-12 11:27:53.869147) v2 ==== 47+0+0 (261193640 0 0) 0x63c1a00 con 0x578e040 2022-05-12 11:27:53.870698 7f5d6359f700 1 -- 192.168.17.3:0/2410 <== osd.1 192.168.17.4:6801/2801 109210 ==== osd_ping(ping_reply e322 stamp 2021-08-12 11:27:53.869147) v2 ==== 47+0+0 (261193640 0 0) 0x6313200 con 0x578dee0 .... 2022-05-12 11:28:10.432313 7f5d6e71f700 5 osd.0 322 tick 2022-05-12 11:28:10.432375 7f5d6e71f700 20 osd.0 322 scrub_random_backoff lost coin flip, randomly backing off 2022-05-12 11:28:10.432381 7f5d6e71f700 10 osd.0 322 do_waiters -- start 2022-05-12 11:28:10.432383 7f5d6e71f700 10 osd.0 322 do_waiters -- finish
추가 리소스