구축 환경
CentOS 7.6 Minimal – (www.centos.org)
VirtualBox 7.0 – (www.virtualbox.org)
Zabbix – (zabbix-release-4.2-1)
알다
nms(네트워크 관리 시스템) 서버 감시와 네트워크 감시, 클라우드 등 통합적으로 실현
zabbix agent nms에 등록된 서버 및 장비(관리 대상이 되는 에이전트를 에이전트라고 함) 모니터링 및 관리
zabbix 소스는 yum이 아니며 (CentOS에는 zabbix가 없습니다), zabbix를받는 저장소 remi 또는 epel로 다운로드해야합니다.
zabbix는 epel에 있다.
yum install -y epel-release →epel-release 설치
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm→ zabbix 다운로드
yum install -y zabbix-server
yum install -y zabbix-web
yum install -y zabbix-server-mysql
yum install -y zabbix-web-mysql →zabbix 서버와 Web mysql 설치
이 외에도 기본적으로 mysql, mariadb-server, http, php 등을 설치해야합니다.
nms 서버에 들어갈 수 있도록 기본 데이터베이스 설정이 필요합니다.
mysql -u root -p → DB 연결
create database zabbix character set utf8 collat utf8_bin; →zabbix 데이터베이스 작성(zabbix 에이전트 데이터가 포함된 데이터베이스를 작성해야 합니다.
utf8은 한글 지원)
명령을 입력하면 zabbix 데이터베이스가 작성되었는지 확인할 수 있습니다.
grant all on zabbix.* to ‘zabbix’@’localhost’ identified by ‘password’; → 권한 부여
flush privileges; → 저장
이탈 → 나가다
cd /usr/share/doc →일반 파일이 다운로드되는 경로입니다.
doc로 이동
ls를 시도하면 zabbix-release-4.2와 zabbix-server-mysql-4.2.8 설치되어 있음을 알 수 있습니다.
cd zabbix-server-mysql-4.2.8 → zabbix-server-mysql-4.2.8 디렉토리로 이동
ls 해 보면 create.sql.gz 파일을 볼 수 있다.
압축 해제를 해야 한다.
gunzip create.sql.gz → 해동
다시 시도하면 압축이 해제된 것을 알 수 있습니다.
mysql -u root -p zabbix < create.sql → zabbix 내에서 create.sql을 실행하는 명령
use zabbix → zabbix 데이터베이스에 들어가기
show tables → 테이블 목록 표시
미리 만들어진 create.sql 실행으로 많은 목록과 내용이 생성되었음을 확인할 수 있다.
이탈 → DB나가다
(zabbix 환경 설정 시 주의해야 할 점)
내가 번호를 붙인 후 해당 항목의 번호를 쓸 수 있습니다.
따라서 번호 매기기가 달라도 내 번호 매기기와 비슷한 구간에서 찾을 수 있으면 항목을 쉽게 찾을 수 있습니다.
vi /etc/zabbix/zabbix_server.conf → zabbix 환경 설정
set nu → 번호 매기기
736번 DBHost=localhost
737번 DBName=zabbix
738번 DBUser=zabbix
739번 DBPassword=1234
:wq!
→ 저장 후 나오다
vi /etc/php.ini → php 실행 관련 설정
385번 max_execution_time = 600 → 최대 런타임 600으로 수정
395번 max_input_time = 600 → 최대 입력 시간 600으로 변경
406번 memory_limit = 256M → 메모리 제한 128M에서 256M으로 변경
위의 설정은 각각의 환경에 맞게 설정을 해주면 좋은 부분이다.
674번 post_max_size=32M → 웹에서 데이터를 요청할 때 get과 post 방식 중 post에서 요청 시 최대 크기 32M로 수정
위의 설정은 각각의 환경에 맞게 설정을 해주면 좋은 부분이다.
827번 업로드_max_filesize=16M → 업로드되는 파일의 최대 크기 16M으로 변경
위의 설정은 각각의 환경에 맞게 설정을 해주면 좋은 부분이다.
904번 date.timezone = 아시아/서울 → 댓글(;)을 삭제한 후 시간대를 Asia/Seoul에 입력
:wq!
→ 저장 후 나오다
여기까지 설정이 끝났다.
firewall-cmd –permanent –add-port=10050/tcp → 서버가 에이전트 정보를 받을 때 10050 포트 허용
firewall-cmd –permanent –add-port=10051/tcp → 서버가 에이전트에 정보를 제공할 때 10051 포트 허용
firewall-cmd –permanent –reload → 재부팅
systemctl start zabbix-server && systemctl enable zabbix-server →zabbix-server 시작
sestatus → selinux 상태 확인
setsebool -P httpd_can_connect_zabbix 1 →http와 zabbix를 연결할 수 있도록 secure Linux 값의 bool 값 설정
* 여기서 1은 enable 개념, 0은 disable 개념
Selinux 활성화/비활성화
selinux 상태 변경이 필요한 경우 vi /etc/sysconfig/selinux 에 들어가 편집할 수 있다.
행이 그려진 부분을 enforcing 으로 수정하면 활성화, disabled 로 수정하면 무효화이다.
수정 후에는 기계를 다시 시작하는 것이 좋습니다.
zabbix를 구축한 IP 주소/zabbix
를 웹에 입력하면 zabbix 설정 페이지가 위와 같이 출력됩니다.
두 단계를 Next Step 누르면 위와 같은 필드가 열립니다.
그 밖에 건드리지 않습니다.
Database port는 따로 지정해 두지 않았기 때문에, 단지 0을 썼다.
DB 이름과 사용자 이름은 자동으로 zabbix에 올랐습니다.
DB 암호만 입력하십시오.
여기서도 Host와 Port는 자동 입력되어 있어 만지지 않고,
이름만 원하는 것을 입력하세요.
요약 정보입니다.
쉽게 확인하고 다음 단계.
모든 설정이 완료되었습니다.
Finish.
로그인해야 합니다.
디폴트로 주어진 Username는 Admin/Password는 zabbix이다.
향후 변경 가능하다.
로그인하면 위와 같이 대시보드를 탐색할 수 있지만 zabbix server is running 부분을 Yes로 출력해야 합니다.
즉 잘 돌아가고 있다는 소리다.
반환하지 않고 NO라는 메시지가 표시되면 selinux 설정 변경으로 다시 연결할 수 있습니다.
Selinux의 설정 변경에 대해서는 상기도 설명했습니다만,
selinux 설정 변경이 필요한 경우 vi /etc/sysconfig/selinux 에 들어가 편집할 수 있다.
행이 그려진 부분을 enforcing 으로 수정하면 활성화, disabled 로 수정하면 무효화이다.
수정 후에는 기계를 다시 시작하는 것이 좋습니다.