CentOS7搭建Zabbix4實現企業級監控系統

CentOS7搭建Zabbix4實現企業級監控系統


第一步 部署環境


基於LNMP之上搭建(LNMP一鍵安裝包)

wget http://soft.×××er.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && LNMP_Auto="y" DBSelect="3" DB_Root_Password="lnmp.org" InstallInnodb="y" PHPSelect="5" SelectMalloc="1" ./install.sh lnmp

   https://lnmp.org/auto.html

lnmp1.png


第二步 源碼安裝Zabbix

下載zabbix源碼到/root/目錄,

cd /root/
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.4/zabbix-4.2.4.tar.gz


安裝依賴程序

yum -y install net-snmp-devel libevent-devel


解壓zabbix

tar -xf zabbix-4.2.4.tar.gz


服務端建立zabbix用戶

groupadd  zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix


服務端編譯參數

cd /root/zabbix-4.2.4
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent \
  --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp \
  --with-libcurl --with-libxml2
make && make install


第三步 創建zabbix的數據庫


創建zabbixdb庫

mysql -uroot -p (登陸數據庫)

mysql>create database zabbixdb character set utf8;
mysql>grant all privileges on zabbixdb.* to zabbix@localhost identified by 'zpasswd';
mysql>flush privileges;
mysql>quit;


導入zabbix數據庫

cd /root/zabbix-4.2.4
mysql -uzabbix -pzpasswd zabbixdb <./database/mysql/schema.sql
mysql -uzabbix -pzpasswd zabbixdb <./database/mysql/images.sql
mysql -uzabbix -pzpasswd zabbixdb <./database/mysql/data.sql
history -c  #清除歷史命令


第四步 修改配置Zabbix文件


Zabbix 配置文件,把配置文件軟鏈到/etc/zabbix目錄下,方便維護。

ln -s /usr/local/zabbix/etc/ /etc/zabbix


修改配置文件中連接數據的用戶名/密碼

sed -i 's/^DBName=.*$/DBName=zabbixdb/g' /etc/zabbix/zabbix_server.conf
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /etc/zabbix/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zpasswd/g' /etc/zabbix/zabbix_server.conf

拷貝啓動腳本

cp  /root/zabbix-4.2.4/misc/init.d/fedora/core/zabbix_*  /etc/init.d/
chmod +x /etc/init.d/zabbix_*


修改zabbix基本目錄(根)

sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd

修改zabbix日誌文件

sed -i 's/LogFile=\/tmp\/zabbix_server.log/LogFile=\/var\/log\/zabbix\/zabbix_server.log/g' \
/etc/zabbix/zabbix_server.conf
sed -i 's/LogFile=\/tmp\/zabbix_agentd.log/LogFile=\/var\/log\/zabbix\/zabbix_agentd.log/g' \
/etc/zabbix/zabbix_agentd.conf


創建zabbix日誌文件

mkdir /var/log/zabbix
touch /var/log/zabbix/zabbix_{server,agentd}.log
chown -R zabbix:zabbix /var/log/zabbix/


在配置文件末尾行加上自定義腳本存放目錄

mkdir /etc/zabbix/script
sed -i '$a\AlertScriptsPath=\/etc\/zabbix\/script' /etc/zabbix/zabbix_server.conf

查看配置文件修改結果

grep -Ev "^$|^#" /etc/zabbix/zabbix_server.conf

### 提示 ###

LogFile=/var/log/zabbix/zabbix_server.log //日誌文件目錄
PidFile=/tmp/zabbix_server.pid //PID文件目錄(默認)
DBHost=localhost      //數據庫
DBName=zabbixdb        //數據庫名
DBUser=zabbix          // 數據庫用賬戶
DBPassword=zpasswd      // 數據庫密碼
AlertScriptsPath=/etc/zabbix/script //自定義腳本存放目錄

################


啓動Zabbix

服務端添加啓動項

chkconfig --add zabbix_server
chkconfig zabbix_server on
service  zabbix_server start


服務端自身也需要監控,所以需要啓動自己的agentd

chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
service  zabbix_agentd start



