环境:zabbix server

centos 7 1611最小化安装 172.16.103.2

zabbix client

Centos 7 1611 最小化安装 172.16.103.3

1,配置光盘yum源

创建挂载的目录,挂载光驱,备份原有repo

mkdir -p /media/cdrom

mount /dev/cdrom /media/cdrom/

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

vi CentOS-Media.repo

enabled=1

清除yum缓存,重新制作cache

yum clean all

yum makecache

2,配置LNMP环境

安装依赖包

yum -y install gcc pcre-devel openssl-devel

上传nginx-1.12.2.tar.gz包到root的家目录

解压缩nginx的包

tar -xf nginx-1.12.2.tar.gz

进入nginx的目录,编译安装

cd nginx-1.12.2

./configure --with-http_ssl_module

make && make install

卸载原有的mariadb,使用如下命令查看和卸载

rpm -qa |grep mar

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

安装php和mariadb

yum -y install php php-mysql mariadb mariadb-devel mariadb-server php-fpm

修改nginx的配置文件,让其支持php动态网站,因为有大量的php脚本需要执行,还有开启nginx的各种fastcgi缓存加速php脚本的执行速度

vi /usr/local/nginx/conf/nginx.conf

添加以下内容,添加的内容要顶格写,添加的位置如图所示

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 128k;

fastcgi_buffers 4 128k;

同时添加以下内容,添加位置如图所示

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

开启mariadb服务,php-fpm服务和nginx服务

systemctl start mariadb

systemctl start php-fpm

ln -s /usr/local/nginx/sbin/nginx /sbin/nginx

nginx

创建一个测试的php页面,使用curl测试访问

vim /usr/local/nginx/html/test.php

<?php

$i='this is a test page!';

echo $i;

?>

curl http://172.16.103.2/test.php

返回值this is a test page! 说明成功

3,安装zabbix server

首先安装zabbix server 的依赖包

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

解压zabbix包,进入目录,编译安装

tar -xf zabbix-3.4.11.tar.gz

cd zabbix-3.4.11

./configure --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等服务,测试被监控主机服务的状态

执行make && make install

make && make install

数据库配置,登陆数据库,创建中文字符集的数据库,赋权,如图

mysql

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

创建可以访问数据库的账户和密码(zabbix的源码包下有关于数据库的sql脚本,只需要进入到源码包的database/mysql目录下,导入sql脚本即可,注意一定要安装顺序)

cd database/mysql/

mysql -uzabbix -pzabbix zabbix < schema.sql

mysql -uzabbix -pzabbix zabbix < images.sql

mysql -uzabbix -pzabbix zabbix < data.sql

将zabbix的web页面关联到nginx中

cd /root/zabbix-3.4.11/frontends/php/

cp -r * /usr/local/nginx/html/

