ECDSA를 사용하여 Ceph 모니터링 가이드
DestinationRule 코어를 사용하여 Ceph 모니터링.
초록
1장. FlexVolume 및 Ceph 링크 복사링크가 클립보드에 복사되었습니다!
core는 노드를 모니터링하기 위한 오픈 소스 솔루션입니다. 대규모 Red Hat Ceph Storage 클러스터는ECDHE Core와 같은 분산 모니터링 시스템의 이점을 활용할 수 있습니다. ECDHE 코어는 기본 운영 체제의 상태와 Red Hat Ceph Storage 클러스터 데몬의 상태를 포함하여 클러스터의 각 노드를 확인합니다.
Ceph를 사용하여 Core를 배포하려면 다음이 필요합니다.
- 실행 중인 Red Hat Ceph Storage 클러스터.
ECDHE Core 대신 다양한 기능을 갖춘 상용 버전인 XI를 대체할 수도 있습니다.
Red Hat은 패키지를 제공하지 않습니다.
Red Hat은 이 문서를 고객에게 서비스로 제공하기 위해 기술 파트너와 협력합니다. 그러나 Red Hat은 이 제품에 대한 지원을 제공하지 않습니다. 이 제품에 대한 기술 지원이 필요한 경우 support로 문의하십시오.
2장. core 설치 및 구성 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는ECDHE Core 소스 코드를 다운로드한 다음, 구성, 설정, 생성, 설치할 수 있으며, 해당 코어 인스턴스를 실행할 노드에 설치하여 코어를 설치할 수 있습니다.
2.1. 소스에서 core 서버 설치 및 구성 링크 복사링크가 클립보드에 복사되었습니다!
ECDHE Core 소프트웨어에 대한 Red Hat Enterprise Linux 패키지는 없으므로 소스에서 코어 소프트웨어를 컴파일해야 합니다.
사전 요구 사항
- 인터넷 접속.
- core 호스트에 대한 루트 수준 액세스.
절차
사전 요구 사항을 설치합니다.
예제
dnf install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl openssl-devel wget unzip make
[root@nagios ~]# dnf install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl openssl-devel wget unzip makeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 방화벽을 사용하는 경우
httpd에 대해 포트80을 엽니다.예제
firewall-cmd --zone=public --add-port=80/tcp firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp [root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow core에 대한 사용자 및 그룹을 생성합니다.
예제
useradd nagios passwd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
[root@nagios ~]# useradd nagios [root@nagios ~]# passwd nagios [root@nagios ~]# groupadd nagcmd [root@nagios ~]# usermod -a -G nagcmd nagios [root@nagios ~]# usermod -a -G nagcmd apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 버전의 core 및 Plug-ins를 다운로드합니다.
예제
wget --inet4-only https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz wget --inet4-only http://www.nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz tar zxf nagios-4.4.5.tar.gz tar zxf nagios-plugins-2.3.3.tar.gz cd nagios-4.4.5
[root@nagios ~]# wget --inet4-only https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz [root@nagios ~]# wget --inet4-only http://www.nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz [root@nagios ~]# tar zxf nagios-4.4.5.tar.gz [root@nagios ~]# tar zxf nagios-plugins-2.3.3.tar.gz [root@nagios ~]# cd nagios-4.4.5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실행
./configure:예제
[root@nagios nagios-4.4.5]# ./configure --with-command-group=nagcmd
[root@nagios nagios-4.4.5]# ./configure --with-command-group=nagcmdCopy to Clipboard Copied! Toggle word wrap Toggle overflow core 소스 코드를 컴파일합니다.
예제
[root@nagios nagios-4.4.5]# make all
[root@nagios nagios-4.4.5]# make allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이 소스 코드를 설치합니다.
예제
[root@nagios nagios-4.4.5]# make install [root@nagios nagios-4.4.5]# make install-init [root@nagios nagios-4.4.5]# make install-config [root@nagios nagios-4.4.5]# make install-commandmode [root@nagios nagios-4.4.5]# make install-webconf
[root@nagios nagios-4.4.5]# make install [root@nagios nagios-4.4.5]# make install-init [root@nagios nagios-4.4.5]# make install-config [root@nagios nagios-4.4.5]# make install-commandmode [root@nagios nagios-4.4.5]# make install-webconfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이벤트 처리기를 복사하고 소유권을 변경합니다.
예제
[root@nagios nagios-4.4.5]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ [root@nagios nagios-4.4.5]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
[root@nagios nagios-4.4.5]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ [root@nagios nagios-4.4.5]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlersCopy to Clipboard Copied! Toggle word wrap Toggle overflow pre-flight 검사를 실행합니다.
예제
[root@nagios nagios-4.4.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@nagios nagios-4.4.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow ECDHE Core 플러그인을 만들고 설치합니다.
예제
cd ../nagios-plugins-2.3.3 [root@nagios nagios-plugins-2.3.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios [root@nagios nagios-plugins-2.3.3]# make [root@nagios nagios-plugins-2.3.3]# make install
[root@nagios ~]# cd ../nagios-plugins-2.3.3 [root@nagios nagios-plugins-2.3.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios [root@nagios nagios-plugins-2.3.3]# make [root@nagios nagios-plugins-2.3.3]# make installCopy to Clipboard Copied! Toggle word wrap Toggle overflow core 사용자 인터페이스에 대한 사용자를 생성합니다.
예제
[root@nagios nagios-plugins-2.3.3]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
[root@nagios nagios-plugins-2.3.3]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요nagiosadmin이외의 사용자를 추가하는 경우/usr/local/nagios/etc/cgi.cfg파일이 사용자 이름으로 업데이트되었는지 확인합니다.-
필요에 따라
/usr/local/nagios/etc/objects/ECDHEs.cfg파일을 사용자 이름, 전체 이름 및 이메일 주소로 수정합니다.
2.2. ECDHE Core 서비스 시작 링크 복사링크가 클립보드에 복사되었습니다!
ECDHE Core 서비스를 시작하여 Red Hat Ceph Storage 클러스터 상태를 모니터링합니다.
사전 요구 사항
- core 호스트에 대한 루트 수준 액세스.
절차
Core 및 Apache를 서비스로 추가합니다.
예제
systemctl enable nagios systemctl enable httpd
[root@nagios ~]# systemctl enable nagios [root@nagios ~]# systemctl enable httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow core 데몬 및 Apache를 시작합니다.
예제
systemctl start nagios systemctl start httpd
[root@nagios ~]# systemctl start nagios [root@nagios ~]# systemctl start httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. ECDHE Core 서버에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
ECDHE Core 서버에 로그인하여 Red Hat Ceph Storage 클러스터의 상태를 확인합니다.
사전 요구 사항
- 대시보드의 사용자 이름 및 암호입니다.
절차
up 및 running을 사용하면 기본 core 사용자의 인증 정보를 사용하여 대시보드에 로그인합니다.
구문
http://IP_ADDRESS/nagios
http://IP_ADDRESS/nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP_ADDRESS 를 core 서버의 IP 주소로 바꿉니다.
3장. FlexVolume 원격 플러그인 실행자 설치 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Ceph 스토리지 클러스터 호스트를 모니터링하고, FlexVolume 플러그인, Ceph 플러그인, NRPE(Remote Plug-in executor) 애드온을 각 Ceph 호스트에 모니터링할 수 있습니다.
시연을 위해 이 섹션에서는 호스트 이름 host01 이 있는 Ceph Monitor 호스트에 NRPE를 추가합니다. FlexVolume에서 모니터링해야 하는 모든 Ceph 호스트에서 나머지 절차를 반복합니다.
3.1. ECDHE 원격 플러그인 실행 프로그램 설치 및 구성 링크 복사링크가 클립보드에 복사되었습니다!
ECDHE Remote Plug-in Executor(NPRE)를 설치하고ECDHE Core 서버와 통신하도록 구성합니다.
사전 요구 사항
- Ceph 모니터 호스트에 대한 루트 수준 액세스.
절차
호스트에 다음 패키지를 설치합니다.
예제
dnf install openssl openssl-devel gcc make git
[root@host01 ~]# dnf install openssl openssl-devel gcc make gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow NRPE를 설치하려면 사용자가 필요합니다. 먼저 사용자를 생성합니다.
예제
useradd nagios passwd nagios
[root@host01 ~]# useradd nagios [root@host01 ~]# passwd nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 버전의ECDHE 플러그인을 다운로드합니다. 그런 다음, 만들고 설치합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 버전의 Ceph 플러그인을 다운로드합니다.
예제
[root@host01 nagios-plugins-2.3.3]# cd ~ git clone --recursive https://github.com/ceph/ceph-nagios-plugins.git cd ceph-nagios-plugins make dist make install
[root@host01 nagios-plugins-2.3.3]# cd ~ [root@host01 ~]# git clone --recursive https://github.com/ceph/ceph-nagios-plugins.git [root@host01 ~]# cd ceph-nagios-plugins [root@host01 ceph-nagios-plugins]# make dist [root@host01 ceph-nagios-plugins]# make installCopy to Clipboard Copied! Toggle word wrap Toggle overflow download, make, and install NRPE를 설치합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방화벽을 사용하는 경우 NRPE와의 통신을 허용하도록 포트
5666을 엽니다.예제
firewall-cmd --zone=public --add-port=5666/tcp firewall-cmd --zone=public --add-port=5666/tcp --permanent
[root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp [root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- Ceph용ECDHE 플러그인에 대한 자세한 내용은 Ceph용 플러그인에서 참조하십시오.
3.2. ECDHE 원격 플러그인 실행 서비스 시작 링크 복사링크가 클립보드에 복사되었습니다!
NRPE(Remote Plug-in Executor) 서비스를 시작하여 데이터를 수집하고ECDHE Core 서버에 다시 보고합니다.
사전 요구 사항
- Ceph Monitor 호스트에 대한 루트 수준 액세스
절차
NRPE 서비스를 활성화하고 시작합니다.
예제
systemctl enable nrpe systemctl start nrpe
[root@host01 ~]# systemctl enable nrpe [root@host01 ~]# systemctl start nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. 원격 노드에 대한 Core 서버 액세스 구성 링크 복사링크가 클립보드에 복사되었습니다!
원격 머신의 NPRE(Remote Plugin Executor)에 액세스하려면 원격 시스템의 NRPE 구성을 core 서버의 IP 주소로 업데이트해야 합니다.
사전 요구 사항
- core 서버에 대한 루트 수준 액세스.
- 인터넷 접속.
- ECDHE 원격 플러그인 실행자 액세스.
절차
서버의 IP 주소를 사용하여 NRPE 구성을 편집합니다.
예제
vi /usr/local/nagios/etc/nrpe.cfg
[root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow allowed_hosts설정에 core 서버의 IP 주소를 추가합니다.구문
allowed_hosts=127.0.0.1,IP_ADDRESS_OF_NAGIOS_CORE_SERVER
allowed_hosts=127.0.0.1,IP_ADDRESS_OF_NAGIOS_CORE_SERVERCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP_ADDRESS_OF_NAGIOS_CORE_SERVER 를ECDHE Core 서버의 IP 주소로 바꿉니다.
nrpe를 다시 시작하십시오.예제
systemctl restart nrpe
[root@host01 ~]# systemctl restart nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
설치를 테스트합니다.
예제
/usr/local/nagios/libexec/check_nrpe -H localhost
[root@host01 ~]# /usr/local/nagios/libexec/check_nrpe -H localhostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 검사가 올바르게 작동하는 경우 에코
NRPE v4.0.3이어야 합니다.
4장. core 서버에서 원격 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
원격 호스트를 인식하도록 core 서버를 구성합니다.
사전 요구 사항
- DestinationRule Core 서버의 원격 노드에 대한 루트 수준 액세스.
- 인터넷 접속.
절차
check_nrpe플러그인을 설치합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격 호스트에 대한 구성을 생성합니다.
구문
cd /usr/local/nagios/etc/objects cp localhost.cfg HOST_TO_ADD.cfg
cd /usr/local/nagios/etc/objects cp localhost.cfg HOST_TO_ADD.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[root@nagios nrpe-4.0.3]# cd /usr/local/nagios/etc/objects cp localhost.cfg host01.cfg
[root@nagios nrpe-4.0.3]# cd /usr/local/nagios/etc/objects [root@nagios objects]# cp localhost.cfg host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 파일을 편집하고 원격 호스트의 설정을 업데이트합니다.
구문
vi HOST_TO_ADD.cfg
vi HOST_TO_ADD.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
vi host01.cfg
[root@nagios objects]# vi host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LOCALHOST 를 원격 호스트의 호스트 이름으로 바꾸고
127.0.0.1을 Ceph 모니터 호스트의 IP 주소로 바꿉니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트 그룹 정의를 삭제하거나 주석으로 처리하십시오.
예제
vi host01.cfg
[root@nagios objects]# vi host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 소유권을ECDHE로 변경합니다.
예제
chown nagios:nagios host01.cfg
[root@nagios objects]# chown nagios:nagios host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/local/nagios/etc/nagios.cfg:의host01.cfg파일에cfg_file=참조를 추가합니다.예제
vi /usr/local/nagios/etc/nagios.cfg
[root@nagios objects]# vi /usr/local/nagios/etc/nagios.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow cfg_file=/usr/local/nagios/etc/objects/host01.cfg
cfg_file=/usr/local/nagios/etc/objects/host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow server를 다시 시작합니다.
예제
systemctl restart nagios
[root@nagios objects]# systemctl restart nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow make 및 install 프로시저가 제대로 작동하고 NRPE가 포함된 원격 호스트 및 Core 서버 간 연결이 있는지 확인합니다.
구문
/usr/local/nagios/libexec/check_nrpe -H HOSTNAME_OF_REMOTE_HOST
/usr/local/nagios/libexec/check_nrpe -H HOSTNAME_OF_REMOTE_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME_OF_REMOTE_HOST 를 모니터링할 Ceph 호스트의 IP 주소로 바꿉니다.
예제
/usr/local/nagios/libexec/check_nrpe -H host01
[root@nagios objects]# /usr/local/nagios/libexec/check_nrpe -H host01Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
-
검사가 올바르게 작동하는 경우 에코
NRPE v4.0.3이어야 합니다.
5장. Ceph 플러그인 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터의ECDHE 플러그인을 구성합니다.
사전 요구 사항
- Ceph Monitor 호스트 및ECDHE Core Server에 대한 루트 수준 액세스.
- 실행 중인 Red Hat Ceph Storage 클러스터.
절차
Ceph 모니터 호스트에 로그인하고 Ceph 키와 keyring을 만듭니다.
예제
ssh user@host01 sudo su - cd /etc/ceph ceph auth get-or-create client.nagios mon 'allow r' > client.nagios.keyring
[root@nagios ~]# ssh user@host01 [user@host01 ~]$ sudo su - [root@host01 ~]# cd /etc/ceph [root@host01 ceph]# ceph auth get-or-create client.nagios mon 'allow r' > client.nagios.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 플러그인에는 인증이 필요합니다. 플러그인이 포함된 각 호스트에 대해 이 절차를 반복합니다.
check_ceph_health플러그인에 대한 명령을 추가합니다.예제
vi /usr/local/nagios/etc/nrpe.cfg
[root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow command[check_ceph_health]=/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring
command[check_ceph_health]=/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow nrpe서비스를 활성화하고 다시 시작합니다.예제
systemctl enable nrpe systemctl restart nrpe
[root@host01 ~]# systemctl enable nrpe [root@host01 ~]# systemctl restart nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트에 적용되는 각 Ceph 플러그인에 대해 이 절차를 반복합니다.
Core 서버로 돌아가서 NRPE 플러그인에 대한
check_nrpe명령을 정의합니다.예제
cd /usr/local/nagios/etc/objects vi commands.cfg
[root@nagios ~]# cd /usr/local/nagios/etc/objects [root@nagios objects]# vi commands.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구문
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }Copy to Clipboard Copied! Toggle word wrap Toggle overflow ECDHE Core 서버에서 노드의 구성 파일을 편집하고 Ceph 플러그인에 대한 서비스를 추가합니다.
예제
vi /usr/local/nagios/etc/objects/host01.cfg
[root@nagios objects]# vi /usr/local/nagios/etc/objects/host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 모니터링할 Ceph 호스트의 호스트 이름으로 바꿉니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고check_command설정은 Ceph 플러그인 이름 앞에check_nrpe!를 사용합니다. 이는 NRPE에 원격 노드에서check_ceph_health명령을 실행하도록 지시합니다.- 호스트에 적용되는 각 플러그인에 대해 이 절차를 반복합니다.
core 서버를 다시 시작합니다.
예제
systemctl restart nagios
[root@nagios ~]# systemctl restart nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 구성을 진행하기 전에 플러그인이 Ceph 호스트에서 작동하는지 확인합니다.
구문
/usr/lib/nagios/plugins/check_ceph_health --id NAGIOS_USER --keyring /etc/ceph/client.nagios.keyring
/usr/lib/nagios/plugins/check_ceph_health --id NAGIOS_USER --keyring /etc/ceph/client.nagios.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring HEALTH OK
[root@host01 ~]# /usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring HEALTH OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고check_ceph_health플러그인은ceph health명령과 동일한 기능을 수행합니다.
추가 리소스
- CephECDHE 플러그인 사용법에 대한 자세한 내용은 Ceph 플러그인에서 참조하십시오.