목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

문제

프로메테우스 디스크 공간 사용량 감소 절차

소개

이 문서에서는 Cisco CPS(Policy Suite) - DRA(Diameter Routing Agent)에서 프로메테우스 디스크 공간 사용을 줄이기 위한 절차에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- 리눅스

- CPS

참고: CPS-DRA CLI에 대한 권한 관리자 및 cps 사용자 액세스 권한이 있어야 합니다.

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- CPS-DRA 21.1.

- UCS(Unified Computing System)-B

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.

배경 정보

CPS는 Prometheus 및 Grafana를 사용하여 KPI(Key Performance Indicators) 및 성능을 모니터링합니다.

프로메테우스는 이벤트를 모니터링하고 알림을 보내는 데 사용되는 무료 소프트웨어 애플리케이션입니다. HTTP(Hypertext Transfer Protocol) 끌어오기 모델을 사용하여 구축된 시계열 데이터베이스(높은 차원성을 허용)에 유연한 쿼리 및 실시간 경고를 사용하여 실시간 메트릭을 기록합니다. 프로메테우스는 대시보드 솔루션으로 의도된 것이 아닙니다. 대시보드를 생성하려면 Grafana와 연결해야 합니다.

간단히 말해, 프로메테우스는 메트릭과 같은 시계열 데이터를 저장하는 모니터링 솔루션입니다. 그라파나는 프로메테우스에 저장된 데이터를 시각화할 수 있습니다.

문제

트래픽이 급증하거나 다른 이유로 인해 Prometeus 디스크 공간 사용량이 높은 상황이 발생할 수 있습니다. Promeetus 디스크 사용량이 70%를 초과할 때마다 경고가 트리거되고 사용량이 100%에 도달하면 Grafana는 대시보드에 데이터 표시를 중지합니다.

프로메테우스 데이터를 저장하는 디스크 파티션은 /stats입니다.

Filesystem Size Used Avail Use% Mounted on

udev 32G 0 32G 0% /dev

tmpfs 6.3G 3.1M 6.3G 1% /run

/dev/sda3 97G 13G 81G 14% /

tmpfs 32G 0 32G 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 32G 0 32G 0% /sys/fs/cgroup

/dev/sda1 180M 55M 113M 33% /boot

/dev/sdb2 128G 82G 41G 68% /stats

/dev/sdb1 69G 16G 50G 25% /data

프로메테우스 디스크 공간 사용량 감소 절차

방법 1. 지정된 시간 간격에 따라 가장 오래된 데이터를 자동으로 제거할 수 있는 보존 시간을 적절하게 수정하는 임시 해결 방법입니다.

다음은 보존 시간을 8760시간에서 1시간으로 수정하는 예입니다.

1단계. DRA Primary Orchestrator에서 이 명령을 실행하여 모든 프로메테우스 계획 컨테이너에서 supervisorctl을 중지합니다.

admin@orchestrator[pn-master-0]# docker exec prometheus-planning- "supervisorctl stop all"

==========output from container prometheus-planning-s101===========

haproxy: stopped

prometheus-old: stopped

prometheus: stopped

consul: stopped

==========output from container prometheus-planning-s102===========

haproxy: stopped

prometheus: stopped

prometheus-old: stopped

consul: stopped

==========output from container prometheus-planning-s103===========

haproxy: stopped

prometheus: stopped

prometheus-old: stopped

consul: stopped

2단계. DRA Primary Orchestrator에서 이 명령을 실행하여 보존 기간을 적절하게 수정합니다.

admin@orchestrator[pn-master-0]# docker connect prometheus-planning-s101

root@prometheus-planning-s101:/# sudo sed -i 's/8760h/1h/g' /etc/supervisor/conf.d/supervisord.conf

root@prometheus-planning-s101:/# supervisorctl update all

prometheus: stopped

prometheus: updated process group

prometheus-old: stopped

prometheus-old: updated process group

root@prometheus-planning-s101:/# exit

exit

마찬가지로 프로메테우스-planning-s102 및 프로메테우스-planning-s103에 대해 반복합니다.

3단계. DRA Primary Orchestrator에서 이 명령을 실행하여 모든 프로메테우스 계획 컨테이너에서 supervisorctl을 시작합니다.

admin@orchestrator[pn-master-0]# docker exec prometheus-planning- "supervisorctl restart all"

==========output from container prometheus-planning-s101===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

==========output from container prometheus-planning-s102===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

==========output from container prometheus-planning-s103===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

