LNMP環境下Zabbix3.4安裝和配置

一直使用cacti來監控公司的服務器,使用中發現cacti侷限性仍是比較大的,對於監控網絡設備出圖比較好。但對於服務,更細緻的自定義監控卻不是很友善。在cacti上集成了nagios用於監控服務,使用起來比較麻煩,特別是出圖。對於zabbix只作過簡單的瞭解,據說部署簡單,自動發現功能強大。安裝測試試用一下。php

安裝環境
CentOS7.4,Nginx1.12.2,MariaDB10.2,PHP7.2,Zabbix3.4.7
1、LNMP環境搭建
一、安裝Linux(CentOS7.4)
最小化安裝,配置IP地址,主機名,安裝vim、bash-completion等html

二、安裝Nginx(1.12.2)前端

# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm  #安裝nginx官方源

或者手動建立yum源:http://nginx.org/en/linux_packages.htmlmysql

# vim /etc/yum.repos.d/nginx.repo        #手動建立nginx yum安裝源
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
#其中baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/,把」OS」替換成」rhel」或」centos」,把」OSRELEASE」替換成」6」或」7」,用於6.x或7.x版本。
# yum install nginx             #安裝nginx,默認爲nginx-1.12.2
# systemctl start nginx
# systemctl enable nginx
# firewall-cmd --permanent --add-service=http --zone=public
# firewall-cmd --reload

打開http://10.100.3.66,將看到如下內容,說明nginx安裝成功。
LNMP環境下Zabbix3.4安裝和配置
三、安裝MySQL(mariadb-10.2)linux

# vim /etc/yum.repos.d/mariadb.repo #經過yum方式安裝
輸入如下內容ios

# MariaDB 10.2 CentOS repository list - created 2018-03-06 07:26 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

安裝MySQL:可經過https://downloads.mariadb.org/mariadb/repositories/地址獲取mariadb源nginx

# yum install MariaDB-server MariaDB-client
使用yum源安裝,下載速度比較慢,可經過如下地址下載RPM包安裝
http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.13/yum/rhel74-amd64/rpms/
方法:web

#先yum安裝較小的依賴包:
# yum install lsof rsync perl-DBI boost-program-options jemalloc MariaDB-shared
#再rpm下載安裝較大的包:
# rpm -ivh galera-25.3.23-1.rhel7.el7.centos.x86_64.rpm
# rpm -ivh MariaDB-10.2.13-centos74-x86_64-client.rpm
# rpm -ivh MariaDB-10.2.13-centos74-x86_64-server.rpm
#啓動和配置MySQL:
# systemctl start mariadb
# mysql_secure_installation     #根據提示配置密碼和安裝選項
# systemctl restart mariadb     #配置完成後重啓MySQL

四、安裝PHP(7.2)
源碼安裝方法:http://php.net/get/php-7.2.3.tar.gz/from/a/mirror
yum安裝方法:https://webtatic.com/packages/php72/sql

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 或yum install epel-release
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #yum源
# yum install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql
# systemctl start php-fpm
# systemctl enable php-fpm
# php –v

LNMP環境下Zabbix3.4安裝和配置
netstat -tln|grep 9000
LNMP環境下Zabbix3.4安裝和配置
五、配置Nginx數據庫

# vim /etc/php-fpm.d/www.conf #修改php-fpm配置文件,把apache改成nginx
LNMP環境下Zabbix3.4安裝和配置
# vim /etc/nginx/conf.d/default.conf #配置location,在index中添加index.php。以支持index.php的首頁:
LNMP環境下Zabbix3.4安裝和配置
配置php請求被傳送到後端的php-fpm模塊,默認狀況下php配置塊是被註釋的,此時去掉註釋並修改成如下內容:
LNMP環境下Zabbix3.4安裝和配置
默認配置,把.php$改成..php(\/.)*$(可省略),把root中的html改成/usr/share/nginx/html,把fastcgi_param中的/scripts改成$document_root。root是配置php程序放置的根目錄。
保存後,重啓nginx服務
systemctl restart nginx

