Zabbix Centos 7 HA 구성

1. root 접속 제한 (Optional)

1
2
3
vi /etc/ssh/sshd_config
# PermitRootLogin no
systemctl restart sshd

2. 계정 생성 (Optional)

그냥 리눅스에 ssh 접속 할 계정 하나 추가해 주기

1
2
useradd [user name]
passwd [user name]

3. sudoer 등록 (Optional)

sudoer로 추가해주기. 편하니까

1
visudo

4. 필요한 도구 설치

zabbix server, httpd 설치한다.
여기서는 DB(MYSQL)서버는 다른 서버로 구축해 연동해서 사용하는 걸로

1
2
3
4
5
6
7
8
9
10
11
yum install httpd
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
subscription-manager repos --enable=rhel-7-server-optional-rpms
yum-config-manager --enable remi-php73
yum-config-manager --disable remi-php54
yum search php73 | more
yum install php73 php73-php php73-php-fpm php73-php-gd php73-php-json php73-php-mbstring php73-php-mysqlnd php73-php-xml php73-php-xmlrpc php73-php-opcache curl curl-devel php73-php-devel

sudo ln -s /usr/bin/php73 /usr/bin/php

5. Zabbix 설치

1
2
3
4
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

vim /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_agentd.conf

6. 방화벽 허용 (두 서버 모두)

클러스터로 동작할 두 서버간 통신을 허용해 준다.
ha 서비스랑 웹, 자빅스 서버, 에이전트에서 사용할 Port 까지 추가해주고 reload

1
2
3
4
5
6
7
8
9
10
firewall-cmd --permanent --add-service=high-availability
# success
firewall-cmd --permanent --add-service=http
# success
firewall-cmd --permanent --add-port=10051/tcp
# success
firewall-cmd --permanent --add-port=10050/tcp
# success
firewall-cmd --reload
# success

7. Hosts 파일 수정 (두 서버 모두)

클러스터 등록할 IP/Server 잡아주고

1
2
3
4
vim /etc/hosts 
# 1.1.1.1 host1
# 1.1.1.2 host1
# 1.1.1.3 vip

8. Pacemaker 설치 (두 서버 모두)

pacemaker, pcs 패키지 설치하기

1
2
3
4
yum install pacemaker pcs
passwd hacluster #암호설정해주기 pcs깔면 hacluster라는 유저가 생기는데 여기 password 변경해줘야함
systemctl start pcsd
systemctl enable pcsd

9. pcs 설정

cluster에 member로 동작할 두 서버인증하기
인증하는데 오류나면 대부분 둘간 통신문제로 방화벽을 제대로 열었나 확인해보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 인증
pcs cluster auth host1 host2
#username: hacluster, password: 아까 설정한 password

# 셋업하는 작업
pcs cluster setup --name zabbix_cluster host1 host2

pcs cluster start --all
systemctl enable corosync
systemctl enable pacemaker

# Cluster, Node 상태 확인해보기
pcs status cluster
pcs status nodes

10. 리소스 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#필요없는 세팅은 설정 없애고
pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore

# 리소스 설정
# ip=부분에 virtual ip 설정해주면 됨
pcs resource create cluster_vip ocf:heartbeat:IPaddr2 ip=1.1.1.3 cidr_netmask=24 op monitor interval=20s

# systemd 프로세스명으로 zabbix-server 설정해주기
pcs resource create zabbix_server systemd:zabbix-server op monitor interval=10s
pcs constraint colocation add zabbix_server cluster_vip INFINITY

# 리소스 순서 정하기
pcs constraint order cluster_vip then zabbix_server

Comments