需要安装的包:
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.1/zabbix-4.0.1.tar.gz
Zabbix搭建
服务端server:192.168.4.11
客户端agent: 192.168.4.12
步骤一:server端布置LNMP环境:
1.源码安装nginx(先解决依赖关系)
[root@zabbixserver ~]# yum -y install gcc pcre-devel openssl-devel
[root@zabbixserver]# ./configure --prefix=/usr/local/nginx //指定安装的目录
root@zabbixserver ]# make && make install
2.安装mysql和PHP-FPM
[root@zabbixserver ~]# yum -y install php php-mysql
> mariadb mariadb-devel mariadb-server
[root@zabbixserver~]#yum-y install php-fpm-5.4.16-42.el7.x86_64.rpm //解析PHP页面的程序必须装
修改nginx文件可以解析PHP页面
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
}
:wq
3.把nginx,mysql,php-fpm,启动并检查端口是否开启
root@web1 zabbix-server]# systemctl restart mariadb.service
[root@web1 zabbix-server]# systemctl restart php-fpm.service
[root@web1 zabbix-server]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx //做个软链接,方便启动nginx(系统命令不是在/bin下就是/sbin下)
[root@web1 zabbix-server]# /usr/local/nginx/sbin/nginx -t //检查配置文件是否正确
[root@web1 zabbix-server]# nginx -s reload //重新启动nginx
[root@web1 zabbix-server]# netstat -tunlp | grep :80 //nginx默认端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
[root@web1 zabbix-server]# netstat -tunlp | grep :9000 //php-fpm默认端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
[root@web1 zabbix-3.4.4]# netstat -tunlp | grep :3306 //mysql数据库默认端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
4.测试是否可以解析PHP页面
[root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted //测试前先改防火墙默认区域
[root@zabbixserver ~]# setenforce 0 //关闭SElinux
[root@zabbixserver ~]# cat /usr/local/nginx/html/test.php //在这个目录下创建一个php文件测试文件
<?php
$i=33;
echo $i;
?>
[root@zabbixserver ~]# curl http://192.168.2.5/test.php //使用curl是否可以输出“33”
步骤二:server端安装zabbix:192.168.4.0.11
1. 源码安装Zabbix Server
多数源码包都是需要依赖包的,zabbix也一样,源码编译前需要先安装相关依赖包。
yum -y install gcc clang pcre pcre-devel libevent libevent-devel OpenIPMI OpenIPMI-devel libssh2 libssh2-devel net-snmp-devel libcurl libcurl-devel unixODBC-devel libxml2-devel
//安装相关依赖
[root@zabbixserver lnmp_soft]# tar -xf zabbix-4.0.1.tar.gz
[root@zabbixserver lnmp_soft]# cd zabbix-4.0.1/
[root@zabbixserver zabbix-4.0.1]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \
> --with-net-snmp --with-libcurl //源码
// --enable-server安装部署zabbix服务器端软件
// --enable-agent安装部署zabbix被监控端软件
// --enable-proxy安装部署zabbix代理相关软件
// --with-mysql配置mysql_config路径
// --with-net-snmp允许zabbix通过snmp协议监控其他设备
// --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控php主机服务的状态包
[root@zabbixserver zabbix-4.0.1]# make && make install //安装zabbix
2. 初始化Zabbix,创建数据库,上线Zabbix的Web页面
2.1创建数据库
[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8; //创建数据库,支持中文字符集
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; //创建可以访问zabbix数据库的账户与密码(zabbix监控的信息存放在zabbix库里面)
[root@zabbixserver~]#cd lnmp_soft/zabbix-4.0.1/database/mysql/
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
//刚刚创建是空数据库,zabbix源码包目录下的表格,有提前准备好的数据,还原即可。
//使用mysql导入这些数据即可(注意导入顺序)
2.2 上线Zabbix的Web页面
2.2.1拷贝index.php 文件
[root@zabbixserver~]# cd lnmp_soft/zabbix-4.0.1/frontends/php/ //zabbix的包目录下有
[root@zabbixserver php]# cp -a * /usr/local/nginx/html/zabbix/
//拷贝到nginx的默认web访问路径下
/在此目录下/usr/local/nginx/html/zabbix 拷贝的是index.php,这个文件就是zabbix的web首页
[root@zabbixserver php]#chmod -R 777 /usr/local/nginx/html/zabbix/ //加权限
2.2.2创建启动zabbix程序的用户
[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix //不创建用户无法启动
2.2.3修改PHP 配置文件并安装依赖包
[root@zabbixserver ~]# curl http://192.168.2.5/index.php
根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求
php-bcmath和php-mbstring都在lnmp_soft目录下有提供软件包。
[root@zabbixserver ~]# yum -y install php-gd php-xml php-ldap
[root@zabbixserver ~]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm
[root@zabbixserver ~]# yum install php-mbstring-5.4.16-42.el7.x86_64.rpm
[root@zabbixserver ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai //设置时区
max_execution_time = 300 //最大执行时间,秒
post_max_size = 32M //POST数据最大容量
max_input_time = 300 //服务器接收数据的时间限制
memory_limit = 128M //内存容量限制
[root@zabbixserver ~]# systemctl restart php-fpm
2.2.4修改存贮zabbix配置文件的信息并给其他用户权限
# chmod 777 /usr/local/nginx/html/zabbix/conf
# cat /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'jj';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
2.2.5登入管理页面帐号密码(初始密码)
用户:Admin
密码:zabix
注意:密码要修改并且改成中文字幕
2.2.6修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_server服务
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost //数据库主机,默认该行被注释
DBName=zabbix //设置数据库名称
DBUser=zabbix //设置数据库账户
DBPassword=zabbix //设置数据库密码,默认该行被注释
LogFile=/tmp/zabbix_server.log //设置日志,仅查看以下即可
3..创建服务server的启动脚本
root@zabbexserver~ zabbix-3.4.4]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
//单核core 多核是core5
#chmod +x /etc/init.d/ //保证有执行权限
3.1修改该配置文件的zabbix目录
[root@web1 zabbix]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local 改成 BASEDIR=/usr/loca/zabbix //因为我们的zabbix的安是这个目录
3.2 启动server程序,查看端口号
#[root@web1 zabbix]# /etc/init.d/zabbix_server restart //启动程序
[root@web1 zabbix]# netstat -tunlp | grep :10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 3849/zabbix_server
步骤三:配置agent端(被监控端192.168.4.12)
1.源码安装Zabbix agent软件
和192.168.4.11相同操作
[root@zabbixclient_web1 ~]# useradd -s /sbin/nologin zabbix
[root@zabbixclient_web1 ~]#yum -y install gcc clang pcre pcre-devel libevent libevent-devel OpenIPMI OpenIPMI-devel libssh2 libssh2-devel net-snmp-devel libcurl libcurl-devel unixODBC-devel libxml2-devel ##安装相关依赖
gcc clang
[root@zabbixclient_web1 ~]# tar -xf zabbix-4.0.1.tar.gz
[root@zabbixclient_web1 ~]# cd zabbix-4.0.1/
[root@zabbixclient_web1 zabbix-4.0.1]#./configure --prefix=/usr/local/zabbix --enable-agent
[root@zabbixclient_web1 zabbix-4.0.1]# make && make install
2.修改agent配置文件,启动Agent
[root@zabbixclient_web1 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.4.11//指定谁可以监控本机(被动监控模式)
ServerActive=192.168.4.11:10050 //谁可以监控本机(主动监控模式)
Hostname=zabbixclient_web1 //被监控端自己的主机名,只是一个标识(随意写)
EnableRemoteCommands=1 //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1 //是否允许自定义key监控
[root@zabbexclient~ zabbix]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
//单核core 多核是core5
#chmod +x /etc/init.d/ //保证有执行权限
2.1修改该脚本配置文件的zabbix目录(agent)
[root@ zabbixcleant]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local 改成 BASEDIR=/usr/loca/zabbix //因为我们的zabbix的安装在这个目录
[root@ zabbixcleant-]#/etc/init.d/zabbix_agent restart
# netstat -tunlp | grep :10050 //查看agent端口是否开启
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
3.到此结束环境搭建好了---接着配置所需监控选项,根据自己公司需求配置吧,入简单的cpu,内存,磁盘,swap,流量。可以关注下一篇文章。