六、配置php

# vim /etc/php.ini      #修改PHP配置文件
expose_php = Off        #禁止顯示php版本的信息
short_open_tag = On     #取消前面的;,修改成On。表示支持php短標籤
#如下爲zabbix配置要求
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
always_populate_raw_post_data = -1
date.timezone = Asia/Shanghai

七、測試
經過http://10.100.3.66/phpinfo.php查看php模塊是否正常,測試後刪除

# vim /usr/share/nginx/html/phpinfo.php #在首頁目錄新增,測試php
LNMP環境下Zabbix3.4安裝和配置
經過http://10.100.3.66/test.php查看mysql數據庫鏈接是否正常,測試後刪除

# vim test.php #新增test.php(名字隨意),測試mysql鏈接
LNMP環境下Zabbix3.4安裝和配置
注:mysql_connect擴展自 PHP 5.5.0 起已廢棄,改用mysqli或pdo_mysql,參閱:http://php.net/manual/zh/mysqlinfo.api.choosing.php
在開啓SELinux狀況下,php鏈接mysql測試會失敗。

# getsebool -a |grep httpd_can_network      #檢查httpd進程的許可模式
能夠看到httpd_can_network_connect --> off
# setsebool -P httpd_can_network_connect=1  #開啓鏈接後便可測試正常

2、安裝Zabbix
一、安裝zabbix軟件包 經過yum源安裝:https://www.zabbix.com/download 官方中文手冊:https://www.zabbix.com/documentation/3.4/zh/start 配置yum安裝源:

# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
安裝Zabbix服務器,前端,代理agent:
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent

二、配置數據庫

# mysql -uroot -p       #輸入密碼,登陸mysql
> create database zabbix character set utf8 collate utf8_bin;   #建立數據庫
#建立mysql用戶zabbix並受權:
> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
> flush privileges;
#導入數據庫初始結構和數據:
# zcat /usr/share/doc/zabbix-server-mysql-3.4.7/create.sql.gz |mysql -uzabbix -p zabbix             #根據提示輸入數據庫用戶zabbix的密碼
#配置數據庫帳號密碼:
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

三、配置SELinux
在開啓SELinux狀況下,zabbix-server啓動會失敗

# getsebool -a|grep httpd_can_connect
能夠看到httpd_can_connect_zabbix --> off
# setsebool -P httpd_can_connect_zabbix on
# setsebool -P httpd_can_network_connect_db on

但只修改以上規則還不夠,須要測試的太多。直接關閉得了。
關閉SELilunx:

# vim /etc/selinux/config
SELINUX=disabled    #重啓系統

四、檢查中文是否開啓(默認開啓)

# vim /usr/share/zabbix/include/locales.inc.php
  'zh_CN' => ['name' => _('Chinese (zh_CN)'),     'display' => true],

五、啓動

# cp -r /usr/share/zabbix/ /usr/share/nginx/html/
# chown -R zabbix:zabbix /etc/zabbix/
# chown -R zabbix:zabbix /usr/share/nginx/
# chown -R zabbix:zabbix /usr/lib/zabbix/
# chmod -R 755 /etc/zabbix/web/
# chmod -R 777 /var/lib/php/session/
# systemctl start zabbix-server
# systemctl enable zabbix-server
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
# netstat -anpl|grep 10051      #查看端口是否起來,zabbix_agent端口爲10050

LNMP環境下Zabbix3.4安裝和配置
安裝中遇到的問題:
沒法打開http://10.100.3.66/zabbix/setup.php,報如下錯誤:
1>、FastCGI sent in stderr: 「PHP message: PHP Warning:
require_once(/etc/zabbix/web/maintenance.inc.php): failed to open stream:
Permission denied in
/usr/share/nginx/html /zabbix/include/classes/core/ZBase.php on line 269
權限問題,路徑:/etc/zabbix/web
解決辦法:chmod -R 755 /etc/zabbix/web/

