CentOS7搭建Zabbix4实现企业级监控系统

CentOS7搭建Zabbix4实现企业级监控系统php


第一步 部署环境css


基于LNMP之上搭建(LNMP一键安装包)html

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.htmlmysql

lnmp1.png


第二步 源码安装Zabbixnginx

下载zabbix源码到/root/目录,sql

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


解压zabbixvim

tar -xf zabbix-4.2.4.tar.gz


服务端创建zabbix用户浏览器

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


服务端编译参数bash

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

相关文章
相关标签/搜索