4단계. DRA Primary Orchestrator에서 상태 검사를 확인합니다.

#show system status

#show system diagnostics | tab | exclude pass

#docker logs prometheus-planning-s101, docker logs prometheus-planning-s102, docker logs prometheus-planning-s103

방법 2. /stats에서 데이터를 적절하게 제거하는 해결 방법.

1단계. DRA Primary Orchestrator에서 이 명령을 실행하여 모든 프로메테우스 계획 컨테이너에서 supervisorctl을 중지합니다.

admin@orchestrator[pn-master-0]# docker exec prometheus-planning- "supervisorctl stop all"

==========output from container prometheus-planning-s101===========

haproxy: stopped

prometheus: stopped

prometheus-old: stopped

consul: stopped

==========output from container prometheus-planning-s102===========

haproxy: stopped

prometheus: stopped

prometheus-old: stopped

consul: stopped

==========output from container prometheus-planning-s103===========

haproxy: stopped

prometheus: stopped

prometheus-old: stopped

consul: stopped

admin@orchestrator[pn-master-0]#

2단계. Primary, control-0, control-1에서 필요한 이전 데이터(가장 오래된 데이터 제거)를 제거합니다.

여기서 Primary, control-0 및 control-1에서 2021년 7월-1일까지 데이터를 제거할 수 있습니다.

기본 노드에 cps 사용자로 로그인하고 /stats/prometheus-planning/2.0 디렉토리로 이동합니다.

1차 대상:

cps@pn-master-0:/stats/prometheus-planning/2.0$

drwxr-xr-x 3 root root 4096 Jul 4 2021 01F9RJSYA74WMD4PR1GW4PD16S

drwxr-xr-x 3 root root 4096 Jul 24 2021 01FBCGFSX6WH8QGRDD1EFQFJTV

drwxr-xr-x 3 root root 4096 Aug 13 2021 01FD0N12YBF3VB5F37XBVW2MM5

drwxr-xr-x 3 root root 4096 Sep 3 2021 01FEMSJSEKS8ZQQSCHPSSXNBQD

drwxr-xr-x 3 root root 4096 Sep 23 09:00 01FG8Y466EPGF3BBS1W3JXQA30

drwxr-xr-x 3 root root 4096 Oct 13 15:00 01FHX2P112B5DCQYKNTNB7GB2F

drwxr-xr-x 3 root root 4096 Nov 2 21:00 01FKH77D8TMDW3XV8MQMB0641N

drwxr-xr-x 3 root root 4096 Nov 23 03:00 01FN5BRXQ5ERW24CEK7GRFJXZW

drwxr-xr-x 3 root root 4096 Dec 13 09:00 01FPSGAEST7K8K96KT616T3FTX

drwxr-xr-x 3 root root 4096 Jan 2 15:00 01FRDMW8Z9J48QM3VQ8AG2PJ63

drwxr-xr-x 3 root root 4096 Jan 22 21:00 01FT1SDKXW2E4KWJ7WFB4R80YP

drwxr-xr-x 3 root root 4096 Feb 14 05:08 01FVVA4C33QPC9P0WTH3VYXBWW

drwxr-xr-x 3 root root 4096 Mar 4 09:00 01FXA2GP1GAHHMY6GAW2SPHZMV

drwxr-xr-x 3 root root 4096 Mar 11 03:00 01FXVEPF1VK6RBKXZ3T8MX5PPY

drwxr-xr-x 3 root root 4096 Mar 13 09:00 01FY1832D9C31CYQKTZV2W17CZ

drwxr-xr-x 3 root root 4096 Mar 14 03:00 01FY35WKHJAC5AH4EZH9YWFK5B

drwxr-xr-x 3 root root 4096 Mar 14 21:00 01FY53P4QAQEDDE4DSFHRPSCM2

drwxr-xr-x 3 root root 4096 Mar 15 03:00 01FY5R9A5PA7H0M30HC44RVQBH

drwxr-xr-x 3 root root 4096 Mar 15 03:00 01FY5R9AAQBEH9PMEXF7M508XK

drwxr-xr-x 3 root root 4096 Mar 15 05:00 01FY5Z51DNMGHPRFSQ20G43ETW

drwxr-xr-x 23 root root 4096 Mar 15 05:00 .

drwxr-xr-x 2 root root 4096 Mar 15 05:00 wal

이 명령을 실행하여 필요한 데이터를 제거합니다.

