본문 바로가기

프로그래밍/ZABBIX

OpenSuse환경에서 ZABBIX(소스파일) 셋팅

  • 작업환경은 다음과같다.

-OpenSuse leap 15

-Zabbix 4.0 ( 소스파일..)

-MariaDB


  • 작업편의를 위해서 먼저 방화벽을 내린다.

#systemctl stop firewalld

#systemctl disable firewalld


  • 본격적으로 ZABBIX에 필요한 설치를 해보자면..(gnome환경의 yast에서 설치하였으나, zypper install ~~ 이렇게 해도가능)

MariaDB 설치

*libmariadb-devel

*libmariadb3

*libmysql-devel

*libmysqld19

*mariadb

*mariadb-client

    1)외부에서 db접근

         1-1)vi /etc/my.cnf

         1-2)bind-address = 0.0.0.0 (bind-address=127.0.0.1 에서 변경)



PHP 설치

*php7

*apache2-mod_php7

*php7-bcmath

*php7-curl

*php7-devel

*php7-gd

*php7-ldap

*php7-mbstring

*php7-mysql

*php7-sockets

*php7-gettext


+추가 셋팅 (zabbix요구사항)

#vi /etc/php7/apache2/php.ini

max_execution_time = 300

memory_limit = 256M

post_max_size = 32M

max_input_time = 300

date.timezone = Asia/Seoul

로 변경


zabbix 그룹 및 계정 생성

#groupadd zabbix

#useradd –g zabbix zabbix

#mkdir /home/zabbix

#chmod 777 /home/zabbix


zabbix 공식 사이트에서 소스파일 download!

다운받은 zabbix-4.0.4.tar.gz를 zabbix폴더에 압축해제

#cd /home/zabbix

#tar -zxvf zabbix-4.0.4.tar.gz (zabbix폴더에 다운받은상황)


mysql db생성 및 스키마 셋팅

-zabbix라는 데이터베이스를 만듭니다.

-zabbix라는 MySQL 사용자 계정을 만듭니다.

-zabbix 사용자에게 zabbix 데이터베이스에 대한 모든 권한을 부여합니다.

#CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;

#CREATE USER 'zabbix'@'%' IDENTIFIED BY 'password';

#GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%’ identified by ‘password’ with grant option;

#GRANT ALL PRIVILEGES ON zabbix.* TO ‘zabbix’@’localhost’ identified by ‘password’ with grant option;

exit

- /home/zabbix/zabbix-4.0.4/database/mysql 으로 이동

- 스키마 및 데이터 셋팅

# mysql -u zabbix -p zabbix < schema.sql

# mysql -u zabbix -p zabbix < images.sql

# mysql -u zabbix -p zabbix < data.sql


web도 올리고

#systemctl start apache2


컴파일 시작

#/home/zabbix/zabbix-4.0.4/configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2


에러나기시작.. 설치가 안되있는것이기 때문에, 하나씩 설치해주면된다..


1) configure: error: no acceptable C compiler found in $PATH

=>zypper install gcc

2) configure: error: Not found Net-SNMP library

=>zypper install net-snmp 

=>zypper install net-snmp-devel

3) configure: error: Unable to use libevent (libevent check failed)

=>zypper install libevent-devel

4) configure: error: Curl library not found

=>zypper install libcurl-devel


에러 끝..!(물론, 위에서 셋팅할때 같이해줘도 되나, 실제로 셋팅하면서 발생했던 순서로 정리하여 여기에 적어놓았다.)


컴파일 완료되었으면

#make install



zabbix_server.conf 셋팅

#vi /usr/local/etc/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=password (이건 주석해제해야함)

:wq

 

자빅스 서버실행

#cd /user/local/sbin

#./zabbix_server


자빅스 에이전트 실행

#./zabbix_agentd

 

자빅스 php파일들을 apache 웹디렉토리로전달

#cd /srv/www/htdocs

#mkdir zabbix

#cp -r /home/zabbix/zabbix-4.0.4/frontends/php/ ./zabbix/


웹디렉토리 권한설정

#chmod –R 777 /srv/www/htdocs/zabbix

 

zabbix.conf 추가

#vi /etc/apache2/conf.d/zabbix.conf

아래 내용 복붙

<IfDefine ZABBIX>

  Alias /zabbix "/srv/www/htdocs/zabbix/php/"

 

  <Directory "/srv/www/htdocs/zabbix/php">

    Options Indexes MultiViews

    AllowOverride None

    <IfModule mod_authz_core.c>

      Require all granted

   </IfModule>

 

    <IfModule !mod_authz_core.c>

      Require all granted

    </IfModule>

  </Directory>

 

  <DirectoryMatch "/srv/www/htdocs/zabbix/php/(conf/|include/)>

    <IfModule mod_authz_core.c>

      Require all granted

    </IfModule>

 

    <IfModule !mod_authz_core.c>

      Require all granted

    </IfModule>

  </DirectoryMatch>

</IfDefine>

<IfDefine !ZABBIX>

    Redirect 403 /zabbix

</IfDefine>

 

Apache2 모듈활성화

#a2enmod mod_access_compat

#a2enmod php7

#a2enflag ZABBIX

-재실행

#systemctl restart apache2


 

  • Zabbix 시작!

http:서버주소/zabbix/


-우측하단 next step 버튼 클릭






-다 OK로 나오는지 확인 & Next Step



-DB 셋팅


-특별히 수정한것이 없으면 default로 되어있는대로!



-문제 없으면 next step


-셋팅완료!



-로그인

아이디 : Admin

암호 : zabbix






ZABBIX 왜 쓰는가..?


  • Zabbix는 server(모니터링한 데이터 수집)와, agent(모니터링할 대상)로 구성되어있다.
  • 서버PC의 cpu, memory, 하드상태 등을 모니터링 하는것 뿐아니라, SNMP로 송수신 가능한 장비(?)들 또한 모두 모니터링 가능하다..!

    즉 agent를 셋팅해놓은 대상을 모니터링하는것!

  • 개인적으로 모니터링하고 싶은 정보를 batch파일 or script같은것들을 만들어서 할수있다.

  • 모니터링 하고싶은 것들이 연쇄적으로 일어나야하는것들이라면, 그 또한 순서대로 지정을 할수있다.

  • 에러발생시 특정대상에게 메일을 전달할수도있는 것 등 여러 notification 기능들이 있다.



기타 여러 장단점이 있겠지만.. 아직 제대로 써보진 않아서 잘 모르겟다.  그래서 또한 ZABBIX가 모니터링하는것들중에 최선인지도 잘모르겠다. 그럼에도 블로그에 글을 남긴것은 리눅스도 아직 잘 못다루는상황에서 OpenSuse에 대한 Zabbix4.0 설치 메뉴얼이 마땅히 없어서 만들어보았다. 

누군가에겐 도움이 되시길..!


추가적으로 운용하는데 이해 잘 가도록 정리해놓은 사이트 공유합니다.

https://computernala.tistory.com/entry/Zabbix-3-%EC%9A%B4%EC%98%81