第五步 添加Nginx配置文件


cat /usr/local/nginx/conf/vhost/zabbix.conf 

server
 {
   listen       8099;
   server_name  92.168.20.10;
   index index.html index.htm index.php;
   root  /data/www/zabbix;
   
 
   location ~ .*\.(php|php5)?$
   {
     fastcgi_pass  unix:/tmp/php-cgi.sock;
     #fastcgi_pass  127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi.conf;
   }
   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
     expires      30d;
   }
   location ~ .*\.(html|htm|js|css)?$
   {
     expires      8h;
   }
   
   location /5998153NginxStatus
   {
     stub_status on;
     access_log   off;
   }
   error_log    /home/wwwlogs/error.log;
   access_log   /dev/null;
  #access_log   /data/wwwlogs/access.log;
 }



拷貝Zabbix Web到/data/www/zabbix

cp -r /root/zabbix-4.2.4/frontends/php /data/www/zabbix


重啓nginx


然後通過瀏覽器 進行WEB管理頁面進行安裝,

http://92.168.20.10:8099

zabbix1.png



Zabbix 管理頁面是PHP語言,需要PHP服務的支持,安裝過程中可能會出現一些錯誤。需要修改一些php參數。

zabbix2.png


第六步 PHP參數修改


注意:需要修改幾個PHP的參數值

sed -i 's/post_max_size = 8M/post_max_size = 16M/g'  /usr/local/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g'  /usr/local/php/etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 300/g'  /usr/local/php/etc/php.ini


#sed -i 's/;date.timezone = /date.timezone = Asia\/Shanghai/g'  /usr/local/php/etc/php.ini
#sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g'  /usr/local/php/etc/php.ini


修改之後

service php-fpm restart


如果有 PHP ldap Warning

#出現告警是因爲ldap模塊不存在,須要編譯生成此模塊並重新加載

[root@DE5-2673v3-1287 ~]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-*/
opcache.a  opcache.so


#查看PHP版本

[root@DE5-2673v3-1287 ~]# php -v 
PHP 5.6.40 (cli) (built: Jul 15 2019 13:04:32) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologies

#到源碼包的解壓目錄下,沒有保存源碼文件的話 , 下載相同版本的php進行解壓 , 進行源碼編譯ldap模塊(其他模塊如果缺失編譯方法一樣)

[root@DE5-2673v3-1287 ~]# cd /root/lnmp1.6-full/src/  #進入模塊所在的源碼位置
[root@DE5-2673v3-1287 src]# tar -xf php-5.6.40.tar.bz2 
[root@DE5-2673v3-1287 src]# cd /root/lnmp1.6-full/src/php-5.6.40/ext/ldap 
[root@DE5-2673v3-1287 ldap]# ls 
config.m4  config.w32  CREDITS  ldap.c  ldap.dsp  ldap.mak  LDAP_Win32_HOWTO.txt  php_ldap.h  tests

#編譯PHP擴展的工具,主要是根據系統信息生成對應的configure文件

[root@DE5-2673v3-1287 ldap]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@DE5-2673v3-1287 ldap]# ./configure  --with-php-config=/usr/local/php/bin/php-config  --with-ldap  && make && make install


執行過程中可能會有如下報錯

configure: error: Cannot find ldap.h  

解決辦法 : 

yum -y install openldap-devel
cp -frp /usr/lib64/libldap* /usr/lib/


[root@DE5-2673v3-1287 ldap]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
ldap.so  opcache.a  opcache.so

[root@DE5-2673v3-1287 ~]# vim /usr/local/php/etc/php.ini  #編輯php.ini,5版本的php添加extension=ldap.so

保存退出 , 重啓PHP服務


http://92.168.20.10:8099

頁面配置

Database type   MySQL

Database server localhost

Database port   3306

Database name   zabbixdb

Database user   zabbix

Database password   zpasswd

 

Zabbix serverlocalhost

Zabbix server port10051

Zabbix server name



默認賬號Admin

默認密碼爲zabbix

可以通過數據庫中users表來查看,密碼是經過MD5加密。zabbixdb.png





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