RedHat Linux 6.3 下安裝 zabbix3.4 備忘
1.服務端
安裝zabbix,需要需要具備LAMP環境。
本次安裝各軟體的版本如下
zabbix:3.4,
apache:2.2.15(檢視命令:httpd -v);
php:5.6.37(檢視命令:php -v);
mysql:5.7.23
安裝過程備忘如下:
apache使用yum安裝即可;
linux6 下系統預設php版本為5.3,zabbix3.4要求php版本>=5.4,因此需要對php進行版本升級。
一開始沒升級php,結果啟動服務後訪問 zabbix時頁面無法訪問,報500錯誤,看php的日誌(tail -f /var/log/httpd/error_log),有如下的報錯:
PHP Parse error: syntax error, unexpected '[' in /var/www/html/zabbix/index.php on line 32
升級php步驟如下:
#刪除現有php
yum remove php-common
yum clean all
#安裝epel6-8
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
#安裝php5.6
yum install php56w php56w-common
zabbix按照官網步驟操作即可。
mysql到官網下載bundle包進行安裝,需要安裝 client、common之類的,可以先直接安裝 server,它會提示需要先安裝哪些依賴,依次安裝即可。
安裝完之後,啟動zabbix時應該會報一個找不到 libmysqlclient_r.so.16
mysql-community-libs-compat-5.7.23-1.el6.x86_64.rpm
這個包),安裝的so檔案是高版本的 libmysqlclient.so.20
(路徑:/usr/lib64/mysql/
),此時可以到mysql官網單獨下載 MySQL-shared-compat-5.6.41-1.el6.x86_64.rpm
這個包,執行安裝即可。
進入zabbix配置頁面後,涉及到 /etc/php.ini 檔案中引數配置的,根據提示配置即可。
關於At least one of MySQL, PostgreSQL, Oracle or IBM DB2 should be supported.
yum install php56w-mysql
其他類似缺少的都可以使用yum install php56w-bcmath php56w-gd php56w-xml php56w-sockets -y這樣批量安裝,安裝完後再重啟httpd服務
zabbix預設管理員賬號:Admin,密碼zabbix
進入首頁後,可以通過點選右上角的使用者,修改語言為簡體中文;
如果首頁閃爍提示 zabbix server is not running:the display maybe not current
,此時先檢視日誌檔案:/var/log/zabbix/zabbix_server.log,如果有類似Zabbix agent item [sipp.call[17120,17120,6focUKxe]] on host [Zabbix server] failed:first network error,wait for 15 seconds
,在/etc/zabbix/zabbix_agentd.conf
中修改如下引數設定(大部分預設是被註釋掉的):
StartAgents=10
BufferSend=10
BufferSize=150
MaxLinesPerSecond=100
Timeout=20
然後重啟agent。
重啟後如果還有not running的提示,繼續檢視日誌檔案,如果日誌檔案中已經沒有報錯,此時基本是selinux的原因,關掉即可。
2.Agent端
在需要被監控的伺服器上安裝zabbix-agent。
去官網下載對應版本的 zabbix-agent:
http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/
本例中服務端安裝的是3.4.1,因此客戶端也下載對應版本:
wget http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-agent-3.4.1-1.el6.x86_64.rpm
下載完成之後直接 rpm -ivh zabbix-agent-3.4.1-1.el6.x86_64.rpm
即可。
如果提示缺少Libcrypto.so.10(openssl_1.0.1)(64bit)
,是因為沒有安裝openssl或者版本不對,本例中是因為沒有安裝,所以執行 yum install openssl
後就可以正常安裝zabbix agent了。
安裝完之後修改配置檔案 /etc/zabbix/zabbix_agentd.conf
,
#這個名稱在server端新增主機時要用到,兩個地方必須一致
Hostname=ZabbixAgent_app1
#配置server端的IP地址
Server=192.16.1.136
修改完之後儲存配置檔案,service zabbix-agent restart
重啟agent服務。
防火牆裡增加允許訪問10050埠(zabbix agent的預設埠)。
3.在server端新增被監控主機
4.安裝orabbix監控oracle資料庫
orabbix不一定要安裝在資料庫伺服器上,本例中將orabbix與zabbix安裝在同一臺伺服器。
4.1oracle資料庫相關準備
4.1.1 建立oracle監控賬號:
CREATE USER ZABBIX IDENTIFIED BY 123456 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
4.1.2 分配角色:
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
4.1.3 賦許可權:
GRANT SELECT ANY TABLE TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
如果使用的是oracle 11g,繼續新增如下命令,開放ACL的訪問控制,否則在監控的過程中有部份內容無法正常顯示:
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;
4.2 到官網下載orabbix:
wget https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip
4.3 安裝
orabbix是解壓縮後即可使用,建議將解壓縮後的程式資料夾放在 /opt 目錄下(如果放置其他目錄稍後需要更改orabbix的啟動檔案orabbix,啟動檔案預設寫在opt/orabbix目錄下):
unzip orabbix-1.2.3.zip -d /opt/orabbix
cd /opt
chmod -R a+x orabbix/
4.4 修改配置檔案
通過複製示例配置檔案,建立自己的config.props
配置檔案:
cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props
編輯config.props
檔案:
vim /opt/orabbix/conf/config.props
ZabbixServerList=ZabbixServer1 #此處的ZabbixServer1與下兩行開頭對應
ZabbixServer1.Address=127.0.0.1 #zabbixserver地址
ZabbixServer1.Port=10051 #zabbixserver的埠
#以上埠號為與Zabbix Server通訊的埠,我這裡是將Orabbix與Zabbix裝在同一臺機器上的,
#如果不在同一臺機器,那裝Orabbix的機器需要先裝Zabbix Agent,否則資料將無法傳送到Zabbix Server。
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=DB1 #資料庫名(要與下面對應),多個數據庫用逗號隔開
#1.等號後的名字可以自己任意取名,但在Zabbix中新增Oracle Host時,必須用你在此設定的名字,否則無法監測。
#2.以上等號後面的值修改後,在下面的資料庫連線定義=處,也需要修改相應的名字;
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
DB1.Url=jdbc:oracle:thin:@192.168.11.17:1521:ORCL
#1. 以上行開始的那個值,需要與之前DatabaseList後面的值保持一樣。
#2. 192.168.11.17為Oracle伺服器的地址,1521為TNS Port,ORCL為DB SID。
DB1.User=ZABBIX
DB1.Password=123456
DB1.MaxActive=10
DB1.MaxWait=100
DB1.MaxIdle=1
DB1.QueryListFile=./conf/query.props
#此句指定資料查詢檔案,可針對不同資料庫,定製不同的查詢檔案,預設為./conf/query.props這個檔案
4.5 把orabbix做成系統服務:
cp /opt/orabbix/init.d/orabbix /etc/init.d/orabbix
4.6 設定開機啟動
chkconfig --add orabbix
chkconfig orabbix on
4.7 啟動orabbix
/opt/orabbix/run.sh
或者:
service orabbix start (linux6)
systemctl start orabbix (linux7)
4.8 在zabbix中新增oracle主機
新增主機方法參考上面 第3章節
新增主機時,“主機名稱”要與 orabbix 配置檔案中 DatabaseList= 後面的名稱一致;
agent代理程式的介面,填寫某一個agent的IP和埠即可。本例中在監控主機和兩臺應用伺服器上都安裝了agent(共3個),此處新增orabbix主機的時候,填寫的是它本機上的一個agent,因此IP是127.0.0.1,埠是預設的10050
4.9 匯入監控模板
進入到 配置–>模板,然後點選右上角的“匯入”,依次匯入orabbix自帶的預設模板(在 /opt/orabbix/template
下 )
- Orabbix_export_full.xml 全部匯入(圖表 監控項 觸發器)
- Orabbix_export_graphs.xml 圖表
- Orabbix_export_items.xml 監控項
- Orabbix_export_triggers.xml 觸發器
匯入模板後,在 配置–>主機 列表中點選某一個主機,進入到該主機相關的配置介面,然後切換到“模板”頁籤,新增相應的連結指示器: