Percona

Percona 설치 및 환경 구성

pbj1102 2023. 8. 18. 14:07
반응형
작업 구분 server / client 계정 작업 내용 / 명령어 비고 / 캡쳐
방화벽 오픈   - oracle linux용 yum, docker 등 필요 방화벽 오픈
방화벽 정보는 방화벽 워크시트 참조
 
docker 설치 centos / rhel docker.repo 다운로드 server root - centos일 경우
cd /etc/yum.repos.d
wget https://download.docker.com/linux/centos/docker-ce.repo

'- rhel일 경우
cd /etc/yum.repos.d
wget https://download.docker.com/linux/rhel/docker-ce.repo
 
repolist 확인 server root yum repolist all | grep enabled





docker-ce 설치 server root yum install docker-ce
fuse-overlayfs, fuse3-libs, slirp4netns는 CentOS-Base.repo의 [extras]에 있음

CentOS-Base.repo가 없을 경우 docker-ce.repo에 아래 내용 추가

[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


Oracle Linux oracle yum repo 다운로드 server   cd /etc/yum.repos.d
wget http://yum.oracle.com/public-yum-ol7.repo
 
repo 수정 server root vi /etc/yum.repos.d/public-yum-ol7.repo
아래 repolist들은 enabled=1이어야 함. 그 외 나머지는 enabled=0
ol7_latest
ol7_UEKR5
ol7_addons
저장 후 나가기
 
repolist 확인 server root yum repolist all | grep enabled  
docker 설치 server root yum install -y docker-engine.x86_64  
수동 설치 docker rpm 다운로드&업로드 server root - 업로드 위치 : /home
docker-ce-cli-19.03.8-3.el7.x86_64.rpm
(Option) container-selinux-2.107-3.el7.noarch.rpm
containerd.io-1.2.6-3.3.el7.x86_64.rpm
docker-ce-19.03.8-3.el7.x86_64.rpm
 
docker 설치 server root yum install /home/docker-ce-cli-19.03.8-3.el7.x86_64.rpm
(Option) yum install /home/container-selinux-2.107-3.el7.noarch.rpm
yum install /home/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install /home/docker-ce-19.03.8-3.el7.x86_64.rpm
 
docker 이미지 pull 자동 pull pull image server root docker pull percona/pmm-server:2
 
수동 pull 개요 - root pmm server가 실행될 서버가 외부 네트워크로 access가 안될 경우
즉, docker pull 이 불가능한 환경일 경우 아래와 같은 스텝으로 처리함
1) vmware 또는 외부 네트워크 가능한 환경에서 pmm-server 이미지 pull
2) docker save를 사용하여 docker 이미지 파일로 저장
3) 저장된 파일을 pmm-server 가 실행될 서버로 업로드
4) docker load를 사용하여 docker 이미지 파일 불러오기
 
pull image server (VM) root docker pull percona/pmm-server:2  
docker 이미지 to 파일로 저장 server (VM) root docker save percona/pmm-server:2 -o pmm_server_docker_image.tar  
파일 업로드 server root pmm-server가 실행될 서버에 pmm_server_docker_image.tar 파일 업로드  
파일 to docker 이미지 전환 server root docker load -i pmm_server_docker_image.tar
 
data container 생성 server root docker create -v /srv --name pmm-data percona/pmm-server:2 /bin/true volume 정보 확인
docker volume ls
docker volume inspect id
PMM Server container 실행 server root docker run -d -p 80:80 -p 443:443 --volumes-from pmm-data --name pmm-server --restart always percona/pmm-server:2 docker logs -f --tail=10 container_id
grafana admin 수정 - - 웹 브라우저에서 https://서버IP 입력
graffana 로그인 화면에서 admin / admin으로 로그인
로그인 후 비밀번호 변경
 
PMM Client 다운로드 &업로드 client root - 다운로드 파일
https://downloads.percona.com/downloads/pmm2/2.16.0/binary/redhat/7/x86_64/pmm2-client-2.16.0-6.el7.x86_64.rpm
- 업로드 경로 : /home
 
