LNMP+Zabbix的安装与部署

一、Zabbix简介

1、zabbix是一个基于WEB界面的,并提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让运维人员能够快速定位。

2、zabbix通过C/S模型来收集数据,通过B/S模型模式在web端展示和进行配置。

被监控端:主机设备通过安装agent收集数据并发送给server端,网络设备通过SNMP收集数据并发送给server端。

server端:通过收集SNMP和agent发送来的数据,将数据写入到后台数据库中(例如:mysql,oracle),在通过web展示出来。

3、运行环境

zabbix server 需要运行在LAMP或者是LNMP的环境下;

agent可以部署在目前常见的OS中,例如linux,windows,HPUX,Solaris,Sun;

SNMP可以支持常见的网络设备。

官方给出了zabbix根据不同环境与平台所需要的硬件需求:

二、Zabbix 的部署准备

1、LNMP环境准备与配置

LNMP编译安装详细步骤博客链接:http://www.cnblogs.com/liuyansheng/p/6065296.html

安装好lnmp后,编辑PHP相关的 /etc/php.ini 文件。(这里必须做响应的修改,否则在之后的web初始化过程中会报错。)

vim /etc/php.ini

修改如下条目或者通过 sed 命令进行内容替换

date.timezone = Asia/Shanghai
max_execution_time =
post_max_size = 16M ###有时候这里会被设置成32M,但是这里根据后面初始化提示中的信息,被要求设置成16M
max_input_time=
memory_limit = 128M
mbstring.func_overload =

或通过 sed 方式进行内容替换:

#sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
#sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
#sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
#sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
#sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
#sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /etc/php.ini

2、MySQL数据库的准备

添加mysql数据库的 zabbix用户,并设置密码:

先用root身份登入mysql中,并执行以下命令

mysql>use mysql
mysql>insert into mysql.user(Host,User,Password) values("localhost","zabbix",password("zabbix"));
mysql>flush privileges

3、为centos系统创建zabbix用户

#groupadd zabbix -g
#useradd -g zabbix -u -m zabbix

PS:这里将zabbix用户的UID与GID均设置为501。

三、Zabbix Server的安装

1、zabbix源文件的下载 https://fossies.org/linux/misc/zabbix-3.2.1.tar.gz/

关于zabbix的最新版本源文件可以访问其官方网站并下载,地址为:http://www.zabbix.com/download.php

2、zabbix的解压缩与编译安装

#tar xvf zabbix-.x.x.tar.gz
#./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/localmysql/bin/mysql_config --with-net-snmp --with-libcurl
#make
#make install

PS:第一行shell语句的“2.x.x”代表所下载的zabbix源文件的版本号。

3、检查zabbix是否被添加进入系统服务文件中

tail -n4 /etc/services

如果看到如下信息则代表已经添加成功,或者可以自行手动查询一下/etc/services 文件,真没有手动添加到 /etc/services 文件中:

zabbix-agent 10050/tcp     #Zabbix Agent
zabbix-agent 10050/udp    #Zabbix Agent
zabbix-trapper 10051/tcp   #Zabbix Trapper
zabbix-trapper 10051/udp  #Zabbix Trappe

4、建立zabbix所需的数据库

root身份等人到mysql数据库中,并执行以下命令建立zabbix数据库:

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

而后在下载的源文件中存在一个database/mysql 子目录,中间存放在建立zabbix数据库结构的SQL脚本文件。先进入到zabbix源文件所在的目录,并执行以下语句:

要按照下面顺序导入:

#mysql -u zabbix -p zabbix < ./database/mysql/schema.sql
#mysql -u zabbix -p zabbix < ./database/mysql/images.sql
#mysql -u zabbix -p zabbix < ./database/mysql/data.sql

PS:以上三条指令将目的执行sql脚本,构建zabbix数据库的结构,每次都要输入mysql中zabbix账户的密码

5、创建zabbix的的日志文件和连接

#mkdir /var/log/zabbix
#chown zabbix.zabbix /var/log/zabbix
#ln -s /usr/local/zabbix/etc /etc/zabbix
#ln -s /usr/local/zabbix/bin/* /usr/bin/
#ln -s /usr/local/zabbix/sbin/* /usr/sbin/

