Zabbix3.4를 Centos7에 로컬 리포지토리로 설치

【배경】



고객객 서버 실내 등 인터넷 접속이 불가능한 환경에서 Zabbix를 설치하고 싶다.
다른 엔트리에도 있지만, 곳곳은 멈추었으므로 정리.

【환경】



이번 검증한 것은 이하의 환경. Centos6 라든지와 같이는 가지 않을지도.

   ● OS:Centos7
  ● DB: Postgresql 9.6
   ● Zabbix:Ver3.4
   ● 유저:zabbix
   ● repo 폴더:/home/zabbix/repo

【순서(인터넷 접속 환경)】



대략적인 순서는 이하와 같다.

리포지토리 폴더 만들기


$mkdir /home/zabbix/repo

리포지토리 추가



 →zabbix,postgreSql의 리포지토리를 이하의 순서로 추가
$sudo rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
$sudo yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

rpm 얻기



 →인터넷 접속 가능한 환경에서 필요한 rpm을 입수
   
배포자로부터 rpm을 직접 wget해도 좋을 것 같지만, 의존성을 채우고 싶기 때문에
$sudo yum install [パッケージ名] --downloadonly --downloaddir=[ダウンロード先]

 로 해, 본체+의존 관계를 채우는 패키지를 DL.

이번은 [다운로드처]를 ./repo로 했으므로, 예를 들면 createrepo를 DL할 때는
$sudo yum install createrepo --downloadonly --downloaddir=repo

 로 했다. 이번 입수한 rpm은 이하와 같다.

  ● createrepo
 ● postgresql96-server
 ● postgresql96-contrib
 ● zabbix-server-pgsql
 ● zabbix-web-pgsql
 ● zabbix-agent

【순서(인터넷 비접속 환경)】



리포지토리 로컬화



인터넷 연결 환경에서 repo 폴더 복사



 →scp [카피원] [카피처]  나리 파일 전송 소프트 나름으로…

이번에는 복사 원 환경에서
$sudo tar cvzf repo.tar.gz repo

↓ 파일 전송 소프트웨어로 복사 대상으로 ...
$sudo tar xvzf repo.tar.gz

 로 했다.

기본 yum 리포지토리 비활성화



 →기본적으로 인터넷상의 리포지토리를 보러 가기 때문에, 이것을 무효화한다.
$sudo mv /etc/yum.repos.d/CentOS-Base.repo{*,_bak}

로컬 리포지토리의 위치와 표시 이름 지정



/etc/yum.repos.d/MyRepo.repo
$sudo nano /etc/yum.repos.d/MyRepo.repo

[local-myrepository]
name=My repository
baseurl=file:///home/zabbix/repo
gpgcheck=0
enabled=1

createrepo 설치


$sudo rpm -i repo/createrepo_c-libs-0.9.0-1.el7.centos.x86_64.rpm
$sudo rpm -i repo/createrepo_c-0.9.0-1.el7.centos.x86_64.rpm 

createrepo를 사용하여 로컬 리포지토리 만들기


$sudo yum clean all
$sudo rm -rf /var/cache/yum/
$createrepo --simple-md-filenames repo ←これやらないと更新されない?
$sudo yum list

PostgreSql 설치 및 초기 처리



여기을 참조해, 인스톨
 ※postgres 유저의 패스워드 설정까지

설치 및 초기화


$sudo yum install -y postgresql96-server postgresql96-contrib
$sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

부팅 및 자동 부팅


$sudo systemctl start postgresql-9.6.service
$sudo systemctl enable postgresql-9.6.service

postgres 사용자 설정


$sudo passwd postgres
 ユーザー postgres のパスワードを変更。
 新しいパスワード:
 新しいパスワードを再入力してください:
 passwd: すべての認証トークンが正しく更新できました。


DB에 대한 연결 설정



/var/lib/pgsql/9.6/data/pg_hba.conf

$sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

# "local" is for Unix domain socket connections only
#local   all             all                                     peer
local   all             all                                     trust
# IPv4 local connections:
#host    all             all             127.0.0.1/32            ident
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
#host    all             all             ::1/128                 ident
host    all             all             ::1/128                 trust

/var/lib/pgsql/9.6/data/postgresql.conf

$sudo nano /var/lib/pgsql/9.6/data/postgresql.conf

#listen_addresses = 'localhost'     # what IP address(es) to listen on;
listen_addresses = '*'          # what IP address(es) to listen on;

#port = 5432                             # (change requires restart)
port = 5432                             # (change requires restart)


zabbix 설치 및 초기 설정



설치


$sudo yum install zabbix-server-pgsql zabbix-web-pgsql zabbix-agent -y

사용자 및 DB 만들기


$sudo -u postgres createuser --pwprompt zabbix
$sudo -u postgres createdb -O zabbix zabbix

zabbix의 초기 DB 구축


$zcat /usr/share/doc/zabbix-server-pgsql-3.4.14/create.sql.gz | sudo -u zabbix psql zabbix

zabbix 서버 설정



여기 을 참고로 다음 설정 변경

/etc/zabbix/zabbix_server.conf

$sudo nano /etc/zabbix/zabbix_server.conf

DBHost=            ←デフォルトはlocalhostなので、コメント解除&empty化
DBName=zabbix
DBUser=zabbix
DBPassword=<username_password>
DBPort=5432          ←デフォルトは3306なので、コメント解除&5432に変更

/etc/httpd/conf.d/zabbix.conf

$sudo nano /etc/httpd/conf.d/zabbix.conf

#php_value date.timezone Europe/Riga
php_value date.timezone Asia/Tokyo

firewall 사용 안함



여기 을 참고로 firewall를 설정(이번은 무효화했다)
$sudo systemctl stop firewalld
$sudo systemctl disable firewalld

SELinux 사용 안함



여기 을 참고로 SELinux를 설정(이번은 무효화했다)
$sudo nano /etc/selinux/config

#$SELINUX=enforcing
$SELINUX=disabled

부팅 및 자동 부팅


$sudo systemctl restart zabbix-server zabbix-agent httpd
$sudo systemctl enable zabbix-server zabbix-agent httpd

Zabbix 초기 설정



 →브라우저에서 「http://[서버의 IP]/zabbix」에 액세스, 초기 인스톨을 실시한다



"Next step"을 누르십시오



"Next step"을 누르십시오



 Database port:5432
"Password: [전항 "zabbix 서버 설정"에서 지정한 비밀번호]

 를 입력하고 "Next step"을 누르십시오.



Next step을 누르십시오.



"Next setp"를 누르십시오



"Finish"를 누르십시오



 Username: Admin
   Password: zabbix

 로 로그인 할 수 있는지 확인



【정리】



로컬 설치는 상기에서 종료.
길어졌으므로, 그 후의 설정은 다른 엔트리에서.

좋은 웹페이지 즐겨찾기