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 kubevirts 및 로깅 수준 이해
Ceph는 여러 하위 시스템으로 구성됩니다.
각 하위 시스템에는 로깅 수준이 있습니다.
-
기본적으로
/var/log/ceph/CLUSTER_FSID/
디렉터리에 저장된 출력 로그 (로그 수준) - 메모리 캐시에 저장된 로그(메모리 수준)
일반적으로 Ceph는 메모리에 저장된 로그를 출력 로그에 전송하지 않습니다.
- 치명적인 신호가 발생합니다.
- 소스 코드에서 어설션이 트리거됨
- 요청하신 경우
이러한 하위 시스템 각각에 대해 다른 값을 설정할 수 있습니다. Ceph 로깅 수준은 1
에서 20
까지의 척도로 작동합니다. 여기서 1
은 terse이고 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 | 모니터 클라이언트는 대부분의 Ceph 데몬과 모니터 간의 통신을 처리합니다. |
| 1 | 5 | 모니터 |
| 0 | 5 | Ceph 구성 요소 간 메시징 시스템 |
| 0 | 5 | OSD 데몬 |
| 0 | 5 | 모니터가 추측을 설정하는 데 사용하는 알고리즘 |
| 0 | 5 | 안정적인 자동 분산 오브젝트 저장소(Ceph의 핵심 구성 요소) |
| 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
추가 리소스