일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tool
- AWS
- Oracle
- linux
- jenkins
- Gradle
- ReactJS
- 맛집
- ubuntu
- db
- JVM
- elasticsearch
- MySQL
- jsp
- java
- devops
- Design Patterns
- IntelliJ
- it
- Git
- php
- 요리
- springboot
- redis
- Spring Boot
- Spring
- laravel
- Spring Batch
- javascript
- Web Server
- Today
- Total
아무거나
zabbix 설치 본문
[zabbix 설치 ubuntu16.04 기준]
# 포트 인바운드 정의
agent -> zabbix 10050 수집자료 전송
zabbix -> agent 10050 수집
- 네트워크 관리 시스템
- 사용DB: MySQL, PostgreSQL, SQLite, Oracle 등 가능
- 에이전트 설치/미설치 방식 가능
- 미설치 방식으로 SNMP, TCP, ICMP, IPMI, SSH, 텔넷 활용 감시 가능
- 구현 언어: 서버, 에이전트는 C, 프론트엔드는 PHP + Javascript
- 라이센스: GPL
- 엔터프라이즈 버전이 따로 없음
- 분산 모니터링 지원
- 장비 100,000대 모니터링 가능
1. 자빅스 서버 패키지 설치
- sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
2. 1번의 자빅스 서버 패키지의 db 계정 설정
- mysql -u root -p
- create database zabbix character set utf8 collate utf8_bin;
- grant all privileges on zabbix.* to zabbix@localhost identified by '{자빅스 패스워드}';
- flush privileges;
- quit;
- zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql zabbix -uzabbix -p // 자빅스 패스워드
3. 설정 파일 수정
- vi /etc/zabbix/zabbix_server.conf
[zabbix_server.conf]
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost // 이거
DBName=zabbix
DBUser=zabbix
DBPassword=자빅스디비패스워드 // 이거
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
4. 서비스 시작 및 활성화
- sudo systemctl start zabbix-server
- sudo systemctl enable zabbix-server
5. 자빅스에 관한 아파치 설정파일 수정
- vi /etc/apache2/conf-enabled/zabbix.conf
[zabbix.conf]
... (생략)
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga // 이부분
php_value date.timezone Asia/Seoul
</IfModule>
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga // 이부분
php_value date.timezone Asia/Seoul
... (생략)
6. 아파치 경로 설정 및 재시작
- /usr/share/zabbix 로 웹루트변경
- sudo systemctl start apache2
- sudo service apache2 restart
7. http://서버주소/zabbix 접속
- 설치직후 계정 : Admin / zabbix
- sudo netstat -tnlp | egrep 'zabbix|apache2' // 실행확인
8. 서버의 정보를 수집할 에이전트 설치
- sudo apt list zabbix-agent -a // 확인
- sudo apt install zabbix-agent // 설치
- sudo apt list zabbix-agent -a // 확인
- sudo netstat -tnlp | grep zabbix // 확인
9. (Optional) agent 자동시작 설정
* ubuntu16에서는 기본 on 되어있음
- sudo sysv-rc-conf zabbix-agent on
- sudo sysv-rc-conf --list zabbix-agent
10. 에이전트가 설치된 서버의 conf 수정
[/etc/zabbix/]
Server IP = Zabbix Server IP
Server Active IP = Zabbix Server IP
Host Name = Host Name you wrote in host configuration in Web Frontend
*** 첫 등록되어있는 zabbix관련 에러(Get value from agent failed: Cannot connect to [xxx.xx.xx.x:10050])
이것은 zabbix agent를 로컬서버에 설치하지 않았기 때문. 설치하고 서비스를 시작해주자
[zabbix 에러 케이스]
1. Lack of free swap space on Zabbix server
- sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048
- sudo chmod 600 /var/swapfile
- sudo mkswap /var/swapfile
- echo /var/swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab
- sudo swapon -a
[zabbix 한글 설정]
- sudo locale-gen ko_KR.UTF-8
- sudo vi /etc/default/locale
[locale]
LANG=ko_KR.UTF-8
LANGUAGE="ko_KR:ko:en_US:en"
* 수정 후 아파치 재시작
- 자빅스 모니터링 페이지에서 우측 상단의 profile에서 설정
'Infra > DevOps' 카테고리의 다른 글
jenkins 메모리 문제(속도 저하 및 애플리케이션 종료) (0) | 2019.03.05 |
---|---|
jenkins rsync를 통한 빌드/배포 (0) | 2019.03.05 |
jenkins 계정권한 (0) | 2019.03.05 |
jenkins 설치 (0) | 2019.03.05 |
Jenkins 테마 적용 (0) | 2019.01.09 |