PMM Client 설치 client root yum install -y /home/pmm2-client-2.16.0-6.el7.x86_64.rpm  
Client 설정 client root pmm-admin config --server-insecure-tls --server-url=https://admin:admin@10.65.10.42:443
초기 계정 정보 :  admin / admin

PMM 설정 PMM 노드 등록 PMM용 DB 계정 생성 client-mysql root CREATE USER 'pmm'@'127.0.0.1' IDENTIFIED BY 'pass' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm'@'127.0.0.1';





환경변수(/etc/my.cnf) 수정 client-mysql root - /etc/my.cnf
# performance_schema=ON   mysql 설치시 설정함(중복)
performance-schema-instrument='statement/%=ON'
performance-schema-consumer-statements-digest=ON
innodb_monitor_enable=all

- session 에서 할때
UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES' WHERE NAME LIKE '%statements%';
SET GLOBAL innodb_monitor_enable = all;
 
노드 등록 client-mysql root pmm-admin add mysql --query-source=perfschema --username=pmm --password=pass --service-name=등록할 서비스명 --host=pmm-server 아이피 --port=mysql 포트
[예] pmm-admin add mysql --query-source=perfschema --username=pmm --password=pass --service-name=MYSQL_NODE --host=127.0.0.1 --port=3306
 
PMM Alert SMS 설정 Telegram BOT
생성 & 설정
Telegram BOT 생성 web browser
& Telegram 앱
-
- BOT 생성 URL : https://telegram.me/botfather 접속
- BOT 이름 : 한글, 영문 가능
- BOT ID : 영문으로 해야하며 반드시 bot으로 끝나야함
 
Telegram 정보 확인 (Token) Telegram 앱 - - BOT Token(발신인) 확인
BOT ID 입력 후 BotFather 메시지 하단에서 확인 가능함 : 메모장에 복사
- BOT과의 대화창 주소
t.me/BOT ID
[예] BOT ID가 ace_pmm_alert_bot일 경우 대화창 주소
t.me/ace_pmm_alert_bot
 
Telegram 정보 확인 (Chat ID) web browser   1) Chat ID(수신인) 확인
https://api.telegram.org/bot봇Token값/getUpdates   이동
[예]  BOT Token : 1831336952:AAH1Ebji8sBxMD1t0vnVQU_DrK2mbSZJkSY일 경우
https://api.telegram.org/bot1831336952:AAH1Ebji8sBxMD1t0vnVQU_DrK2mbSZJkSY/getUpdates
→ 결과값으로 {"ok":true,"result":[]} 나옴
2) BotFather과의 대화창으로 가서 BOT 대화 창 주소 클릭(t.me/ace_pmm_alert_bot)
3) BOT(ace_pmm_alert_bot)과 대화 (아무말이나)
4) 웹브라우저에 열어놓은 https://api.telegram.org/bot봇Token값/getUpdates   이동
5) 화면 리프레시(F5)
6) Chat ID 확인 : from 뒤에 나오는 id가 Chat ID 임
 
  PMM Alert SMS 설정 Nitification 채널 등록 PMM-server 관리화면 admin 1) PMM 관리화면에서 Alerting 메뉴로 이동
2) 채널 추가 (Add Channel)
3) Notification channel 정보 입력
- Name : Notification channel 이름 입력, 사용자 지정
- Type : Telegram 선택
- BOT API Token : BOT 생성 시 확인하였던 Token(18313…) 입력
- Chat ID : 웹 브라우저에서 확인한 Chat ID 입력









 

참고 사이트 

https://gabrielkim.tistory.com/entry/Telegram-Bot-Token-%EB%B0%8F-Chat-Id-%EC%96%BB%EA%B8%B0

 

[Telegram] Bot Token 및 Chat Id 얻기

텔레그램을 이용하여 홈 서버나 NAS에서 메시지를 받을 수 있는데 이 때 필요한 것이 Bot Token 및 Chat Id 이다. Telegram API 를 이용하여 Bot Token(발신인) 이 Chat Id(수신인) 으로 메시지를 보내는 것이다.

gabrielkim.tistory.com

 

Percona 의 PMM 

https://www.percona.com/software/database-tools/percona-monitoring-and-management

반응형