OpenStack 모니터링 · 2 min read · Oct 18, 2025
OpenStack Swift 모니터링하기 Opsview로
OpenStack Swift 모니터링하기 Opsview로
시작점으로서, 우리는 ‘전면 검사’를 수행할 것입니다. 이는 사용 중인 Swift 구현에 관계없이 작동해야 합니다.
우리는 tempauth 대신 Keystone과 함께 인증 버전 2.0을 사용하고 있습니다.
다음 내용은 이미 Opsview 서버와 OpenStack 객체 저장소(Swift)가 구성되어 실행 중이라고 가정합니다.
사전 요구 사항 설정 작업
검사를 실행하는 머신은 Swift 클라이언트와 Opsview 에이전트를 가져야 합니다. Swift 프록시 서버에서 모니터링할 계획이라면 후자만 필요합니다. Opsview 서버에서 검사를 실행할 계획이라면 전자가 필요합니다.
Swift 클라이언트 설치하기
이것은 Python이 설치되어 있어야 합니다. 소스를 가져오세요:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(둘 다)
Ubuntu에 Opsview 에이전트 설치하기
echo "deb http://downloads.opsview.com/opsview-core/latest/apt precise
main" > /etc/apt/sources.list.d/opsview-core.list
apt-get update
apt-get install opsview-agent체크 가져오기
플러그인 세부정보는 여기에 있습니다:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
직접 다운로드 링크:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
이 파일을 /usr/local/nagios/libexec (Opsview 에이전트에서)로 옮기고 파일을 실행 가능하게 만드세요 (
chmod +x check_swift) 및 nagios 소유로 설정하세요 (
chmod nagios:nagios check_swift).
환경 변수
ST_AUTH (테넌트), ST_USER 및 ST_KEY 환경 변수가 설정되어 있지 않다면, 체크를 그에 맞게 수정할 수 있습니다 (다음 diff에 따라):
diff check_swift.orig check_swift52c52
< export OS_AUTH_URL=$OPTARG
> export ST_AUTH=$OPTARG
55c55
< export OS_USERNAME=$OPTARG
---
> export ST_USER=$OPTARG
58c58
< export OS_PASSWORD=$OPTARG
---
> export ST_KEY=$OPTARGNRPE 설정하기
Opsview 서버에서 체크를 실행할 수 있지만 (Swift 클라이언트를 설치하면), NRPE를 통해 Opsview 에이전트에서 실행될 가능성이 더 높습니다.
따라서 Opsview 에이전트의 NRPE 구성에 서비스 체크 명령을 추가해야 합니다:
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restart체크 구성하기
Opsview 서버에서 새로운 서비스 체크를 정의해야 합니다. 그림 1은 완료된 예제를 보여줍니다.
그림 1 – 서비스 체크 정의
복사 & 붙여넣기를 원하신다면, check_nrpe의 인자는 다음과 같습니다:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'해당 값을 적용 가능한 대로 대체하거나 호스트 수준에서 재정의하세요.
체크 실행하기
그림 2는 서비스 체크의 호스트 수준 뷰를 보여줍니다 (-c container 값이 무시되는 것처럼 보입니다).
그림 2 – 서비스 체크 결과
이제 OpenStack Swift의 빠르고 쉬운 기본 모니터링이 완료되었습니다.
문제 해결
작동하지 않는 경우, 먼저 Swift 클라이언트를 사용하여 업로드를 수행할 수 있는지 확인하세요:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swift두 번째 테스트는 Nagios 플러그인이 0 종료 코드를 반환하는지 확인하는 것입니다:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo $?플러그인이 출력을 /dev/null로 리디렉션하므로, 이 단계가 실패할 경우 Swift 오류 메시지를 볼 수 있도록 스크립트의 복사본을 조정해야 할 수 있습니다.
마지막으로 NRPE를 테스트하세요:
check_nrpe -H localhost -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container -s 128'작성자: Brian King
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.