====== 安裝 Zabbix 監控系統 ======
* CentOS 6.8 x86_64 / CentOS 5.11 x86_64
* 預計安裝
* 一台 zabbix-server + agent
* 多台 zabbix-proxy + agent
* 多台 zabbix-agent
* CentOS 5 x86_64 - rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/5/x86_64/zabbix-release-2.4-1.el5.noarch.rpm
* CentOS 6 x86_64 - rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
===== Server 安裝程序 =====
* 安裝相關套件
yum install zabbix-server-mysql zabbix-web-mysql
* 在 MySQL 建立相關 DB Schema
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '';
mysql> quit;
* 匯入 Zabbix DB Schema
shell> mysql -uzabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.5/create/schema.sql
# stop here if you are creating database for Zabbix proxy
shell> mysql -uzabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.5/create/images.sql
shell> mysql -uzabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.5/create/data.sql
* 啟動 zabbix-server
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=
service zabbix-server start
chkconfig zabbix-server on
* 編輯 php 相關設定
vi /etc/httpd/conf.d/zabbix.conf
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 date.timezone ASIA/Taipei
service httpd restart
* 透過網頁登入 Exp.
* http://140.92.143.57/zabbix/
* 預設帳號與密碼 : Admin/zabbix
* 當登入後發現一直出現 \\ **"Zabbix server is not running: the information displayed may not be current"** \\ 可透過調整 selinux 解決
getsebool httpd_can_network_connect
httpd_can_network_connect --> off
setsebool -P httpd_can_network_connect on
* 開啟 iptables 讓外部 zabbix-agent 可以回報
vi /etc/sysconfig/iptables
:
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
:
service iptables restart
* zabbix-server 相關重要檔案路徑如下:
* log - /var/log/zabbix/zabbix_server.log
* conf - /etc/zabbix/zabbix_server.conf
**當使用的 DB 並不安裝在本機內**
* 修改 /etc/zabbix/zabbix_server.conf
:
DBHost=**192.168.11.xxx**
DBUser=zabbix
DBPassword=**zabbix_password**
#DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
:
* 修改 /usr/share/zabbix/conf/zabbix.conf.php
:
$DB["TYPE"] = 'MYSQL';
$DB["SERVER"] = '**192.168.11.xxx**';
$DB["PORT"] = '3306';
$DB["DATABASE"] = 'zabbix';
$DB["USER"] = 'zabbix';
$DB["PASSWORD"] = '**zabbix_password**';
:
===== Proxy 安裝程序 =====
* 安裝相關套件
yum install -y sqlite zabbix-proxy-sqlite3
mkdir /var/lib/sqlite
vi /etc/zabbix/zabbix_proxy.conf
:
#DBName=zabbix_proxy
DBName=/var/lib/sqlite/zabbix.db
:
#Server=127.0.0.1
Server=zabbix.ichiayi.com
:
#Hostname=Zabbix proxy
Hostname=Zabbix Everplast Proxy
:
chown -R zabbix:zabbix /var/lib/sqlite/
service zabbix-proxy start
chkconfig zabbix-proxy on
* 如果啟動無法建立 sqlitedb 時, 請檢查是否是 selinux 的限制問題
* 可以先將 /etc/selinux/config 內設定 SELINUX=disabled
===== Agent 安裝程序 =====
==== CentOS Agent ====
* 安裝相關套件
yum install zabbix-agent
* 設定相關參數
vi /etc/zabbix/zabbix_agentd.conf
:
Server=140.92.143.57
:
ServerActive=140.92.143.57
:
Hostname=percona-xc2
:
service zabbix-agent start
chkconfig zabbix-agent on
* 開啟 iptables 讓外部 zabbix-server 可以詢問
vi /etc/sysconfig/iptables
:
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
:
service iptables restart
* zabbix-agent 相關重要檔案路徑如下:
* log - /var/log/zabbix/zabbix_agentd.log
* conf - /etc/zabbix/zabbix_agent.conf
==== Windows Agent ====
* 下載 Windows Agent 程式 http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.win.zip
* 解開後將 bin 目錄內依照 Windows 屬於 32bits (win32) 或 64bits (win64) 複製到 c:\zabbix
* Exp. 64bits Windows 複製後會看到類似以下的目錄檔案
C:\ZABBIX
│ zabbix_agentd.exe
│ zabbix_get.exe
│ zabbix_sender.exe
│
└─dev
zabbix_sender.dll
zabbix_sender.lib
* 以 Administrator 身份執行 cmd 來產生相關的設定檔與建立 Windows Service
* 產生 zabbix_agentd.conf 設定檔
echo LogFile=c:\\zabbix\\zabbix_agentd.log > c:\zabbix\zabbix_agentd.conf
echo Server=zabbix.server.name.or.ip >> c:\zabbix\zabbix_agentd.conf
echo ServerActive=zabbix.server.name.or.ip >> c:\zabbix\zabbix_agentd.conf
echo Hostname=Windows_Server_or_PC_name >> c:\zabbix\zabbix_agentd.conf
* 註冊 Zabbix Agent 為 Windows 服務
c:\zabbix\zabbix_agentd.exe --config c:\zabbix\zabbix_agentd.conf --install
* 啟動 Zabbix Agent 服務
net start "Zabbix Agent"
* 開機自動啟動 Zabbix Agent 服務 (注意 start= 後面有一個空格)
sc config "Zabbix Agent" start= auto
* 到控制台手動操作防火牆設定, 允許 C:\zabbix\zabbix_agentd.exe 通過防火牆, 或開放 TCP 10050 port
* 啟動之後可以觀察 c:\zabbix\zabbix_agentd.log 內的紀錄
* 如果 Server IP 或 Hostname 要修改 可以直接使用記事本更改 c:\zabbix\zabbix_agentd.conf 修改後需要到控制台->服務 重新啟動 Zabbix Agent 才會生效
===== 相關 Agent 的安裝設定 =====
{{indexmenu>tech/zabbix#1|js navbar nocookie tsort rsort}}
===== 參考網址 =====
* https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages#red_hat_enterprise_linux_centos
* https://www.zabbix.com/documentation/2.4/manual/appendix/install/db_scripts
* https://www.zabbix.com/forum/showthread.php?t=47375
* http://jamyy.us.to/blog/2012/07/3920.html
{{tag>monitor install zabbix}}
diamond buyers