zabbix部署文档
环境: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部署文档的更多相关文章
- PPTP部署文档
PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- supervisor 部署文档
supervisor 部署文档 supervisor 需要Python支持,如果不用系统的supervisor,单独安装python python 安装 #依赖 yum install python- ...
- centos6 Cacti部署文档
centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Sqlserver2008安装部署文档
Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...
- CDH简易离线部署文档
CDH 离线简易部署文档 文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...
- Ceph分布式存储(luminous)部署文档-ubuntu18-04
Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G me ...
- rabbitmq 3.7.8基于centos7部署文档
rabbitmq 3.7.8部署文档 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel ope ...
随机推荐
- PHP中针对区域语言标记信息的操作
相信大家对 zh_CN 这个东西绝对不会陌生,不管是 PHP 中,还是在我们的网页上,都会见到它的身影.其实这就是指定我们的显示编码是什么国家或者地区的,使用何种语言.对于这种区域语言的标记来说,PH ...
- Elasticsearch(ES)集群的搭建
1. 概述 Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡.扩容.容灾.高可用. 今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的. 2. 场景介 ...
- 【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
问题描述 参考官方文档部署 PHP Laravel 项目到App Service for Linux环境中,但是访问应用时候遇见了500 Server Error 错误. 从部署的日志中,可以明确看出 ...
- 直接取PHP二维数组里面的值
具体是这样的,如下一个二维数组,是从库中读取出来的. $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'email ...
- IOS 安装网页
一般使用企业签名的iOS安装包 都需要一个下载地址,像蒲公英什么的 都有下载限制,所以求人不如求己. 内容也是复制别人的 :https://lzw.me/a/itms-services-ios-ins ...
- 『Python』整洁之道
1. 使用 assert 加一层保险 断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误(如文件不存在),用户可以予以纠正或重试,断言并不是为此而生的. 断言用于程序内部自检,如声明 ...
- 牛客练习赛84F-牛客推荐系统开发之下班【莫比乌斯反演,杜教筛】
正题 题目链接:https://ac.nowcoder.com/acm/contest/11174/F 题目大意 给出\(n,k\)求 \[\sum_{i_1=1}^n\sum_{i_2=1}^n.. ...
- AT1983-[AGC001E]BBQ Hard【dp,组合数学】
正题 题目链接:https://www.luogu.com.cn/problem/AT1983 题目大意 给出\(n\)个数对\((a_i,b_i)\) 求 \[\sum_{i=1}^n\sum_{j ...
- Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题
Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题 继实现动态修改请求 Body 以及重试带 Body 的请求之后,我们又遇到了一个小问题.最近很多接口,收到 ...
- 学习Tomcat(六)之类加载器
通过前面的文章我们知道,Tomcat的请求最终都会交给用户配置的servlet实例来处理.Servlet类是配置在配置文件中的,这就需要类加载器对Servlet类进行加载.Tomcat容器自定义了类加 ...