2>、FastCGI sent in stderr: "PHP message: PHP Fatal error:
Uncaught Exception: Cannot start session. In
/usr/share/nginx/html/zabbix/include/classes/core/CSession.php:50
權限問題,路徑:less /etc/php-fpm.d/www.conf
php_value[session.save_path] = /var/lib/php/session
解決辦法:chmod -R 777 /var/lib/php/session/

六、配置Zabbix安裝
打開http://10.100.3.66/zabbix,將自動跳轉到安裝界面:
LNMP環境下Zabbix3.4安裝和配置
下一步,檢查配置是否正確,所有OK便可。
LNMP環境下Zabbix3.4安裝和配置
下一步,輸入數據庫密碼
LNMP環境下Zabbix3.4安裝和配置
下一步,輸入Name,隨意起
LNMP環境下Zabbix3.4安裝和配置
確認配置是否正確
LNMP環境下Zabbix3.4安裝和配置
下一步,提示沒法建立配置文件
LNMP環境下Zabbix3.4安裝和配置
從提供的下載連接中下載配置文件,而後上傳到/etc/zabbix/web/便可,或修改web權限爲web服務器啓動用戶可寫的權限。

# cp zabbix.conf.php /etc/zabbix/web/
# chown zabbix.zabbix /etc/zabbix/web/zabbix.conf.php

再點擊完成
LNMP環境下Zabbix3.4安裝和配置
輸入默認用戶名Admin,密碼zabbix,便可登陸。
LNMP環境下Zabbix3.4安裝和配置
LNMP環境下Zabbix3.4安裝和配置
點擊用戶,可修改系統語言、主題、自動登陸等選項
LNMP環境下Zabbix3.4安裝和配置
Update後界面即變爲中文的
LNMP環境下Zabbix3.4安裝和配置
最後修改nginx主頁,跳轉到zabbix
vim /usr/share/nginx/html/index.html
LNMP環境下Zabbix3.4安裝和配置
3、配置zabbix
監控zabbix服務器:
配置-->主機,選擇zabbix server,啓用主機。以下圖,啓動後ZBX顯示爲綠色。
LNMP環境下Zabbix3.4安裝和配置
查看監控主機的信息:
監測中-->最新數據,若有如下告警,是由於PHP7.2版本中比較嚴格,count函數僅支持參數爲數組, 非數組狀況下將報警告。
LNMP環境下Zabbix3.4安裝和配置
解決辦法:

# vim /usr/share/nginx/html/zabbix/latest.php       #定位到104行
修改$singleHostSelected = (count($filter['hostids']) == 1);爲:
$singleHostSelected = (count(array($filter['hostids'])) == 1);

刷新,就看不到告警信息了。
在過濾器中選擇zabbix server主機,能夠看到相關監控項:
LNMP環境下Zabbix3.4安裝和配置
展開監控項,能夠看到具體的監控內容。例如CPU:
LNMP環境下Zabbix3.4安裝和配置
點擊右邊的圖形,能夠以圖表形式展現:
LNMP環境下Zabbix3.4安裝和配置
最下方漢字顯示爲亂碼,是由於語言已經改成中文了,但字體識別不到,能夠使用Windows系統裏的字體。
解決辦法:
在Windows系統中,打開控制面板-->字體,以下圖:
LNMP環境下Zabbix3.4安裝和配置
找到想使用的字體,如黑體(simhei.ttf,右鍵屬性可查看),上傳到Linux。
再複製到fonts目錄:cp simhei.ttf /usr/share/nginx/html/zabbix/fonts/
再修改defines.inc.php文件:

# vim /usr/share/nginx/html/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME',   'graphfont');
define('ZBX_FONT_NAME', 'graphfont');

修改成:

define('ZBX_GRAPH_FONT_NAME',   'simhei');
define('ZBX_FONT_NAME', 'simhei');

刷新頁面便可看到中文漢字了,以下圖:
LNMP環境下Zabbix3.4安裝和配置

相關文章
相關標籤/搜索