[ Zabbix - Telegram 연동 & PDF report생성 ] part 4

서버단에서의 에러나 DB 에러 발생 시 전 게시글에서 email을 통해 얼롯팅 받는 설정을 하였습니다.

이번 글에서는 Telegram을 통해 얼롯팅 받는 설정을 하고 PDF로 report를 뽑아보는 글을 써볼까 합니다.

 

 

 

 사전 구성

 

- Telegram어플리케이션을 설치하고 회원가입 필요.

 

윈도우 PC버전 텔레그램 다운http://www.telegram.pe.kr/

 

텔레그램 한글사이트

텔레그램 PC버전 다운로드,텔레그램 메신저 소개,한국어 한글 제공

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 대화창 활성화를 위해 사용자 이름을 검새하여 시작합니다.

※ 대화창 활성화를 미리 해야 Zabbix 연동 시에 알람 문자를 받을 수 있습니다.
검색부분에 [만든 봇이름] 검색 -> 결과에서 나온 봇 선택 후 -> Start

 

 

 

 

 /start 가 되어야 Zabbix 연동 시 문자 메세지 받을 수 있습니다.

 

 

 

 

 

Zabbix 설정

 

Administration -> Media types -> telegram 선택

 

 

 

 ParseMode -> Markdown 입력   

(3가지 중 선택  1. Markdown  2. HTML  3. Markdown )

Token -> HTTP API Token 입력

 

 

 

 

 Telegram 끝 부분 테스트 클릭

Message -> 본문 내용 (임의 입력)

Subject -> 제목 (임의 입력)
To -> /getid 얻었던 ID 입력

입력 후 최종 발송 테스트 클릭

 

 

 

 정상 발송 성공

 

 

 

 

 텔레그램 알람 수신 확인

 

 

 

 

 

 실시간 얼롯팅 설정 방법

 Administration -> Users -> Admin -> Type(Telegram 선택) -> Send to (수신받을 /getid ID입력) -> Use if severity(심각도 임의설정) -> Add 클릭

 

 

 

 enable 클릭 (Update까지 눌러야 최종 적용 완료)

 

 

 

 

 트리거 액션에서도 활성화 및 Telegram 전달 설정 

Configuration -> Actions -> status를 Enabled로 클릭 -> Report problems to Zabbix administrators 클릭

 

 

 

 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 접속

URL 형식 : http://serverip/zabbix/zabbix-pdf-report
 
 

 zabbix와 같이 로그인하게 되면, 호스트별로, 시간대 별로 PDF를 추출가능 

 

 

 time등 여러 설정 후 generate 클릭

 
 

 PDF report 확인

 

 

 

 

이상으로 Telegram 연동 및 PDF Report 생성을 마치겠습니다.

다음 글에선 kakao톡으로 얼롯팅을 받아볼까 합니다.

 

 

 

참고

 

https://foxydog.tistory.com/21

 

Zabbix 5.0 LTS + 텔레그램 연동 [1]

 Zabbix 5.0 LTS + Telegram Monitoring Zabbix 모니터링에서 발생하는 이벤트 트리거 메시지를 Telegram 메신저 API와 연동하여 개인 PC/모바일에서 받을 수 있도록 연동하는 방법을 알아보도록 하겠습니다. Te.

foxydog.tistory.com