서버 모니터링

Zabbix 설치

미도반 2022. 4. 19. 16:14

Hardware(최소사양)

 Memory 128MB

 Disk 256MB

 2GB Memory와 2GB Disk로 500개의 호스트를 모니터링할 수 있음

 - 감시항목 추가에 따라 유동적

 

Software

● zabbix : zabbi x5.0(LTS)

● Apache 설치 : httpd-2.4.6-67.el7.centos.6.x86_64

● Mariadb 설치 : 10.5.15-MariaDB

● PHP 설치 : PHP 7.2.34

 

 

 

Apache 설치

1. apache 설치

[root@localhost ~]# yum install -y httpd

 

2. 설치 확인

[root@localhost ~]# rpm -qa | grep httpd

 

 

 

■ MariaDB 설치

1. 저장소 설치

[root@localhost ~]# vim /etc/yum.repos.d/MariaDB.repo

 

2. DB 설치

[root@localhost ~]# yum -y install MariaDB-server MariaDB-client

3. DB 설치 확인

[root@localhost ~]# rpm -qa | grep MariaDB

 

4. 기본 설정 파일 복사해둔 후 설정 파일 수정

[root@localhost ~]# cp /etc/my.cnf /etc/my.cnf_bak

 

[root@localhost ~]# vim /etc/my.cnf

※ Copy 

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock

[mysqld]
port = 3306
innodb_data_home_dir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
default-storage-engine=INNODB
skip-external-locking
skip-name-resolve
skip-host-cache
wait_timeout = 600
interactive_timeout = 1200
max_connections = 1024
max_connect_errors=999999999
slow-query-log=1
long_query_time=1
slow_query_log_file=/var/lib/mysql/log-slow-queries.log
max_allowed_packet = 128M

innodb_buffer_pool_size = 1G
innodb_log_buffer_size = 16M
innodb_lock_wait_timeout = 160
innodb_file_per_table=1

innodb_log_file_size = 512M
innodb_log_files_in_group=4

innodb_max_dirty_pages_pct = 30
innodb_flush_method = O_DIRECT
innodb_lock_wait_timeout = 120

innodb_doublewrite = ON


# parameter edit 
query_cache_limit=128M
query_cache_size=64M
query_cache_type=1
thread_concurrency = 8
skip-external-locking
init_connect=SET collation_connection=utf8_unicode_ci
init_connect=SET NAMES 'utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci

log-bin=mysql-bin
sync_binlog = 1
binlog_cache_size=5M
max_binlog_size=250M
binlog_format=mixed
expire_logs_days=7
server-id=1

[mysqldump]
quick
max_allowed_packet = 16M
default-character-set=utf8

[mysql]
no-auto-rehash
default-character-set=utf8

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M

[mysqlhotcopy]
interactive-timeout

 

 

5. DB 상태 확인

[root@localhost ~]# systemctl status mariadb

 

6. DB 실행, 상태 확인, 재부팅 시 자동실행 

- DB 실행

[root@localhost ~]# systemctl start mariadb

- 상태 확인

[root@localhost ~]# systemctl status mariadb

- 재부팅 시 자동실행

[root@localhost ~]# systemctl enable mariadb

 

7. DB 실행 포트 확인

[root@localhost ~]# netstat -ntlp | grep 3306

 

8. DB root 비밀번호 설정 

[root@localhost ~]# /usr/bin/mysqladmin -u root password 'cri59521'

 

- DB 접속

[root@localhost ~]# mysql -u root -p

 

9. DB 설정

- Database 생성 및 언어셋 설정

> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

 

- USER 생성 및 권한 추가

> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'cri59521';

 

 

■ PHP 설치

https://leewoogi.tistory.com/35

 

 

​ NTP 설치

 

1. yum 설치

[root@localhost ~]# yum -y install ntp

 

 

2. 설정 파일 수정

[root@localhost ~]# vim /etc/ntp.conf

 

3. NTP 실행

[root@localhost ~]# service ntpd start

 

4. NTP 확인

[root@localhost ~]# ntpq -p

 

 

 

 

​​ Zabbix 설치

 

1. Zabbix 5.0 rpm 설치(repository)

[root@localhost ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

 

2. Zabbix 5.0 rpm 설치(repository) 확인

[root@localhost ~]# rpm -qa | grep zabbix

 

3. Zabbix 패키지 설치

[root@localhost ~]# yum install -y zabbix-server-mysql

 

[root@localhost ~]# yum install -y zabbix-agent

 

 

4. Zabbix frontend 설치

[root@localhost ~]# yum install -y centos-release-scl

 

 

 

5. Zabbix frontend 활성화. zabbix.repo 파일 수정

[root@localhost ~]# vim /etc/yum.repos.d/zabbix.repo

 

 

6. Zabbix frontend 추가 패키지 설치

[root@localhost ~]# yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl  

 

 

7. Zabbix 패키지에서 제공하는 스키마를 생성한 Database에 적용

 

 

8. Zabbix Database import 확인

 

 

9. Zabbix 서버에 대한 Database를 설정

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf

- DBHost, DBPassword : MariaDB 설정시 적용한 password로 적용

 

 

10. Zabbix frontend의 Timezone을 설정

[root@localhost ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

 

11. Zabbix 서버, 에이전트, PHP 실행

[root@localhost ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

 

 

12. 실행 포트 확인

[root@localhost ~]# netstat -ntlp

- zabbix server port : 10051

- zabbix agent port : 10050

 

13. 방화벽 설정

- zabbix server port : 10051

- zabbix agent port : 10050