====== 安裝 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