zabbix

최예진·2022년 10월 15일

아이티센

목록 보기
1/1

1. zabbix 설치 및 대쉬보드

*참고 사이트
https://www.zabbix.com/

  • zabbix 버전: 5
    zabbi componentl: sever,frontend, agent
    Os version: centOs 7
    database: mySQL
    web sever: Apache

1. 서버생성 및 putty 준비

  • 서버생성

  • putty 로그인

    -sodo -i로 root 권한으로 변경

2. zabbix 패키지 설치

  • :# yum clean all
    yum 캐시 데이터로 인해 잘못된 동작이 일어날 수 있으므로 패키지를 설치하기 전에 yum clean all 명령어로 yum 캐시를 정리

3. Zabbix server, frontend, agent 설치

:# Yum install zabbix-server-mysql zabbix-agent
server, frontend, agent 를 패키지로 다운받는다

4. Zabbix frontend 설치

:# yum install centos-release-scl
Zabbix frontend 를 설치한다

:# vi /etc/yum.repos.d/zabbix.repo
Zabbix .repo 파일을 수정해주어 frontend 를 활성화해준다
[Zabbix frontend] 에서 enabled=0 으로 초기설정 되어 있는 것을 1 로 바꾸어준다

:# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
Zabbix frontend 패키지를 설치해준다.

4. database 생성

1) databse 설치

  • mysql 레포짓토리생성
    :# yum install -y (설치 다운로드 링크)
    yum install -y 뒤에 mysql 홈페이지에서 설치 다운로드 링크를 복사해서 붙인다

    yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

    -방금 설치된 mysql 레포지토리 목록을 확인
    :# yum repolist enabled | grep "mysql.*"

    -설치 가능한 mysql 패키지 목록도 확인
    :# yum search mysql

  • mysql 설치
    :# yum install -y mysql-server

    -설치가 잘 되었나 확인하기
    :# mysql -version
    :# mysqld -V

  • mysql접속
    :# systemctl start mysqld
    :# systemctl enable mysqld
    :# systemctl status mysqld

  • 패스워드확인
    :# grep 'temporary password' /var/log/mysqld.log

  • mysql 접속후 패스워드 변경
    :# mysql -u root -p
    : mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';

    *임시비밀번호로 로그인한 후 변경한다
    비밀번호에 대문자를 넣기
    quit으로 나옴

2) databases 생성 및 설정

  • Database 생성 및 계정 생성 후 권한 설정을 한다
    :# mysql -u root -p
    password

    : mysql> create database zabbix character set utf8 collate utf8_bin;
    : mysql> create user zabbix@localhost identified by 'Root1234!';
    : mysql> grant all privileges on zabbix.* to zabbix@localhost;
    : mysql> quit;

: 캐릿터 셋을 utf8로 하고,
: collate utf8_bin으로 대소문자 구분한다.
: ocalhost 유저 zabbix 생성.
: 유저 zabbix에게 이름에 zabbix이 들어간 모든 테이블에 대해 모든 권한 부여

  1. Schema

5. 스키마 적용

  • zabbix 서버 호스트에서 초기 스키마 및 데이터를 가져와 방금 생성한 Database에 적용한다
    : # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

    비밀번호는 mysql root 비밀번호 입력한다.
  • 확인해보기
    : mysql> show databases;
    : mysql> use zabbix;
    : mysql> show tables;

6. zabbix 서버에 대한 Database를 설정

  • Zabbix server 에 대한 Database 를 설정한다
    :# vi /etc/zabbix/zabbix_server.conf

    DBPassward에 아까 설정한 root비밀 번호를 넣어준다

7. Timezone 설정 후 실행

  • Zabbix frontend 의 Timezone 을 설정을 위해 zabbix conf파일을 수정한다
    :# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

    아래부분에 맨앞에 ;를 지위고 Asia,Seoul을 넣어준다.

8. 실행

: # systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
: # systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

**에러

명령어 적용이 실패했다.

해결:
:mysql> alter user 'zabbix'@'localhost' identified with mysql_native_password by 'Zbx1234!';
:mysql> grant all privileges on zabbix.* to zabbix@localhost;
:mysql> flush privileges;

mysql에서 user zabbix의 비밀번호를 변경해줬고,
zabbix 권한을 주었으며,
flush privileges;로 권한 적용을 해줬다.



명령어가 잘 적용되었다! 해결되었다.

** CDB for MySQL 을 이용한 설치

9. 웹 설정 및 계정설정