6、拷贝与配置zabbix启动文件

#cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
#chmod /etc/init.d/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

7、配置zabbix_server.conf服务端文件

编辑并修改 /etc/zabbix/etc/zabbix_server.conf 文件,并修改如下条目:

DBName=zabbix 数据库名称
DBUser=zabbix 数据库用户
DBPassword=zabbix 数据库密码(这里为了演示,先前设置了zabbix数据库密码为zabbix)

tmp/zabbix_server.log  改 var/log/zabbix/zabbix_server.log #更改日志路径

或者用 sed 方式替换文件内容:

#sed -i "s/DBUser\=root/DBUser\=zabbix/g" /etc/zabbix/etc/zabbix_server.conf
#sed -i "/# DBPassword=/aDBPassword=zabbix\n" /etc/zabbix/etc/zabbix_server.conf
#sed-i "s#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g" /etc/zabbix/etc/zabbix_server.conf

8、配置 zabbix_agentd.conf 文件 (这里是为了监控 server 本身, 如对其他服务器进行监控,配置文件相类似)

PS:这里要住的的是zabbix_agentd.conf是客户端配置文件,这里是为了演示,因此这里配置这个文件的目的就是为了能够实现对本地服务器的监控。该文件需要修改如下四个条目:

Server=127.0.0.1 此处添加服务端的 ip,如服务器不为本机,则需要填写远端 zabbix_server 的 ip 地址
ServerActive=127.0.0.1 此处修改为服务端的 ip,这里应该修改为该服务器对外的ip地址
/tmp/zabbix_agentd.log 修改日志路径
UnsafeUserParameters=0 默认是不启用自定义脚本功能的,要自定义 key ,需开启,设置为1
Include=/etc/zabbix/zabbix_agentd.conf.d/ 自定义的 agent d 配置文件可以写在这个目录下面

利用sed 方式内容替换的执行命令如下:

#sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.1.89/g" /etc/zabbix/etc/zabbix_agent.conf
#sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.1.89:10051/g" /etc/zabbix/etc/zabbix_agent.conf
#sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" /etc/zabbix/etc/zabbix_agentd.conf
#sed -i "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /etc/zabbix//etc/zabbix_agentd.conf

9、拷贝php网页文件到nginx中

#cp -r ./frontends/php/ /usr/local/nginx/html/zabbix

10、修改nginx.conf配置文件

server{

  service_name xxx.xxx.xxx

  index index.html index.htm index.php

  root  /usr/local/nginx/html/zabbix;

  fastcgi_param SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

改为:fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;

要是搭建的不是nginx,是 Apache如下:

#cp -r ./frontends/php/ /var/www/html/zabbix

#chown -R apache.apache /var/www/html/zabbix

11、开启zabbix

#/etc/init.d/zabbix_server start
#/etc/init.d/zabbix_agent start

至此,zabbix的安装完成。

四、通过Web设置zabbix

浏览器中输入地址:http://ip/zabbix,则可看到如下初始化欢迎界面。

PS:其中ip代表本地服务器对外开放的ip地址

1、出现如下错误是说缺少.php文件

点击下载, Download the configuration file

下载到本地后上传到/usr/local/nginx/html/zabbix/conf目录下。

2、如果出现一下错误:

解决:修改CFrontendSetup.php文件

1、vi /usr/local/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php

$current=-1;
/**$current=ini_get('always_populate_raw_post_data');**/

2、修改php.ini文件

vi /usr/local/php/etc/php.ini

;mbstring.func_overload = 2

之后reload php和nginx

再次访问浏览器:http://ip/zabbix.php

检测zabbix各类需求通过之后即可点击Next按钮,如下:

根据所要填写的需求填写,输入zabbix的密码,这里使用的密码是zabbix,然后点击Test connection测试连接,显示绿色的“OK”代表数据库连接测试成功,即可点击Next,如下:

预览配置信息,确认无误点击Next按钮,如下:

创建成功后显示绿色的“OK“,点击Finish按钮后进入zabbix的管理操作登陆界面:

PS:这里初始的账号名为:admin,初始密码为:zabbix。

填写完账号和密码后登陆zabbix的管理操作界面,如下:

至此,zabbix server 基本安装结束。

LNMP+Zabbix的安装与部署的更多相关文章

  1. Zabbix的安装与部署---问题处理(php65.6.28 mysqli 报错误 处理)

    1)php65.6.28  mysqli  报错误 处理 http://www.xiaochengfu.com/index.php/index/detail/aid/92.html 2)linux下p ...

  2. Zabbix监控和分布式部署实施方案

    最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...

  3. zabbix安装、部署、lnmp(一)

    最近入手zabbix,准备好好的研究,好好的弄.   环境准备: mysql:5.6.29 PHP:5.6.12 Nginx:1.8.0 zabbix:3.2.6 操作系统:Centos6 用户:普通 ...

  4. centos7下zabbix安装与部署

    1.Zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  5. Centos7下的zabbix安装与部署

    目录: 1.Zabbix介绍 2.LAMP/LNMP介绍 3.Zabbix安装与部署 1.Zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. ...

  6. zabbix监控实战<2>----zabbix-server的安装与部署

    第一章     zabbix-server的安装与部署 1.1  环境部署 eth0                               eth1 master      10.0.0.71  ...

  7. zabbix的安装部署及自定义监控的实现

    此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...

  8. zabbix系列-Grafana4.6.3+Zabbix 的安装部署

    zabbix系列(五) Grafana4.6.3+Zabbix 的安装部署 伟创享 2019-07-31 11:27:18 使用了一段时间Grafana,感觉还挺好用的.部分效果图如下: ​ zabb ...

  9. 详解zabbix中文版安装部署

    一.zabbix简介(摘自百度百科) zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供柔软 ...

