zabbix3.0.4安裝

Zabbix監控部署方案

目的:

搭建數據中心監控環境

初始化系統自動話腳本init.sh


LAMP環境部署

安裝編譯環境,使用一鍵安裝腳本安裝lamp或lnmp

#注:腳本使用時要注意軟件鏈接是否失效,以免安裝失敗。

Lamp安全與優化:

1.配置disable_function 禁用一些函數

disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

2.Mysql配置

開啓每表表空間

登錄:

#/usr/local/mysql/bin/mysql -S /data/mysql/mysql.sock

mysql>use mysql;

mysql> update user set password=password('123456') where user = 'root';

mysql> flush privileges;

/usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/mysql.sock

Zabbix下載地址:

wget http://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz

創建、導入zabbix數據庫 

mysql> create database zabbix character set utf8;

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #創建zabbix用戶

flush privileges; #再次刷新系統授權表

use zabbix #進入數據庫

select database();#查看當前數據庫

source /usr/local/src/zabbix-3.0.4/database/mysql/schema.sql #導入腳本文件到zabbix數據庫

source /usr/local/src/zabbix-3.0.4/database/mysql/images.sql #導入腳本文件到zabbix數據庫

source /usr/local/src/zabbix-3.0.4/database/mysql/data.sql #導入腳本文件到zabbix數據庫

注意:請按照以上順序進行導入,否則會出錯。

安裝zabbix

1、添加用戶:

由於安全zabbix只能使用普通用戶運行

groupadd zabbix #創建用戶組zabbix

useradd -M zabbix -s /sbin/nologin

useradd zabbix -g zabbix -s /bin/false #創建用戶zabbix,並且把用戶zabbix加入到用戶組zabbix中

cd /usr/local/src/zabbix-3.0.4/ #進入安裝目錄

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config 

--enable-java #支持jmx監控java類進程

make #編譯

make install #安裝

說明:find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel

修改zabbix配置文件

cd /usr/local/zabbix/etc

vi etc/zabbix_server.conf

DBName=zabbix #數據庫名稱

DBUser=zabbix #數據庫用戶名

DBPassword=123456 #數據庫密碼

ListenIP=127.0.0.1 #數據庫ip地址

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄

:wq! #保存退出

vi /home/sxit/zabbix/etc/zabbix_agentd.conf

Include=/home/sxit/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1 #啓用自定義key

:wq! #保存退出

6、添加開機啓動腳本

cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server #服務端

cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客戶端

chmod +x /etc/init.d/zabbix_server #添加腳本執行權限

chmod +x /etc/init.d/zabbix_agentd #添加腳本執行權限

chkconfig zabbix_server on #添加開機啓動

chkconfig zabbix_agentd on #添加開機啓動

修改zabbix開機啓動腳本中的zabbix安裝目錄

vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件

BASEDIR=/home/sxit/zabbix/ #zabbix安裝目錄

:wq! #保存退出

vi /etc/init.d/zabbix_agentd #編輯客戶端配置文件

BASEDIR=/home/sxit/zabbix/ #zabbix安裝目錄

:wq! #保存退出

三、配置web站點

cd /home/sxit/zabbix-3.0.3

cp -r /usr/local/src/zabbix-3.0.4/frontends/php /usr/local/apache/htdoc/zabbix

chown daemon.daemon -R /usr/local/apache/htdoc/zabbix

備註:/home/sxit/apache/htdoc/爲apache默認站點目錄 daemon爲apache運行賬戶

service zabbix_server start #啓動zabbix服務端

service zabbix_agentd start #啓動zabbix客戶端

四、修改php配置文件參數

1、vi /etc/php.ini #編輯修改

post_max_size =16M

max_execution_time =300

max_input_time =300

:wq! #保存退出

PHP databases supportoffFail

php databases support off fail 經查詢是缺少mysqli 

安裝mysqli

需要在php源碼中編譯出模塊然後加載

 /usr/local/php/bin/phpize

./configure --prefix=/usr/local/php/mysqli \

 --with-php-config=/usr/local/php/bin/php-config \

--with-mysqli=/usr/bin/mysql_config

Make &&make install

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

Installing header files:          /usr/local/php/include/php/

編輯php.ini

#vi etc/php.ini

在最末尾添加一行:

extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so

重啓http服務

注:此處可能回報:/usr/local/src/php-5.6.6/ext/mysqli/mysqli_api.c:36:47: error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory

直接修改:mysqli/mysqli_api.c 文件第36行路徑爲絕對路徑

include "/usr/local/src/php-5.6.6/ext/mysqlnd/mysql_float_to_double.h"

PHP gettextoffWarning

手動編譯安裝gettext模塊

 cd /usr/local/src/php-5.6.6/ext/gettext

# /usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config

#make && make install

安裝之後會生成一個類似於這樣的信息提示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

編輯php.ini

#vi etc/php.ini

在最末尾添加一行:

extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gettext.so

重啓http服務

問題:

Zabbix server is runningNo10.0.8.153:10051

Zabbix server is not running:the information displayed may not be current

1、php.ini文件中查找 allow_url_fopen = On;

讓你的php支持 opensll擴展

/usr/local/php/bin/phpize

./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

在最末尾添加一行:

extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/openssl.so

2、開啓fsockopen函數就可以了

disable_function 去掉pfsockopen

五、安裝web

在瀏覽器中打開:

http://10.0.8.153/zabbix/setup.php

登錄:

默認用戶名:Admin 

密碼:zabbix

zabbix agent安裝:

./configure --prefix=/usr/local/zabbix_agent --enable-agent

  make && make install 

 cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客戶端

chmod +x /etc/init.d/zabbix_agentd

chkconfig zabbix_agentd on

修改安裝目錄:vim /etc/init.d/zabbix_agentd

 BASEDIR=/usr/local/zabbix_agent/

zabbix客戶端配置

配置zabbix_server配置文件,zabbix源碼目錄下

# vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf

Server=127.0.0.1(注意,客戶機上面這個需要修改爲監控機的IP地址)

ServerActive=127.0.0.1(注意,客戶機上面這個需要修改爲監控機的IP地址)

Hostname=Zabbix server(這裏的名字需要和監控機上面配置的一致)

其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被動後者是主動。也就是說Server這個配置是用來允許127.0.0.1這個ip來我這取數據。而serverActive的127.0.0.1的意思是,客戶端主動提交數據給他。明白了嗎?爲什麼要分主動和被動?後續再來討論這個問題!

zabbix agent檢測分爲主動(agent active)和被動(agent)兩種形式,主動與被動的說法均是相對於agent來討論的。簡單說明一下主動與被動的區別如下:

主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的數據提交給server/proxy

被動:server向agent請求獲取監控項的數據,agent返回數據。

主動配置:監控客戶端主動發送數據

Server 192.168.18.223  監控端ip(服務器端)

ServerActive  192.168.18.223:10051  監控端ip:端口

Hostname=Zabbix server(這裏的名字需要和監控機上面配置的一致)

被動配置:監控服務器主動收集數據

Server 192.168.18.223  監控端ip(服務器端)

ServerActive  192.168.18.22x:10050  被監控端ip:端口

Hostname=192.168.18.22x(這裏的名字需要和監控機上面配置的一致)

測試,下面的命令需要在server端執行,其中10.0.8.152是agent的ip

#/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.host"

11163875

#/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.hostname"

HOSTNAME

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章