반응형
작업 구분 | 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
반응형