随机推荐

  1. Java并发编程,Condition的await和signal等待通知机制

    Condition简介 Object类是Java中所有类的父类, 在线程间实现通信的往往会应用到Object的几个方法: wait(),wait(long timeout),wait(long tim ...

  2. 什么是Hadoop?什么是HDFS?

    [学习笔记] 什么是Hadoop?什么是HDFS?马 克-to-win @ 马克java社区:Hadoop是Apache基金会开发的一个分布式系统基础架构.比如前面我们接触的Spring就是一个开发应 ...

  3. 初学Java经典例子

    我自己看的书的理解学习Java就是学习对象,就像谈恋爱,你对她多付出,收货就多(跑题了对象是啥??对象就是实体,通过类可以生成具有特定状态(或者叫属性)和行为或动作的实例,问题来了怎么创建? new一 ...

  4. Go视频教程整理转

    Go视频教程整理 [Go Web基础]01博客项目设计 |Go视频教程|Go语言基础 http://www.tudou.com/programs/view/gXZb9tGNsGU/ [Go Web基础 ...

  5. 框架-数据库定义MD5加密

    1.--定义Md5加密declare @pt_pwd varchar(50)set @pt_pwd = ''set @pt_pwd = substring(sys.fn_sqlvarbasetostr ...

  6. Mysql导出导入相关操作记录

    一.使用source source sql脚本文件路径 二.使用mysqldump 命令行下具体用法如下:  mysqldump -u用户名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库為 ...

  7. BUPT复试专题—C翻转(2010)

    https://www.nowcoder.com/practice/74bdb725421c4f80b4aca7266818baf0?tpId=67&tqId=29639&rp=0&a ...

  8. 【分享】利用Apache的Htaccess Files命令限制訪问文件类型,Files正则

    假设你在你的模板目录中有非常多PSD HTML模板,那么用接下来这个htaccess文件能够保护限制訪问: 文件D:\WebSite\ZBPHP.COM\www\Tpl\.htaccess 所有源代码 ...

  9. Android的onMeasure方法

    在Android开发中,当Android原生控件不能满足我们的需求的时候,就需要自定义View.View在屏幕上绘制出来先要经过measure(计算)和layout(布局). 什么时候调用onMeas ...

  10. apache benchmark

    1 ab是什么 是一个web高并发测试工具,可以发送get.put.post请求. 2 ab -n和-c共存 -c是concurrency的缩写,即同一时间发送多个请求. -n是指本次总共发送多少个请 ...