图文讲解zabbix安装全过程(5)
在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbix。zabbix需要LNMP或者LAMP环境。环境的搭建不在本章范围内。
LNMP环境配置
Linux安装:http://www.osyunwei.com/archives/1024.html
NGINX安装:http://www.ttlsa.com/nginx/nginx-install-on-linux/
PHP安装+NGINX配置:http://www.ttlsa.com/nginx/nginx-php-5_5/ (安装前一定要看1.1 PHP安装参数)
MYSQL安装:http://www.ttlsa.com/mysql/install-mysql5_6/
1. PHP配置参数
zabbix对PHP参数、PHP模块有特殊要求。
1.1 PHP安装参数
php具体安装方法参考上面的链接,不过如下模块要特别留意加上
bcmath --enable-bcmath
mbstring --enable-mbstring
sockets --enable-sockets
gd --with-gd
libxml --with-libxml-dir=/usr/local
xmlwriter 同上
xmlreader 同上
ctype 默认支持
session 默认支持
gettext 默认支持
以下是我PHP的配置参数
./configure --prefix=/usr/local/php-5.5. \
--with-config-file-path=/usr/local/php-5.5./etc --with-bz2 --with-curl \
--enable-ftp --enable-sockets --disable-ipv6 --with-gd \
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local \
--with-freetype-dir=/usr/local --enable-gd-native-ttf \
--with-iconv-dir=/usr/local --enable-mbstring --enable-calendar \
--with-gettext --with-libxml-dir=/usr/local --with-zlib \
--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \
--enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
1.2 PHP配置参数
打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了。
max_execution_time =
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time =
date.timezone PRC
2 zabbix服务端安装
2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php
# yum install net-snmp-devel libxml2-devel libcurl-devel // 一定先安装依赖
# cd /usr/local/src
# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"
# tar -xzvf zabbix-2.2..tar.gz
# cd zabbix-2.2.
# ./configure --prefix=/usr/local/zabbix-2.2./ --enable-server \
--enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# make
# make install
在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。
备注:请安装好MySQL,snmp,curl开发库。
2.2 创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix
2.3 初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。
我假想你安装好了MySQL,用户名为root,密码为ttlsapwd
# mysql -uroot -pttlsapwd
mysql> create database zabbix default charset utf8;
mysql> quit;
# mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql
备注:创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题,具体问题请查看《zabbix中文乱码解决方法》
如果你仅仅是初始化proxy的数据库,那么够了。如果初始化server,那么接着导入下面两个sql
# mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql
# mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql
其他数据库(db2\sqlite\oracle)数据库初始化方法参考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts
2.4 配置zabbix
配置zabbix_server配置文件,zabbix源码目录下
# mkdir /etc/zabbix
# cp config/zabbix_server.conf /etc/zabbix/
# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=root
DBPassword=ttlsapwd
DBPort=
2.5 启动zabbix server
# /usr/local/zabbix-2.2./sbin/zabbix_server
默认端口10051
3. 客户端安装配置
3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。
# cd /usr/local/src
# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"
# tar -xzvf zabbix-2.2..tar.gz
# cd zabbix-2.2.
# ./configure --prefix=/usr/local/zabbix-2.2./ --enable-agent
# make
# make install
3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下
# vim /usr/local/zabbix-2.2./etc/zabbix_agentd.conf
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题!
其他主机安装客户端记得添加zabbix用户。
3.3 zabbix客户端启动
# /usr/local/zabbix-2.2./sbin/zabbix_agentd
默认端口10050
4. zabbix管理网站配置
4.1 拷贝前端文件
# mkdir /data/logs/nginx
# mkdir /data/site/monitor.ttlsa.com/zabbix
# cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix
4.2 配置虚拟主机
请相应修改你的配置文件路径
# vim /usr/local/nginx-1.5./conf/vhost/monitor.ttlsa.com.conf
server {
listen ;
server_name monitor.ttlsa.com;
access_log /data/logs/nginx/monitor.ttlsa.com.access.log main; index index.html index.php index.html;
root /data/site/monitor.ttlsa.com; location /
{
try_files $uri $uri/ /index.php?$args;
} location ~ ^(.+.php)(.*)$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
4.3 在线配置zabbix
浏览器打开http://monitor.ttlsa.com/zabbix。
如下是zabbix 2.2的安装界面,包括欢迎界面一共6步.
4.3.1 欢迎界面
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-1.jpg)
zabbix安装
4.3.2 php需求检查
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-2-check.jpg)
zabbix php环境检查
4.3.3 MySQL配置
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-3-mysql.jpg)
zabbix MySQL配置
4.3.4 zabbix服务端详细信息
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-4-server-detail.jpg)
zabbix-detail
4.3.5 zabbix安装前信息列表
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-5-pre-install.jpg)
zabbix安装前信息
4.3.6 安装完成
如果失败了,一般情况是php对zabbix没有写权限
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-6-Finnish.jpg)
zabbix安装完成
登陆zabbix,默认用户名:Admin,密码:zabbix
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-7-login.jpg)
zabbix登陆
如下是zabbix首页
![](http://www.ttlsa.com/wp-content/uploads/2014/03/zabbix-setup-8-index.jpg)
zabbix首页
5. 结束
zabbix安装比较简单,但是也比较消耗时间。相比之下,未来的路还长着呢。请大家继续关注我们运维生存时间的zabbix系列教程。下一篇文章《zabbix数据库需要多大硬盘?我告诉你(6)》
声明:
本文转载自:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/
图文讲解zabbix安装全过程(5)的更多相关文章
- zabbix安装全过程
在了解<zabbix硬件.软件需求>之后,在你心里应该有备选的机器.今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置Linu ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
- LNMP zabbix安装
LNMP一键安装 zabbix安装 zabbix安装图文介绍 zabbix连接数据库失败(connection to database 'zabbix' failed: [1045] ...
- zabbix安装要求
zabbix server 和 zabbix Agent都在一个压缩包中,可以从官网上下载源码包,www.zabbix.com/download.php zabbix是C语言编写,压缩包的文件夹介绍: ...
- CentOS下Zabbix安装部署及汉化
搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...
- zabbix安装unixODBC配置完之后报错
zabbix安装unixODBC配置完之后报错 libmysqlclient_16 not defined in file libmysqlclient_r.so.16 分析 我没有使用centos6 ...
- Zabbix安装图解教程
说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需 ...
- 详解zabbix安装部署(Server端篇)
原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...
随机推荐
- C++ operator关键字
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...
- PCB封装技术
TQFP(thin quad flat package,即薄塑封四角扁平封装)薄四方扁平封装低成本,低高度引线框封装方案. MLF(MicroLeadFrame),MLF接近于芯片级封装(Chip S ...
- 回文树(回文自动机) - URAL 1960 Palindromes and Super Abilities
Palindromes and Super Abilities Problem's Link: http://acm.timus.ru/problem.aspx?space=1&num=19 ...
- 【BZOJ】1492: [NOI2007]货币兑换Cash(cdq分治)
http://www.lydsy.com/JudgeOnline/problem.php?id=1492 蒟蒻来学学cdq神算法啊.. 详见论文 陈丹琦<从<Cash>谈一类分治算法 ...
- C++之异常处理
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- 深入理解JS之Scope链
JS被很多人认为是『拙劣的语言』,被这门语言里的各种离奇的事情整的团团转,这篇文章主要来讲讲JS中的Scope链,其主要是影响JS中的变量作用域. 注:本文适合稍有一定JS基础的同学 目录: 初步认识 ...
- 【黑金原创教程】【TimeQuest】【第六章】物理时钟与外部模型
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- 二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)
测试环境: Windows7 Egret Engine 5.0.14 Egret support 5.0.12 Android Studio 2.3 目录: 一 修改开机画面 二 横竖屏设置 三 修改 ...
- iOS 判断某一日期是否在一日期区间
-(BOOL)date:(NSDate*)date isBetweenDate:(NSDate*)beginDate andDate:(NSDate*)endDate { if ([date comp ...
- js如何遍历并取出对象的属性名?
js如何遍历并取出对象的属性名? dataObj = {name : su,age : 26,height : 18cm }; for(var st in dataObj) {console.dir( ...