cps@pn-master-0:/stats/prometheus-planning/2.0$ sudo rm -rf 01FBCGFSX6WH8QGRDD1EFQFJTV 01F9RJSYA74WMD4PR1GW4PD16S

Control-0 노드에 cps 사용자로 로그인하고 디렉토리/stats/prometheus-planning/2.0으로 진행합니다.

컨트롤 0:

cps@pn-control-0:/stats/prometheus-planning/2.0$ ls -lrt

drwxr-xr-x 3 root root 4.0K Apr 14 2021 01F380KG1TEDJ0A4XRNDA8K8M3

drwxr-xr-x 3 root root 4.0K May 4 2021 01F4VY9BP3RMK3J2BPXSP2VQA5

drwxr-xr-x 3 root root 4.0K May 24 2021 01F6G2TTJHR1XAQBC095WN9E30

drwxr-xr-x 3 root root 4.0K Jun 14 2021 01F847CDQRHPC6SCPC659ZEFH8

drwxr-xr-x 3 root root 4.0K Jul 4 2021 01F9RBYVJSBRKAC5VFGPT9JVS1

drwxr-xr-x 3 root root 4.0K Jul 24 2021 01FBCGGD141BRR4D59Y3G9855D

drwxr-xr-x 3 root root 4.0K Aug 13 2021 01FD0N17Z3R2R2MJSG6HE1YNAT

drwxr-xr-x 3 root root 4.0K Sep 3 2021 01FEMSJZFJPCFJNENFV3JHCHCY

drwxr-xr-x 3 root root 4.0K Sep 23 09:00 01FG8Y4A0HCNVVCVNJJNGXT84Y

drwxr-xr-x 3 root root 4.0K Oct 13 15:00 01FHX2P1F8EZVC8EDQVXH4C3VW

drwxr-xr-x 3 root root 4.0K Nov 2 21:00 01FKH77FAJ0DS4P8J8QBQKTC75

drwxr-xr-x 3 root root 4.0K Nov 23 03:00 01FN5BRV1XR7NZ0SFT63M9BR4F

drwxr-xr-x 3 root root 4.0K Dec 13 09:00 01FPSGAE6ZYXQNYZYS56SFNGFX

drwxr-xr-x 3 root root 4.0K Jan 2 15:00 01FRDMW8K61Y2AK96BR5N2C1YK

drwxr-xr-x 3 root root 4.0K Jan 22 21:00 01FT1SDKW7X7HYPEKR5P76NWNB

drwxr-xr-x 3 root root 4.0K Feb 14 05:14 01FVVAEZPBT17H5XCDFC18YPQK

drwxr-xr-x 3 root root 4.0K Mar 4 09:00 01FXA2GNCMTB54N66W18NPJDBR

drwxr-xr-x 3 root root 4.0K Mar 11 03:00 01FXVEPEY54S4YEGJBPC42K01C

drwxr-xr-x 3 root root 4.0K Mar 13 09:00 01FY18329GPWH49HX61GNSDYT6

drwxr-xr-x 3 root root 4.0K Mar 14 03:00 01FY35WKDY9AZRW7DEKYS0T382

drwxr-xr-x 3 root root 4.0K Mar 14 21:00 01FY53P4P6FS9TGA1P1V1GJEQK

drwxr-xr-x 3 root root 4.0K Mar 15 03:00 01FY5R9A7KMN03DHNTW4ME1DA7

drwxr-xr-x 3 root root 4.0K Mar 15 03:00 01FY5R9ABDNV3D6P7S63S9JKF2

drwxr-xr-x 3 root root 4.0K Mar 15 05:00 01FY5Z51FQHV4GJ24D6S1G6QW9

drwxr-xr-x 27 root root 4.0K Mar 15 05:00 .

drwxr-xr-x 2 root root 4.0K Mar 15 05:00 wal

이 명령을 실행하여 필요한 데이터를 제거합니다.

cps@pn-control-0:/stats/prometheus-planning/2.0$ sudo rm -rf 01F380KG1TEDJ0A4XRNDA8K8M3 01F4VY9BP3RMK3J2BPXSP2VQA5 01F6G2TTJHR1XAQBC095WN9E30 01F847CDQRHPC6SCPC659ZEFH8 01F9RBYVJSBRKAC5VFGPT9JVS1 01FBCGGD141BRR4D59Y3G9855D

Control-1 노드에 cps 사용자로 로그인하고 디렉토리/stats/prometheus-planning/2.0으로 진행합니다.

제어-1:

