在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbixzabbix需要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的配置参数

 
1
2
3
4
5
6
7
8
9
./configure  --prefix=/usr/local/php-5.5.7 \
--with-config-file-path=/usr/local/php-5.5.7/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安装不了。

 
1
2
3
4
5
6
 max_execution_time = 300
 memory_limit = 128M
 post_max_size = 16M
 upload_max_filesize = 2M
 max_input_time = 300
 date.timezone PRC

2 zabbix服务端安装

2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php

 
1
2
3
4
5
6
7
8
9
# yum install net-snmp-devel libxml2-devel libcurl-devel // 一定先安装依赖
  yun install mysql-devel  yum -y install net-snmp*
# 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.2.tar.gz
# cd zabbix-2.2.2
# ./configure --prefix=/usr/local/zabbix-2.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

 
1
2
3
4
# 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

 
1
2
# 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源码目录下

 
1
2
3
4
5
6
7
# mkdir /etc/zabbix
# cp config/zabbix_server.conf /etc/zabbix/
# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=root
DBPassword=ttlsapwd
DBPort=3306

2.5 启动zabbix server

 
1
# /usr/local/zabbix-2.2.2/sbin/zabbix_server

默认端口10051

3. 客户端安装配置

3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。

 
1
2
3
4
5
6
7
# 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.2.tar.gz
# cd zabbix-2.2.2
# ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-agent
# make
# make install

3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下

 
1
2
3
4
# vim /usr/local/zabbix-2.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客户端启动

 
1
# /usr/local/zabbix-2.2.2/sbin/zabbix_agentd

默认端口10050

4. zabbix管理网站配置

4.1 拷贝前端文件

 
1
2
3
# mkdir /data/logs/nginx
# mkdir /data/site/monitor.ttlsa.com/zabbix
# cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix

4.2 配置虚拟主机
请相应修改你的配置文件路径

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf
server {
        listen       80;
        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:9000;
                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 欢迎界面

zabbix安装

4.3.2 php需求检查

zabbix php环境检查

4.3.3 MySQL配置

zabbix MySQL配置

4.3.4 zabbix服务端详细信息

zabbix-detail

4.3.5 zabbix安装前信息列表

zabbix安装前信息

4.3.6 安装完成

如果失败了,一般情况是php对zabbix没有写权限

zabbix安装完成

登陆zabbix,默认用户名:Admin,密码:zabbix

zabbix登陆

如下是zabbix首页

zabbix首页

5. 结束

zabbix安装比较简单,但是也比较消耗时间。相比之下,未来的路还长着呢。请大家继续关注我们运维生存时间的zabbix系列教程

6.字体的切换

由于zabbix的web端没有中文字库,我们需要把中文字库加上即可;

解决办法:

下载中文字体:

wget http://down1.chinaunix.net/distfiles/ttf-arphic-uming_0.0.20050501-1.tar.gz
tar xf /root/ttf-arphic-uming_0.0.20050501-1.tar.gz
cd /usr/local/apache/htdocs/zabbix/fonts  ## 注意此处为zabbix web文件所在路径
mv DejaVuSans.ttf /root/        ## 备份原有字体文件
cp /root/ttf-arphic-uming_0.0.20050501/uming.ttf  ./DejaVusans.ttf # 将下载的字体替换到此处;

zabbix安装全过程的更多相关文章

  1. 图文讲解zabbix安装全过程(5)

    在了解<zabbix硬件.软件需求>之后,在你心里应该有备选的机器.今天开始安装zabbix.zabbix需要LNMP或者LAMP环境.环境的搭建不在本章范围内. LNMP环境配置Linu ...

  2. CentOS下Zabbix安装部署及汉化

    搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...

  3. zabbix安装unixODBC配置完之后报错

    zabbix安装unixODBC配置完之后报错 libmysqlclient_16 not defined in file libmysqlclient_r.so.16 分析 我没有使用centos6 ...

  4. Zabbix安装图解教程

    说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需 ...

  5. 详解zabbix安装部署(Server端篇)

    原文:http://blog.chinaunix.net/uid-25266990-id-3380929.html Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等 ...

  6. Zabbix 安装及微信短信提醒

    Zabbix简介 Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐.Zabbix 能将操作系统中的绝大部分指标进行监控,比如(CP ...

  7. centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...

  8. CentOS 6.0图解网络安装全过程

    转自CentOS 6.0图解网络安装全过程 国内镜像站点(东北大学.网易) 网易镜像站点:http://mirrors.163.com/centos/6.0/isos/ 中科大镜像站点:http:// ...

  9. zabbix安装及配置(rpm包安装mysql,php,apache,zabbix)

    zabbix安装及配置 一.安装mysql.php.apache.zabbix 安装环境: 操作系统:rhel6.3-x86-64  mysql:5.6.23   --官网下载rpm包安装php:5. ...

随机推荐

  1. ftp,http,https有啥区别?

    [ftp与http的区别?] HTTP(Hyper Text Transmission Protocol)是超文本传输协议,FTP(FileTransferProtocol)是文件传输协议! HTTP ...

  2. Hadoop实战第一篇

    前言:  都说现在是草根为尊的时代,近年来hadoop及spark技术在国内越来越流行.而且渐渐现成为企业的新宠.在DT时代全面来临之前,能提早接触大数据的技术必然能先人一步.本文作为Hadoop系列 ...

  3. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

  4. kali 2.0 启动metasploit服务

    kali 2.0 已经没有metasploit 这个服务了,所以service metasploit start 的方式不起作用. 在kali 2.0中启动带数据库支持的MSF方式如下: 首先启动po ...

  5. Bzoj3524 [Poi2014]Couriers

    Description 给一个长度为n的序列a.1≤a[i]≤n. m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0 ...

  6. Mysql学习笔记(五)数据查询之测试sql部分。

    正文之前,介绍mysql一些很有趣的命令. 快速的创建表,并填充表数据. create table test like  已经有的表名: inset into test select * from f ...

  7. UI学习之常用方法

    1.-(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递) if ([delegate respond ...

  8. gettextize与glib-gettextize的使用

    gettextize在各种场合都可以使用,用于支持多语言开发 glib-gettextize运行后,会修改po/Makefile.in.in文件,导致后续都必须运行glib-gettextize ge ...

  9. Windows7-32bit系统安装MySQL-5.5.39-win32.msi服务图解

    下载mysql-5.5.39-win32.msi安装文件,双击运行,出现如下界面. mysql安装向导启动,按“Next”继续 在 I accept the terms in the License ...

  10. Ubuntu打开终端的方法三种

    这个不应该称得上是一个问题,但是,发现对于新手,确实是个难题因为少有人能够提到这一点,基本都是上来就直接讲用到的命令.我开始的时候也曾经被这个问题困扰着,后来,搜了一会儿才弄明白.1.在菜单内的附件上 ...