━━━━ ◇ ━━━━
정보보안실무/데이터베이스

PMM 데이터베이스 관리 모니터링

728x90
반응형

구축환경
CentOS7
PMM

PMM이란?

Percona(페르소나)에서 제공하는 오픈소스 데이터베이스 모니터링 툴이다. 상용 DBMS 모니터링을 지원하는 오라클과는 달리 상용 DBMS 모니터링을 지원하지는 않지만 대부분의 오픈소스 DB 지원한다. SQL문 성능 분석 기능과 함께 화면에서 동시에 여러 DB의 주요 메트릭을 관리할 수 있는 장점이 있다

PMM
프로메테우스(Prometheus) 기반이며 관측된 메트릭 정보는 프로메테우스의 vicoriametrics 저장된다.

그리고 환경 설정 정보는 postgreSQL 저장된다. 

 

PMM 클라이언트 패키지 구성

- pmm-admin : 모니터링할 데이터베이스 인스턴스를 추가하거나 제거하고, PMM 클라이언트를 관리하기 위한 명령줄 도구이다. (모니터링)서버에 등록한다. 

- pmm-agent : 클라이언트 인증을 수행하고 PMM 서버에 저장된 클라이언트 구성을 가져오고 내보내기를 한다. 또한 기타 에이전트도 관리한다.

- exporter : 각 시스템의 노드 또는 DB 메트릭을 수집한다. 

 

PMM 서버 구축 방식

방식 장점 단점
Amazon AWS 쉬운 설치 인프라 비용
Virtual appliance 원하는 하이퍼바이저로 쉽게 가져올 수 있음  Docker보다 더 많은 시스템 리소스 발생
Docker 빠르고 단순한 설치 사전에 Docker 설치 필요
추가 네트워크 구성이 필요함

1. PMM 서버만들기

PMM-server 머신 만들기

CentOS 이미지 넣기, 네트워크 브릿지

yum update -y
패키지 업데이트 최신화

ip 확인 

percona.com 사이트 참고

yum install -y docker docker-registry
Docker 설치
systemctl start docker
systemctl enable docker
Docker 활성화

 

이미지 받아오기 (태그(:)를 넣지 않으면 최신버전을 받게 된다)

docker pull percona/pmm-server

 

docker images
내가 받은 이미지들 확인

 

docker create -v /opt/prometheus/data -v /opt/consul-data -v /var/lib/mysql --name pmm-data percona/pmm-server /bin/true
pmm 서버를 설치할 때의 기본값, 컨테이너에 이름 설정하고 경로
받은 이미지를 컨테이너에 집어 넣는 과정이다.

 

docker run --detach --restart always --publish 8080:80 --publish 4433:443 --volumes-from pmm-data --name pmm-server percona/pmm-server
항상 실행되도록 설정, 80, 443 포트로 접속 가능하도록 설정, 실행되는 docker 프로세서 이름지정, 마지막은 원본
docker ps (현재 프로세서를 알려주는 명령어)

 

웹에 ip 주소 및 포트 입력

Home dashboard 접속 및 로그인 (admin/admin) - 비밀번호 변경

 

 


2. 클라이언트 머신 구축

다른 CentOS 머신 실행

클라이언트 (10.36) - 모니터링 되어지는 역할 담당

pmm 클라언트는 저장소에서 가져와서 설치할 수 있다.

 

저장소 설치
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
이 경로를 설치하게 되면 경로에서 rpm 파일을 다운 받을 수 있고, 혹은 wget을 사용해도 된다.
또 다른 방법은 CentOS의 저장소에 이 위치를 등록하고 yum으로 설치해도 된다.
지금은 yum으로 설치하기 위해서 저장소 설치
프로그램 설치
yum install -y pmm2-client
systemctl status pmm-agent
클라이언트에 mariadb-server 설치(DB서버 역할)
mariadb 접속
create user ‘pmm’@’localhost’ identified by ‘1234’;
계정 하나 만들기
grant all privileges on *.* to ‘pmm’@’localhost’;
원래는 모든 권한을 주면 안되지만 지금은 테스트니까 모든권한 주기
show databases;

현재는 스키마에 권한 설정 불가함
flush privileges;
quit
서버등록(dashboard에 접속하는 계정과 비번 입력, @ 서버ip주소와 포트)
pmm-admin config --server-insecure-tls --server-url=https://admin:123456@192.168.10.21:4433

서버 웹 대시보드에서 확인하면 모니터링이 2개가 등록됐다.
DB내보내기로 연동(질의의 위치에 관련된 내용)
pmm-admin add mysql --query-source=perfschema --username=pmm --password=1234

서버 웹 대시보드에서 연동이 된 것을 확인할 수 있다.

 

 


클라이언트머신 2 추가 (10.26)

hostname이 겹칠 때 설정방법

hostnamectl set-hostname 이름
hostname (확인)
reboot
변경됨

 

 


3. PMM-server머신           

머신 한 개(DB서버) 웹서버 역할로 설정

yum install -y httpd php php-mysql
systemctl start httpd
웹서버로 접속 가능한지 확인
yum install -y php php-mysql mysql mariadb-server
DB접속
create database member;
use member;
create table people (id int not null auto_increment, name varchar(10), email varchar(3), num varchar(10), primary key(id));
 
engin=innoDB default charset=utf8; (이노DB(기본값) 설정 및 캐릭터 셋 설정가능)

현재 DB서버에 웹서버가 같이 돌고 있음

 

cd /var/www/html
vi signup.php  (회원가입과 관련된 파일 하나 만들기)

여기서 label 이 맞음!!!!!!!!!!!!!!!!!!!!!!!



하지만 지금은 이동이 되지 않는다. 이제 만들기 시작

 

 

vi sign_action.php

 

 

저장 한 뒤 다시 입력해보면 아래와 같이 DB에도 잘 추가가 된다.

 
728x90
반응형
COMMENT