cps@pn-control-1:/stats/prometheus-planning/2.0$ ls -lart

total 108

drwxr-xr-x 3 root root 4096 Apr 14 2021 01F380KRDADD3MMVD0VZXNZWS1

drwxr-xr-x 3 root root 4096 May 4 2021 01F4VY9MBSJ68NW8V5JR4908G0

drwxr-xr-x 3 root root 4096 May 24 2021 01F6G2V1A5Z97G6TV5G9R8MPXR

drwxr-xr-x 3 root root 4096 Jun 14 2021 01F847CE2CV31EDHFJ594FE739

drwxr-xr-x 3 root root 4096 Jul 4 2021 01F9RBY6RASP2T9G2TQJSAHKK8

drwxr-xr-x 3 root root 4096 Jul 24 2021 01FBCGFRD30XYPKRRSWA4HNPE9

drwxr-xr-x 3 root root 4096 Aug 13 2021 01FD0N14GD5B5GQJ6NVBJB6E80

drwxr-xr-x 3 root root 4096 Sep 3 2021 01FEMSJVNJ1N71YPEVB41K6AFJ

drwxr-xr-x 3 root root 4096 Sep 23 09:00 01FG8Y4FJX9K27YJX4KF7FDJAF

drwxr-xr-x 3 root root 4096 Oct 13 15:00 01FHX2P2PWCZ9B665G83WG3ZNE

drwxr-xr-x 3 root root 4096 Nov 2 21:00 01FKH77M15JFZS6TAVMRP82H8T

drwxr-xr-x 3 root root 4096 Nov 23 03:00 01FN5BS5ZE2WFMJF5PE7J41GM7

drwxr-xr-x 3 root root 4096 Dec 13 09:00 01FPSGACKH8EW951GJ04RSGACD

drwxr-xr-x 3 root root 4096 Jan 2 15:00 01FRDMW9W0110PS4NTGZ7VETV7

drwxr-xr-x 3 root root 4096 Jan 22 21:00 01FT1SDKV8X6103294D4A5KDBY

drwxr-xr-x 3 root root 4096 Feb 14 05:14 01FVVAF1FN79BZNF25665987AV

drwxr-xr-x 3 root root 4096 Mar 4 09:00 01FXA2GWSKN955BW5FJ71C8D0A

drwxr-xr-x 3 root root 4096 Mar 11 03:00 01FXVEPGAHGS4JA55VF6RZTJWX

drwxr-xr-x 3 root root 4096 Mar 13 09:00 01FY1833FXKQGEAF2MNXWTW6J7

drwxr-xr-x 3 root root 4096 Mar 14 03:00 01FY35WMH602J2XTVNCFSNKSA1

drwxr-xr-x 3 root root 4096 Mar 14 21:00 01FY53P5SKC3P95XA721ANTVPC

drwxr-xr-x 3 root root 4096 Mar 15 03:00 01FY5R9B8QZF64AENGQSNWSCHH

drwxr-xr-x 3 root root 4096 Mar 15 03:00 01FY5R9BDMRZHK5K3194JGARC4

drwxr-xr-x 3 root root 4096 Mar 15 05:00 01FY5Z52GS6937933QWXJ4CHVK

drwxr-xr-x 27 root root 4096 Mar 15 05:00 .

drwxr-xr-x 2 root root 4096 Mar 15 05:00 wal

이 명령을 실행하여 필요한 데이터를 제거합니다.

cps@pn-control-1:/stats/prometheus-planning/2.0$ sudo rm -rf 01F380KRDADD3MMVD0VZXNZWS1 01F4VY9MBSJ68NW8V5JR4908G0 01F6G2V1A5Z97G6TV5G9R8MPXR 01F847CE2CV31EDHFJ594FE739 01F9RBY6RASP2T9G2TQJSAHKK8 01FBCGFRD30XYPKRRSWA4HNPE9

3. DRA Primary Orchestrator에서 이 명령을 실행하여 모든 프로메테우스 계획 컨테이너에서 supervisorctl을 시작합니다.

admin@orchestrator[pn-master-0]# docker exec prometheus-planning- "supervisorctl start all"

==========output from container prometheus-planning-s101===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

==========output from container prometheus-planning-s102===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

==========output from container prometheus-planning-s103===========

haproxy: started

consul: started

prometheus: started

prometheus-old: started

admin@orchestrator[pn-master-0]#

4. DRA Primary Orchestrator의 상태를 확인합니다.

#show system status

#show system diagnostics | tab | exclude pass