공개 SW 솔루션설치 & 활용가이드 시스템 SW > 자원관리 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide
CONTENTS 1. 개요 2. 기능요약 3. 실행환경 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리
- 3-1. 개요 소개 주요기능 네트워크나서버 ( 가상 ) 등을포함한서비스들을감시하고실시간으로자원을체크하여관리자에게신속히알리기위한네트워크관리솔루션소프트웨어 zabbix 에이전트를 Unix, Linux, Windows 등의 OS 에설치하여 CPU, MEM, 파일시스템 ( 용량 ), 특정 TCP 등을포함한많은정보를감시할수있으며, 장애대비모니터링으로탁월 모니터링현황판을지원 (dashboard) Overview/ Graphs/ 경고임계치 (Trigger) DBMS 모니터링 (Screen 화면 ) 웹서비스품질 (Speed, Response time) 측정가능 네트워크서비스모니터링지원 대분류 시스템 SW 소분류 자원관리 라이선스형태 GNU General Public License version 2 사전설치솔루션 운영체제 Cross-platform 버전 Zabbix 3.2 특징 보안취약점 epel-release, mariadb-server httpd, php, php-mysql, iptables 분산및확장모니터링을지원 실시간모니터링으로경고발생시관리자에게실시간통보 (E-Mail, 메신저, SMS) 다양한모니터링수단지원및모니터링데이터를가공하여직관적인그래프생성 취약점 ID : CVE-2016-10134 심각도 : 9.8 CRITICAL(V3) 취약점설명 : SQL injection 취약점으로인해원격공격자는 latest.php 의 toggle_ids 배열매개변수를통해임의의 SQL 명령을실행할수있음 대응방안 : 2.2.13, 3.0.3 이상으로업그레이드 참고경로 : https://www.securityfocus.com/bid/95423/info 개발회사 / 커뮤니티 Zabbix LLC / Zabbix community 공식홈페이지 https://www.zabbix.com
- 4-2. 기능요약 주요기능 모니터링시스템의전반적인상황을표시해준다. 모니터링대상 (Host) 수량, 모니터링항목 (Item), 임계치 (Trigger) 초과경고현황을알려준다. 각 Host 별모니터링항목 (Item) 에설정된임계치초과여부감시가가능하다. 경고가발생한항목은적색점멸. 관리자에게통보해준다. 모니터링항목 (Item) 의저장된데이터를가공하여 Graph 로표시해준다. 기간별 (1 일, 1 주, 1 달등 ) Tracking 하여변화추이 (Trends) 를제공한다. 경고발생현황을보여준다. 예 ) CPU 90% 사용, DB Active Session 20 개초과, 디스크가용량 1GB 미만, Ping Timeout 경고를 5 단계로분류하여 (Disaster, High, Average, Warning, Information) 표시한다. 각 Host 의 Graph 를한화면에표시해준다. (CPU, Memory, Disk, Swap, Network 등 ) Graph 를선택적으로편집하여구성이가능하다. DBMS Health Check (Hit Ratio, SGA, PGA, Shared Pool, Session/Process, Event wait, Physical/Logical IO) SQL 기반으로 DB 모니터링항목확장이가능하다. 웹서비스네트워크대역폭속도와응답시간모니터링이가능하다. 웹서버데몬 Alive Check 웹서비스응답시간이경고임계치초과시관리자에게통보해준다.
- 5-3. 실행환경 1. OS CentOS Linux release 7.3.1611 (Core) 환경 2. 사전설치솔루션 epel-release-7-9.noarch mariadb-server-5.5.52-1.el7.x86_64 httpd-2.4.6-45.el7.centos.4.x86_64 php-5.4.16-42.el7.x86_64 php-mysql-5.4.16-42.el7.x86_64 iptables-1.4.21-17.el7.x86_64 3. Zabbix package zabbix-release-3.2-1.el7.noarch zabbix-web-3.2.7-1.el7.noarch zabbix-web-mysql-3.2.7-1.el7.noarch zabbix-server-mysql-3.2.7-1.el7.x86_64
- 6 - 세부목차 4.1 Add EPEL Repository 4.2 Install Zabbix daemons 4.3 Running and Setting the DB(MariaDB 4.4 Basic setting 4.5 DB(MariaDB) connection and setting 4.6 Apply Zabbix table value information to DB 4.7 Zabbix config settings 4.8 PHP config settings 4.9 Iptables firewall settings 4.10 Start Zabbix Server and HTTPD service 4.11 Connect Zabbix Web Page
- 7-4.1 Add EPEL Repository yum 설치를위해 EPEL 저장소추가 -> yum install epel-release
- 8-4.2 Install Zabbix daemons Zabbix, DB(MariaDB), WEB(Apache) / PHP 설치 -> rpm --ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm -> yum install zabbix-server-mysql zabbix-web-mysql mysql mariadb-server httpd php
- 9-4.3 Running and Setting the DB(MariaDB) DB 실행및프로세스확인 -> systemctl start mariadb systemctl enable mariadb -> ps --ef grep mysql
- 10-4.4 Basic setting 기본설정 (DB 가구동된상태에서진행가능 ) -> mysql_secure_installation DB Root 원격막기위해 Y Enter DB Root password 설정 Test 용으로생성된 DB 삭제하기위해 Y 익명의접근막기위해 Y 현재설정값을적용하기위해 Y
- 11-4.5 DB(MariaDB) connection and setting DB 접속및설정 -> mysql --u root --p (mysql_secure_installation 에서설정한 Password 입력 ) -> Create database ZABBIXDB; ( 데이터베이스설정 ) Grant all privileges on ZABBIXDB * to Zabbix@localhost identified by test123 ; ( 권한생성 ) Flush privileges; ( 적용 ) exit
- 12-4.6 Apply Zabbix table value information to DB Zabbix 테이블값정보데이터베이스에적용 -> cd /usr/share/doc/zabbix-server-mysql-3.2.7/ -> Gunzip create.sql.gz -> Mysql u root p ZABBIXDB < create.sql
- 13-4.7 Zabbix config settings Zabbix config 설정 -> DBHost=localhost DBName=ZABBIXDB DBUser=zabbix DBPassword=test123
- 14-4.8 PHP config settings(1/3) PHP Config 설정 -> vi /etc/php.ini max_execution_time = 600 max_input_time = 600 30 -> 600 60 -> 600
- 15-4.8 PHP config settings(2/3) PHP Config 설정 -> vi /etc/php.ini memory_limit = 256M post_max_size = 32M 128M -> 256M 8M -> 32M
- 16-4.8 PHP config settings(3/3) PHP Config 설정 -> vi /etc/php.ini upload_max_filesize = 16M date.timezone = Asia/Seoul 2M -> 16M ; 주석제거후한국시간으로설정
- 17-4.9 Iptables firewall settings(1/3) Zabbix 테이블값정보데이터베이스에적용 -> cd /usr/share/doc/zabbix-server-mysql-3.2.7/ -> Gunzip create.sql.gz -> Mysql u root p ZABBIXDB < create.sql iptables service 관련 package 설치 -> yum install iptables-service
4.9 Iptables firewall settings(2/3) iptables 방화벽포트허용 -> -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT (web 포트 ) -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT (zabbix server 포트 ) -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT (zabbix agent 포트 ) - 18 -
- 19-4.9 Iptables firewall settings(3/3) iptables firewall 서버데몬재시작 -> service iptables restart Iptables -nl
- 20-4.10 Start Zabbix Server and HTTPD service(1/2) zabbix server 및 httpd 서비스시작 -> systemctl start zabbix-server systemctl enable zabbix-server -> systemctl start httpd systemctl enable httpd
- 21-4.10 Start Zabbix Server and HTTPD service(2/2) web, zabbix 프로세스확인 -> ps -ef grep httpd -> ps -ef grep zabbix
- 22-4.11 Connect Zabbix Web Page(1/9) Zabbix Web 설치페이지접속 -> http://192.168.248.101/zabbix
- 23-4.11 Connect Zabbix Web Page(2/9) 기본설정후 NEXT 버튼클릭
- 24-4.11 Connect Zabbix Web Page(3/9) DB 환경설정정보입력후 NEXT 버튼클릭
- 25-4.11 Connect Zabbix Web Page(4/9) 서버입력후 NEXT 버튼클릭
- 26-4.11 Connect Zabbix Web Page(5/9) 사전설치정보확인후 NEXT 버튼클릭
- 27-4.11 Connect Zabbix Web Page(6/9) 설치완료
- 28-4.11 Connect Zabbix Web Page(7/9) 설치후처음웹관리자로그인 ( 기본설정값 ID : admin / Pass : zabbix )
- 29-4.11 Connect Zabbix Web Page(8/9) 웹관리자한글언어설정 -> Zabbix 3.0 부터정식으로한글언어지원한다. Password : 암호변경하는것을권고한다. Language : 한국어
- 30-4.11 Connect Zabbix Web Page(9/9) 한글이적용된관리자페이지
- 31-5. 기능소개 세부목차 5.1 Zabbix Monitoring Dashboard 5.2 Zabbix Bar Reports 5.3 Zabbix Administration Audit
- 32-5. 기능소개 5.1 Zabbix Monitoring Dashboard Zabbix Monitoring Dashboard 각종모니터링되고있는정보와 graph, screen 등을한화면에서볼수있는기능을제공한다
- 33-5. 기능소개 5.2 Zabbix Bar Reports Zabbix Bar Reports 사용자가모니터링을원하는 Item 을모아서저장한후일괄 Report 기능을제공한다.
- 34-5. 기능소개 5.3 Zabbix Administration Audit Zabbix Administration Audit 사용자로그인, 로그아웃, 호스트서버의변경내역등을추적할수있는기능을제공한다.
- 35-6. 활용예제 세부목차 6.1 예제소개 6.2 Zabbix Monitoring Screens 6.3 Zabbix Monitoring Events 6.4 Zabbix Monitoring Triggers 6.5 Zabbix Reports Status 6.6 Zabbix Monitoring Latest data
- 36-6. 활용예제 6.1 예제소개 본예제는 Zabbix 를사용하여웹화면에서간단한모니터링을보여주는것을목표로한다.
6. 활용예제 6.2 Zabbix Monitoring Screens 모니터링현황을그래프형태로볼수있는화면을제공한다. - 37 -
6. 활용예제 6.3 Zabbix Monitoring Events 모니터링중인호스트의 Event( 알람 ) 를누적하여확인가능하다. - 38 -
6. 활용예제 6.4 Zabbix Monitoring Triggers 모니터링을원하는 Triggers 추가및변경가능하다. - 39 -
6. 활용예제 6.5 Zabbix Reports Status 호스트의모니터링되고있는 Item, trigger, 상태정보등을확인할수있다. - 40 -
6. 활용예제 6.6 Zabbix Latest Data 항목별로수집된최신데이터를보거나항목에대한다양한그래프를액세스할수있다. - 41 -
- 42-7. FAQ Q 온도, 팬, 전력등과같은하드웨어특성을모니터링할수있나요? & A Zabbix는 HP, Sun, Dell과같은대부분의컴퓨터서버공급업체에서지원하는 IPMI를지원합니다. 서버의 BIOS에서일반적으로 Lights Out Management 카드에 IPMI 관리를설정한다음 IPMI(Intelligent Platform Management Interface) tools 로테스트해야합니다. Zabbix의 IPMI 구성은 Configuration->Hosts 아래에있으며서버 LOM의 IP 주소와서버에설정한인증 / 권한부여정보가필요합니다.
- 43-7. FAQ Q Zabbix에서는 SSL 인증서를어떻게관리합니까? & A 웹사이트 URL 또는서비스와동일한호스트이름으로 Zabbix에서새호스트항목을만듭니다. 기본템플릿 호스트그룹에대한읽기전용액세스권한을요청해야합니다. 해당호스트그룹내에서기존 SSL 인증서확인 템플릿중하나를복제하고이름을수정하여적절한호스트그룹에배치합니다. 이렇게하면 14 일전에경고로, 1일전에높은우선순위로설정되는 2개의트리거가선택됩니다.
- 44-8. 용어정리 용어 설명 iptables iptables는시스템관리자가리눅스커널방화벽이제공하는테이블들과그것을저장하는체인, 규칙들을구성할수있게해주는사용자공간응용프로그램이다. 각기다른커널모듈과프로그램들은현재다른프로토콜을위해사용되는데, iptables는 IPv4에, ip6tables는 IPv6에, arptables는 ARP에, ebtables는이더넷프레임에적용된다. iptables는동작을위해상승된권한을요구하며사용자루트가실행하여야하는데, 그렇지않으면작동하지않는다. 리눅스시스템에서 iptables는 /usr/sbin/iptables에설치된다. httpd HTTP 데몬은웹서버의백그라운드에서실행되고들어오는서버요청을기다리는소프트웨어프로그램이다. 데몬은요청에자동으로응답하고 HTTP를사용하여인터넷을통해하이퍼텍스트및멀티미디어문서를제공한다.
Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.