서버단에서의 에러나 DB 에러 발생 시 전 게시글에서 email을 통해 얼롯팅 받는 설정을 하였습니다.
이번 글에서는 Telegram을 통해 얼롯팅 받는 설정을 하고 PDF로 report를 뽑아보는 글을 써볼까 합니다.
사전 구성
- Telegram어플리케이션을 설치하고 회원가입 필요.
윈도우 PC버전 텔레그램 다운 : http://www.telegram.pe.kr/
■ 텔레그램 회원가입
■ 문자로 날라오는 코드만 입력하면 가입완료
Telegram 설정
■ Botfather 검색 후 선택-> start 클릭
■ 메세지 작성 /newbot 입력
봇 이름 생성 (임의설정)
1. Bot 사용자의 이름을 만듦 (이름 끝에는 bot으로 끝나야합니다.) (임의 설정)
Use this token to access the HTTP API: 5037093457:AAEKtiRlYIf9tLzCUTb2BoO_0UVVXDm124E
2. 사용자 이름 생성 후 나오게 되는 HTTP API접근하기 위한 토큰 키값이 생성됩니다.
※ 추후 필요하므로 별도 메모
■ Telegram에서는 Bot이 알람 메시지를 보내기 위해서는 채팅 ID 값 정보를 얻어야합니다.
IDBOT 검색 후 해당 봇 선택 -> Start
■ 메시지 작성에서 /getid 입력 -> 생성된 ID 키값 확인
■ 본인이 만든 Bot 대화창 활성화를 위해 사용자 이름을 검새하여 시작합니다.
■ /start 가 되어야 Zabbix 연동 시 문자 메세지 받을 수 있습니다.
Zabbix 설정
■ Administration -> Media types -> telegram 선택
■ ParseMode -> Markdown 입력
(3가지 중 선택 1. Markdown 2. HTML 3. Markdown )
Token -> HTTP API Token 입력
■ Telegram 끝 부분 테스트 클릭
Message -> 본문 내용 (임의 입력)
입력 후 최종 발송 테스트 클릭
■ 정상 발송 성공
■ 텔레그램 알람 수신 확인
실시간 얼롯팅 설정 방법
■ Administration -> Users -> Admin -> Type(Telegram 선택) -> Send to (수신받을 /getid ID입력) -> Use if severity(심각도 임의설정) -> Add 클릭
■ enable 클릭 (Update까지 눌러야 최종 적용 완료)
■ 트리거 액션에서도 활성화 및 Telegram 전달 설정
■ Operations -> Edit
■ Send only to 부분 Telegram 선택
■ update 클릭
■ Replication 맺어진 모니터링 slave down
MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.70.101.78
Master_User: test
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql.000002
Read_Master_Log_Pos: 1130
Relay_Log_File: mysql-relay-bin.000005
Relay_Log_Pos: 1261
Relay_Master_Log_File: mysql.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1130
Relay_Log_Space: 1986
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
1 row in set (0.00 sec)
ERROR: No query specified
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.09 sec)
■ Telegram으로 service down 얼롯팅 확인
PDF Report
[root@localhost ~]# git clone https://github.com/martinm76/zabbix-pdf-report /usr/share/zabbix/zabbix-pdf-report
[root@localhost ~]# cd /usr/share/zabbix/zabbix-pdf-report/
[root@localhost zabbix-pdf-report]# ./fixrights.sh
[root@localhost zabbix-pdf-report]# cp -arp config.inc.php.dist config.inc.php
## config 수정
[root@localhost zabbix-pdf-report]# vi config.inc.php
$zabbix_version = 5.0 ; // Some things have changed in Zabbix 5.0 that we need to take case of. Use 5.0 for version 5
$timezone = 'Asia/Seoul';
(pdf 로고도 수정가능)
$pdf_logo = './images/general/zabbix.png';
$company_name = 'YourCompany Name';
[root@localhost zabbix-pdf-report]# systemctl restart httpd.service
에러) PHP 모듈 중, curl, json 모듈이 꼭 필요합니다. 없을 경우, 추가적으로 설치 진행하면 됩니다.
[root@localhost zabbix-pdf-report]# yum -y install php-curl php-json
■ URL 접속
■ zabbix와 같이 로그인하게 되면, 호스트별로, 시간대 별로 PDF를 추출가능
■ time등 여러 설정 후 generate 클릭
■ PDF report 확인
이상으로 Telegram 연동 및 PDF Report 생성을 마치겠습니다.
다음 글에선 kakao톡으로 얼롯팅을 받아볼까 합니다.
참고
https://foxydog.tistory.com/21
'Others > DB Monitoring' 카테고리의 다른 글
[ Zabbix - 카카오톡 얼롯팅 설정 ] part 5-2 최종 (9) | 2022.02.12 |
---|---|
[ Zabbix - 카카오톡 알림 설정 ] part 5-1 (13) | 2022.02.11 |
[ Zabbix - email 얼롯팅 설정 ] part 3 (0) | 2022.02.07 |
[ Zabbix - zabbix 수집 구성 ] part 2 (0) | 2022.02.07 |
[ Zabbix - DB monitoring 서버 구축 ] part 1 (0) | 2022.02.06 |