1. 程式人生 > >RedHat Linux 6.3 下安裝 zabbix3.4 備忘

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

的錯誤,這是因為安裝mysql5.7.23版本時(具體是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安裝php-mysql即可,由於預設的php是5.3版本的,本例中前面已經將php升級到5.6,此時應使用命令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 觸發器

匯入模板後,在 配置–>主機 列表中點選某一個主機,進入到該主機相關的配置介面,然後切換到“模板”頁籤,新增相應的連結指示器:
這裡寫圖片描述