zabbix 설치 및 설정 (window포함)

| 2020년 5월 30일 | 0 Comments

1.Zabbix-server 설치

1-1 Zabbix?

네트워크나 서버(가상)등을 포함한 서비스들을 감시하고 실시간으로 자원을 체크하여 관리자에게 신속히 알리기 위한 네트워크 관리 솔루션 소프트웨어 입니다

zabbix 에이전트를 Unix, Linux, Windows 등의 OS에 설치하여 CPU, MEM, 파일시스템(용량), 특정 TCP 등 을 포함한 많은 정보를 감시 할 수 있으며, 장애대비 모니터링으로 탁월 하다고 할 수 있습니다

1-2 centos 에서의 설치 및 설정

설치는 소스 설치와 패키지 설치 두가지로 진행하였습니다

먼저 소스설치 먼저 진행하겠습니다

소스설치 환경은 다음과 같습니다

centos 7

apache 2.4

mysql 5.5.29

php 5.5.27

apm 은 소스 설치되어 있는 상태에서 설치하였습니다

먼저 계정 및 그룹 추가 부분입니다

> groupadd zabbix

>useradd -g zabbix zabbix

> mkdir /usr/local/zabbix

> mkdir /usr/local/zabbix/server

>yum install -y libevent-devel libcurl-devel gcc* net-snmp net-snmp-devel wget

다음으로는 소스파일을 다운받고 압축해제 후 zabbix 폴더로 이동시킨후 컴파일 하겠습니다

> wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.1/zabbix-3.4.1.tar.gz

> tar zxvf zabbix-3.4.1.tar.gz

> mv zabbix-3.4.1 /usr/local/zabbix/

> cd /usr/local/zabbix/zabbix-3.4.1


>./configure –prefix=/usr/local/zabbix/server/ –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl

> make & make install

컴파일 설치 후 conf 파일을 수정해주어야 합니다

>  vi /usr/local/zabbix/server/etc/zabbix_server.conf

* 오류확인

checking for mysql_config… /usr/local/mysql/bin/mysql_config
configure: error: MySQL library not found

발생시 mysql 이 설치 되어 있지 않은 것으로 설치 해주면 해결 됩니다

vi /usr/local/zabbix/server/etc/zabbix_server.conf

12번쨰라인

# ListenPort=10051 // 주석해제

119번째 라인

# DBPassword=DB패스워드 // 주석해제 및 DB 패스워드 입력

126번째 라인

# DBSocket=/tmp/mysql.sock //주석 해제

다음은 mysqlzabbix 데이터 베이스 생성 과 DB 데이터 를 넣은다음

zabbix 디렉토리권한을 변경해줍니다

> mysql -uroot -p

>create database zabbix character set utf8 collate utf8_general_ci;

>grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;

> flush privileges;

 

> cd /usr/local/zabbix/zabbix-3.4.1/database/mysql/

>mysql -u root -p zabbix < ./schema.sql

> mysql -u root -p zabbix < ./images.sql

> mysql -u root -p zabbix < ./data.sql

> chown zabbix:zabbix -R /usr/local/zabbix/

 

DB 데이터를 넣은 후 다음과 같은 명령으로 zabbix server을 실해시켜줍니다

> /usr/local/zabbix/server/sbin/zabbix_server -c /usr/local/zabbix/server/etc/zabbix_server.conf

 

실행후 ps 명령을 통해 실행되고 있는지 확인할 수있습니다

> ps -ef | grep zabbix

zabbix 11890 1 0 20:42 ? 00:00:00 /usr/local/zabbix/server/sbin/zabbix_server -c /usr/local/zabbix/server/etc/zabbix_server.conf

 

설정을 완료 하고 zabbix 소스파일을 /home/zabbix 에 옮겨준후

apachevhost 에 등록 해주어야 합니다

> cp -arp /usr/local/zabbix/zabbix-3.4.1/frontends/php/* /home/zabbix

 

vi /usr/local/apache/conf/extra/httpd-vhost.conf

<VirtualHost *:80>

ServerAdmin teuk0113@smileserv.com

DocumentRoot “/home/zabbix”

ServerName 도메인

ErrorLog “logs/도메인-error_log”

CustomLog “logs/도메인-access_log” common

</VirtualHost>

 

모든 설정이 완료되면 ip나 도메인을 입력하면 설치 페이지가 나옵니다

next step을 눌러줍니다

다음화면은 zabbix에서 요구하는 사항을 체크 하는 부분인데

fail부분이 있다면 php.ini 설정 변경 및 모듈 설치를 통해 해결할수 있습니다

다음으로 넘어가면 DB 연결 하는 부분이 나오게 됩니다 해당 부분을 DB nameUser부분을 zabbix로 입력하고 이전에 입력한 Password를 입력후 Next step을 눌러줍니다

 

 

 

 

 

 

다음으로는 port 설정 부분인데 기본 10051 포트를 사용하고 넘어갑니다다음으로는 설정 요약 부분인데 확인하고 next step 을 눌러넘어갑니다

마지막으로 설정 파일을 다운로드 받아 /home/zabbix/conf 부분에 저장해 줍니다

 

 

저장을 했다면 다음과 같은 화면이 나오게되고 finish를 눌러줍니다

 

다음과같은 화면이 나오면 설치가 완료된것입니다

접속정보는 admin / zabbix입니다

 

다음은 패키지 설치 부분입니다

패키지 설치의 경우 zabbix 홈페이지의 다운로드에서 repoos별로 지원하고 있습니다

설치 환경은 다음과 같습니다( mysql 은 미리 설치되어있어야 합니다)

centos 7 apache-2.4.6 mysql-5.7.29 php 5.4.16 mysql-8 (centos 8)

centos 8 apache-2.4.37 mysql-5.7 php-7.2.11

centos 7 레포추가 부분입니다

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

centos 8 레포입니다

 rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm

레포추가후 yum으로 설치해줍니다

> yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

centos 8의 경우 dnf로 설치하여줍니다

> dnf
install zabbix-server-mysql zabbix-web-mysql zabbix-agent

설치후 mysql 에서 zabbix 데이터 베이스 생성 및 계정을 추가 해주고

zabbix 관련 데이터를 넣어줍니다

> mysql -uroot -p

>create database zabbix character set utf8 collate utf8_general_ci;

>grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;

> flush privileges;

>zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

 vi /etc/zabbix/zabbix_server.conf 열어서 다음과 같이 수정해줍니다

12번쨰라인

# ListenPort=10051 // 주석해제

124번째 라인

# DBPassword=DB패스워드 // 주석해제 및 DB 패스워드 입력

설정이 완료되었으면 다음과 같은 명령으로 실행하여 주고 자동실행을 등록하여 주며 방화벽 10051 번을 등록해줍니다

> systemctl restart zabbix-server zabbix-agent httpd
> systemctl enable zabbix-server zabbix-agent httpd

>iptables -A INPUT -p tcp –dport 10051 -j ACCEPT

실행 시킨 후 주소창에 서버ip/zabbix 나 도메인/zabbix로 들어가면 설치 페이지가 나오게 되는데 이전 7페이지에서 설치와 같이 세팅 해줍니다

1-3 Ubuntu 에서의 설치 및 설정

ubuntu 에서는 패키지 설치를 진행하였습니다

설치환경은 다음과 같습니다

ubuntu 16.04 ,18.04

apache 2.4.18

mysql 5.7.29

php 7.0.33

(mysql 은 따로 설치 해주어야 합니다)

ubuntu 16.04 레포를 추가해줍니다

> wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+xenial_all.deb


>dpkg -i zabbix-release_4.4-1+xenial_all.deb


> apt update

Ubuntu 18.04 입니다

> wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb


> dpkg -i zabbix-release_4.0-3+bionic_all.deb


> apt update

apt명령으로 설치 해줍니다

> apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

설치후 mysql 에서 zabbix 데이터 베이스 생성 및 계정을 추가 해주고

zabbix 관련 데이터를 넣어줍니다

> mysql -uroot -p

>create database zabbix character set utf8 collate utf8_general_ci;

>grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;

> flush privileges;

> zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

 vi /usr/local/zabbix/server/etc/zabbix_server.conf 열어서 다음과 같이 수정해줍니다

12번쨰라인

# ListenPort=10051 // 주석해제

124번째 라인

# DBPassword=DB패스워드 // 주석해제 및 DB 패스워드 입력

설정이 완료되었으면 다음과 같은 명령으로 실행하여 주고 자동실행을 등록하여 줍니다

> systemctl restart zabbix-server zabbix-agent apache2
> systemctl enable zabbix-server zabbix-agent apache2

>iptables -A INPUT -p tcp –dport 10051 -j ACCEPT

실행 시킨 후 주소창에 서버ip/zabbix 나 도메인/zabbix로 들어가면 설치 페이지가 나오게 되는데 이전 7페이지에서 설치와 같이 세팅 해줍니다

이후 방화벽 10051 번을 등록해줍니다

이상으로 ubuntu 버전 설치를 마치겠습니다

2.Zabbix-agent설치

2-1 Zabbix-agent 설치 및 연동확인

zabbix agent 설치를 하여서 agent 서버에 대한 정보를 가져오도록 하겠습니다

다음은 각 os별 설치 repo 및 설치 명령어 입니다

centos 7

> rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

centos 8

> rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm

>yum -y install zabbix-agent

ubuntu 16.04

> wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+xenial_all.deb


>dpkg -i zabbix-release_4.4-1+xenial_all.deb

ubuntu 18.04

> wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb


> dpkg -i zabbix-release_4.0-3+bionic_all.deb

>apt install zabbix-agent

다음으로 zabbix-agent 설정파일 수정해줘야 합니다

85번째 라인

Server=모니터링 서버IP

126번 라인

ServerActive= 모니터링 서버IP

Hostname=Zabbix server

수정후 다음의 명령어로 agent를 실행해 줍니다

>systemctl start zabbix-agent (centos)

>service zabbix-agent start (ubuntu)

이후 방화벽 10050 포트를 등록해주면 됩니다

windows-server

windows-server에서 zabbixagent만 지원합니다

다운로드는 홈페이지에서 다운받을 수 있습니다

저는 3.0 LTS를 다운받았습니다

Host name → Zabbix server

Zabbix server ip/dns → zabbix서버 IP나 도메인

Agent listen port → 사용할 agent port default10050

server or Proxy for active checks zabbix서버 IP나 도메인

 

다음은 에디터파일로 conf파일을 수정해 줍니다

설치 경로는 C:\Progarm fIles\Zabbix Agent 입니다

 

86 번째 라인 server → zabbix서버 IP

94 번째 라인 주석해제

128 번째 라인 ServerActive → zabbix서버 IP

설정 저장후 서비스에 들어가서 재시작을 해주면됩니다

2-2. Zabbix 설정 및 모니터링

다음으로 zabbix 설정 및 모니터링 설정부분 입니다

초기패스워드 Admin / zabbix를 하였다면 다음과 같이 나오게 됩니다

오른쪽의 사람버튼 을 누르면 다음과 같이 한글로 설정이 바뀌게 됩니다

이후 설정호스트 로 이동합니다

오른쪽 위부분 호스트 작성을 눌러 호스트를 추가해줍니다

호스트 명 : Zabbix server(agnet설정파일에 지정한 호스트명)

그룹: 선택 후 원하는 그룹을 선택합니다

다음 템플릿 부분으로 넘어가겠습니다

선택 버튼을 눌러 모니터링 할 서비스를 골라주고 원하는 서비스를 선택 하고 선택을 눌러줍니다

 

 

 

 

이후 갱신탭을 눌러 추가해줍니다 저는 FTPHTTP를 선택하였습니다

원하는 서비스를 선택 후 선택을하고 갱신을 누르고 추가합니다

테스트를 위해 모니터링 서버에 ftp와 웹서버를 내려보면 다음과 같이 경고문자가 뜨게되며 모니터링장애 탭에서 그래프도 확인할 수 있습니다

 

 

다시 데몬이 작동되면 1~3분 정도 시간이 소요되고 해결됨 라고 나오며 정상적인 것을 확인할수있습니다

 

Category: 솔루션/IT기타

Avatar

About the Author ()