1) 웹 접속 및 설정

  • 설정

    모두 ok설정이 되었으면 다음으로 넘어 갈수 있다.

    -Database type: zabbix DB의 종류를 말한다.
    -Database host: 0으로 지정하면 MySQL 기본 포트로 지정된다. 포트 번호를 바꾼다면 보안을 더 강화할 수 있다.
    -Database name: zabbix DB 이름
    -User: zabbix DB 접속 ID를 입력
    -Password: 아까 변경한 zabbix DB 비밀번호를 입력한다.

    -Host: zabbix 서버의 IP
    -port: zabbix 서버의 사용 포트 입력
    -Name:상단 탭에 보여질 이름

    설정이 완료 되었다.

  • 로그인

    :초기 아이디 비밀번호= Admin /zabbix

  • 대쉬보드 실행

**에러

: zabbix가 구동이 되지 않고 있다

해결1)
https://jsson.tistory.com/47
centOS 는 보안정책을 관리하는 SELinux 모듈이 있는데 이것이 기본적으로 활성화 되어있어 서버 동작과 연관된 파일/시스템 등을 차단한다고 한다. => SELinux 기능을 아예 꺼버리면 된다.

:# sestatus
현재 selinux 상태를 확인해보았다
확인해 보니 이미 SELinux이 꺼져 있는 상태이였다.

=> 해결 실패

해결 2) 서버의 방화벽을 설정하여, http 포트를 열기
:# firewall-cmd --add-service=http --zone=public --permanent
:# firewall-cmd --reload

두 명령어를 이용해서 설정후,
:# systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
로 실행을 해주었다.

해결!

2) 계정
: gest모드 비활성화 시키기


:유저 생성


** nginx 웹서버

~6번까지 동일

7.

:# vi /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

8. Timezone 설정 후 실행

:#vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

2. 한글 설정 및 계정 관리

1. 한글설정하기

  • administration > user 로 들어간다
    Admin으로 들어간다

  • 한국어 설정을 해준다

  • 확인하기


잘 변경이 되었다!

3. Zabbix -웹사이트 모니터링

  1. 모니터링 구성하기







2.모니터링 구성 테스트


-결과 확인

4. 이메일 알림설정하기

  1. gmail 통합하기

1) 먼저 Gmail 계정이 외부 프로그램에서 연결을 받을 수 있도록 설정해야 합니다.
-로그인하기
-다음 url에 액세스 하기
https://myaccount.google.com/lesssecureapps

엑세스가 안됩니다 ㅠㅠ

  1. 이메일 알림 설정하기
    2)우리는 우리가 Gmail을 사용 하 여 이메일을 보낼 리눅스 명령줄을 사용할 수 있는 경우 테스트 한다

-EPEL repository 설치하기
:# yum install epel-release

:# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

-SSMTP package 설치하기
:# yum install ssmtp

-SSMTP Configuration
:# vi /etc/ssmtp/ssmtp.conf

:#echo "E-Mail using the command-line" | ssmtp yejin16000@gmail.com

오류가 뜹니다..
(구글 설정이 안되서 실패한 것같다)

5. 텔레그램 연동하기

1. 텔레그램 세팅하기

2. zabbix 세팅하기

1) 관리> 미디어타입으로 들어간다.
목록에서 telegram을 누른다.

2) Parse: Markdown 입력
Token: 텔레그렘 앱에서 받은 HTTP API Token 입력

*parse란?
ParseMode 종류는 Markdown / HTML / MarkdownV2 를 입력할 수 있다.
일종의 API 호출 발송 시 메시지를 전달하기 위한 기본 폼 종류이다.
일반적인 텍스트 형식으로만 보내는 게 아니라 커스텀할 경우 메시지 굵기, 기울기, 밑줄, 링크, 태그 등의 코드를 수정하여 보낼 수 있습니다.

3) Telegram 끝 부분 [ 테스트 ] 클릭

  • Subject(제목):임의입력
    Message(본문 내용): 임의 입력
    To: getid에서 얻었던 id입력

    테스트버튼 누름

  • 정상발송 확인

  • 텔레그램 앱에서 알람 수신확인

4) 실시간으로 알람을 받기 위해 연락방법에서 Telegram 등록

  • 관리>유저>admin 클릭

  • 연락방법> 추가
    연락방법: telegram
    수신처: getId에서 얻은 id

    그리고 추가 버튼을 눌러준다

  • 추가된 것을 확인 할 수 있다.
    마지막으로 갱신 버튼을 꼭눌러준다.

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

  • 설정>액션
    활성버튼을 누른다

  • 목록의 [Report problems to Zabbix administrators]> 오퍼레이션 > 편집

  • 다음 미디어만 사용에서 telegram설정 후 update버튼

  • 갱신 내용 확인 후 갱신버튼 누름

0개의 댓글