chmod -R 777 /usr/local/nginx/html/*

修改zabbix-server配置文件,设置数据库的相关参数,启动zabbix-server服务

vi /usr/local/etc/zabbix_server.conf

DBHost=localhost

//数据库主机,默认该行被注释

DBName=zabbix

//设置数据库名称

DBUser=zabbix

//设置数据库账户

DBPassword=zabbix

//设置数据库密码,默认该行被注释

LogFile=/tmp/zabbix_server.log

//设置日志,仅查看以下即可

添加zabbix用户,不让其登陆到系统控制台,,不添加用户的话,无法启动zabbix_server服务

useradd -s /sbin/nologin zabbix

启动zabbix_server服务

zabbix_server

验证服务是否正常启动,如图

netstat -nutpl |grep zabb

提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,一定要先使用killall zabbix_server关闭服务后,再重新启动一次。

下面配置zabbix_agent服务,同样编辑zabbix_agentd.conf配置文件

vi /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,172.16.103.2                    //允许哪些主机监控本机

ServerActive=127.0.0.1,172.16.103.2                 //允许哪些主机通过主动模式监控本机

Hostname=zabbix_server                        //设置本机主机名

LogFile=/tmp/zabbix_server.log                    //设置日志文件

UnsafeUserParameters=1                        //是否允许自定义key

启动zabbix_agent服务,同样如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd,一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。

zabbix_agentd

使用浏览器访问zabbix的web页面,进行相关配置,访问地址为:http://172.16.103.2/index.php但是因为是首次登陆,会被强制跳转到http://172.16.103.2/setup.php进行配置,如图所示

程序会检查先决条件,对于不满足的,程序已经给了解决方法,

关于以上错误,如果是PHP option类的错误,那么需要修改php.ini配置文件,修改之后需要重启php服务,php.ini文件的位置位于/etc目录下,可以直接使用vi /etc/php.ini命令来编辑该文件,保存修改之后需要执行systemctl restart php-fpm才生效。

vi /etc/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

systemctl restart php-fpm

执行了这些修改之后依然还有报错信息,如下图所示

部分报错可以通过yum安装一些扩展包来解决,例如bcmath mbstring等,执行下面的yum安装命令,安装依赖包。

yum -y install php-gd php-xml php-bcmath php-mbstring

执行完上述依赖包的安装命令之后重启php-fpm再次刷新网页

PHP的LDAP未开启,后面标注是是warning警告,再次忽略。进入下一步,下图中表单中的数据参照zabbix_server.conf配置文件中的内容填写

Name可以自行填写,也可以不填写,Name为此zabbixserver实例的名称

报错提示无法创建配置文件,为了安全起见上文配置nginx的过程中修改的权限为755,也就是其他用户没有写权限,程序提示我们可以手工下载文件,上传到/usr/local/nginx/html/conf目录,保存的绝对路径为/usr/local/nginx/html/conf/zabbix.conf.php

使用admin密码zabbix登陆

登陆之后满天红。。。。根据报错提示得知是时区配置错误

查看php.ini配置文件中的时区配置,之前的配置是date.timezone = "Asia/Shanghai",其实不需要加引号的,我在检查先决条件的时候加了引号导致了这个错误。

vi /etc/php.ini

date.timezone = Asia/Shanghai

修改之后重启的php和nginx

4,客户机安装zabbix-agent

安装zabbix-agent之前首先要创建zabbix用户,安装依赖包,然后才可以安装

创建zabbix用户

useradd -s /sbin/nologin zabbix

安装依赖包

yum install -y gcc pcre-devel

上传zabbix的包到root的家目录,解压缩,执行编译

tar -xf zabbix-3.4.11.tar.gz

cd zabbix-3.4.11

./configure --enable-agent

执行安装

make && make install

编辑zabbix_agentd.conf配置文件,启动zabbix_agent

vi /usr/local/etc/zabbix_agentd.conf

Server=172.16.103.2                //谁可以监控本机(被动监控模式)

ServerActive=172.16.103.2            //谁可以监控本机(主动监控模式)

Hostname=zabbix_server                //被监控端自己的主机名

EnableRemoteCommands=1    //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务

UnsafeUserParameters=1                     //是否允许自定义key监控

启动zabbix_agentd服务

zabbix_agentd

检查启动情况

netstat -nutpl

5,创建一个linux主机,参照第四步,配置zabbix-agent服务,然后启动服务。

6,在控制台依次点击配置>主机>创建主机,如图

主机名称填入zabbix-agent配置文件中的hostname字段的名称,ip地址填写zabbix-agent客户端的名称。然后需要配置监控模板。最后保存即可。

zabbix部署文档的更多相关文章

  1. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  2. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  3. supervisor 部署文档

    supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...

  4. centos6 Cacti部署文档

    centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...

  5. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  6. Sqlserver2008安装部署文档

    Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...

  7. CDH简易离线部署文档

        CDH 离线简易部署文档       文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...

  8. Ceph分布式存储(luminous)部署文档-ubuntu18-04

    Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...

  9. rabbitmq 3.7.8基于centos7部署文档

    rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...

随机推荐

  1. PHP中针对区域语言标记信息的操作

    相信大家对 zh_CN 这个东西绝对不会陌生,不管是 PHP 中,还是在我们的网页上,都会见到它的身影.其实这就是指定我们的显示编码是什么国家或者地区的,使用何种语言.对于这种区域语言的标记来说,PH ...

  2. Elasticsearch(ES)集群的搭建

    1. 概述 Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡.扩容.容灾.高可用. 今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的. 2. 场景介 ...

  3. 【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php

    问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出 ...

  4. 直接取PHP二维数组里面的值

    具体是这样的,如下一个二维数组,是从库中读取出来的. $user = array( 0 => array( 'id'    => 1, 'name'  => '张三', 'email ...

  5. IOS 安装网页

    一般使用企业签名的iOS安装包 都需要一个下载地址,像蒲公英什么的 都有下载限制,所以求人不如求己. 内容也是复制别人的 :https://lzw.me/a/itms-services-ios-ins ...

  6. 『Python』整洁之道

    1. 使用 assert 加一层保险 断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误(如文件不存在),用户可以予以纠正或重试,断言并不是为此而生的. 断言用于程序内部自检,如声明 ...

  7. 牛客练习赛84F-牛客推荐系统开发之下班【莫比乌斯反演,杜教筛】

    正题 题目链接:https://ac.nowcoder.com/acm/contest/11174/F 题目大意 给出\(n,k\)求 \[\sum_{i_1=1}^n\sum_{i_2=1}^n.. ...

  8. AT1983-[AGC001E]BBQ Hard【dp,组合数学】

    正题 题目链接:https://www.luogu.com.cn/problem/AT1983 题目大意 给出\(n\)个数对\((a_i,b_i)\) 求 \[\sum_{i=1}^n\sum_{j ...

  9. Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题

    Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题 继实现动态修改请求 Body 以及重试带 Body 的请求之后,我们又遇到了一个小问题.最近很多接口,收到 ...

  10. 学习Tomcat(六)之类加载器

    通过前面的文章我们知道,Tomcat的请求最终都会交给用户配置的servlet实例来处理.Servlet类是配置在配置文件中的,这就需要类加载器对Servlet类进行加载.Tomcat容器自定义了类加 ...