果学网 -专注IT在线www.prismcollege.com

參考原文:http://www.showerlee.com/archives/13

RHCE过的EMAIL已经下来。所以近期闲了就准备把先前的文档更新下。

我更新的内容主要是把自己当时的理解加到配置里,告诉大家我当时的一些思路想法。而不会像网上的非常多文档仅仅会把一大堆命令贴出来。搞得非常多本身对该知识点不了解的朋友更加晕头转向。

搞了LINUX大半年,真心是兴趣所致,变成LINUX大牛是我未来事业的目标。对此我乐此不彼,但也深信不疑。。

近期研究了下群里谈论比較火的一个国外开源网络监控系统ZABBIX。玩过一遍后就深深被他的界面简洁,后台配置逻辑分类清晰。易于配置上手的长处给吸引,马上将单位的系统统一换成这个平台监測,測试了一段时间。效果良好。

之前玩过cacti和nagios。算是一个大家耳熟能详的业内经常使用的的网管互补组合。但个人感觉前者因为调用snmp协议。导致有时候在网络不太稳定时会有数据丢失情况。后者nagios尽管不依赖于SNMP,但client的复杂的安装。初始配置以及须要读懂插件语法导致会让非常多刚開始学习的人望而却步。

zabbix不仅吸取了两者的制图和动态监測的长处,并且非常多插件以及经常使用脚本模板都是系统自带。最重要的配置相对于前两者简洁了非常多,所以省去了非常多学习成本,加之该监控系统是利用PHP语言写的,系统个人定制就无需使用者改动底层代码,而能够直接在WEB界面去依照自己的偏好设置,支持字体改动以及中文简体。强烈推荐大家在线上使用这套网管平台。

zabbix简单介绍(摘自百度百科)

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方式。

zabbix能监视各种网络參数。保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员高速定位/解决存在的各种问题。zabbix由2部分构成。zabbix server与可选组件zabbix agent。zabbix server能够通过SNMP。zabbix agent,ping,port监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它能够执行在Linux, Solaris,
HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix agent须要安装在被监视的目标server上,它主要完毕对硬件信息或与操作系统有关的内存。CPU等信息的收集。

zabbix agent能够执行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。

zabbix server能够单独监视远程server的服务状态;同一时候也能够与zabbix
agent配合。能够轮询zabbix agent主动接收监视数据(trapping方式),同一时候还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2)。能够与SNMP软件(比如:net-snmp)等配合使用。

zabbix的主要特点:

- 安装与配置简单。学习成本低

- 支持多语言(包含中文)

- 免费开源

- 自己主动发现server与网络设备

- 分布式监视以及WEB集中管理功能

- 能够无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能等等

Zabbix主要功能:

- CPU负荷

- 内存使用

- 磁盘使用

- 网络状况

- port监视

- 日志监视

配置前先关闭iptables和SELINUX,避免安装过程中报错。

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

一.安装LAMP环境

本博传送门:http://www.showerlee.com/archives/6

二、zabbix(server,agent)配置:

server: 192.168.7.201

agent:  192.168.7.249

简单提下,事实上是服务端安装zabbix_server,zabbix_agentd两个服务。client仅仅需安装zabbix_agentd一个服务。监控原理事实上就是zabbix_agentd服务将从系统中获取的相关数据传送给zabbix_server服务,然后zabbix_server服务将数据以PHP页面显示出来,非常好理解。

(server)表示仅服务端配置

(agent)表示仅client配置

(server,agent)表示client与服务端都需配置

1.下载zabbix(server,agent)

注:本人下载的是官方2.06的服务端与client的稳定整合编译包。所以后面编译的时候注意。以 --enable-server --enable-agent 參数编译的为服务器端。以 --enable-agent參数编译的为client。

官方提供的第二种下载方式是服务端与client单独区分的编译包。编译方法与本博的方法不同。这里请注意区分。

# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz/download

2.安装zabbix所需的组件(server,agent)

# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

3.创建用户账号(server,agent)

# groupadd zabbix

# useradd -g zabbix zabbix

# usermod -s /sbin/nologin zabbix

4.创建zabbix数据库并导入zabbix数据库数据(server)

# mysql -u root -p123456

> grant all on zabbix.* to zabbix@localhost identified by '123456';

> create database zabbix;

# tar zxvf zabbix-2.0.6.tar.gz

# cd zabbix-2.0.6

# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

5.编译安装(server,agent)

server: (192.168.7.201)

# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

# make install

agent:  (192.168.7.249)

# ./configure --enable-agent

# make install

这里笔者因为当时编译时忘记自己定义安装文件夹导致zabbix配置文件使用了默认路径。在/usr/local/etc/下。这里若又一次编译则以下更改的地方较多,后面的内容都以此路径为准。

參照本博配置的朋友,建议编译时加 --prefix=/usr/local/zabbix 參数,则zabbix配置文件默认在/usr/local/zabbix/etc文件夹下,后面启动服务前需载入zabbix文件夹下bin与sbin文件夹的环境变量

默认zabbix安装路径/usr/local/下的bin与sbin文件夹由于与系统合并,所以无需载入环境变量

遇到错误文章最后有解答

6.编辑配置文件(server,agent)

# cd /usr/local/etc/

去掉配置文件凝视:

# cat zabbix_server.conf |grep -v "#" |grep -v "^$" > zabbix_server.conf.bak

# cp zabbix_server.conf.bak zabbix_server.conf

# cat zabbix_agentd.conf |grep -v "#" |grep -v "^$" > zabbix_agentd.conf.bak

# cp zabbix_agentd.conf.bak zabbix_agentd.conf

server: (192.168.7.201)

# vi /usr/local/etc/zabbix_server.conf

改动例如以下内容并删除其它未改动參数条目:

-------------

LogFile=/var/log/zabbix_server.log

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=123456

-------------

# vi /usr/local/etc/zabbix_agentd.conf

改动例如以下内容并删除其它未改动參数条目:

-------------

LogFile=/var/log/zabbix_agentd.log

Server=127.0.0.1,192.168.7.201

UnsafeUserParameters=1

-------------

agent:  (192.168.7.249)

# vi /usr/local/etc/zabbix_agentd.conf

改动例如以下内容并删除其它未改动參数条目:

-------------

LogFile=/var/log/zabbix_agentd.log

Server=192.168.7.201

UnsafeUserParameters=1

-------------

# touch /var/log/zabbix_server.log

# chmod 777 /var/log/zabbix_server.log

# touch /var/log/zabbix_agentd.log

# chmod 777 /var/log/zabbix_agentd.log

7、启动守护进程(server,agent)

在服务器端执行启动zabbix_server

# zabbix_server

server启动port为10051

在全部被监控的机器上执行zabbix_agentd 。

# zabbix_agentd

agentd启动port为10050

注意若server打开iptables服务,则需加入该两个port通行。

# iptables -A INPUT -p tcp  --dport 10050 -j ACCEPT

# iptables -A INPUT -p tcp  --dport 10051 -j ACCEPT

注:重新启动服务可直接kill掉zabbix进程再又一次依照以上方法启动

# pkill zabbix

# ps -ef |grep zabbix

或配置开机启动脚本:

# cd zabbix-2.0.6

# cp misc/init.d/tru64/zabbix_server   /etc/init.d/zabbix_server

# cp misc/init.d/tru64/zabbix_agentd   /etc/init.d/zabbix_agentd

# cd /etc/init.d/

# chmod 755 zabbix_*

# vi zabbix_server

# vi zabbix_agentd

在文件头部的#!/bin/sh行下分别加入例如以下两行:

--------------

#chkconfig: 35 95 95

#description:zabbix Agent server

--------------

注:假设之前编译时自己定义了zabbix的路径,须要找到例如以下行

DAEMON=/usr/local/sbin/zabbix_server

将后面的參数改成你自己定义的路径,本篇文档使用默认路径,这里不须要改动

# chkconfig --add zabbix_server

# chkconfig --add zabbix_agentd

# chkconfig zabbix_server on

# chkconfig zabbix_agentd on

重新启动服务:

# service zabbix_server restart

------------------------------------------------------------------------------

注: 启动zabbix_server假设报例如以下错误

/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

须要将mysql lib库增加系统库

# locate libmysqlclient.so.18

/usr/local/mysql/lib/libmysqlclient.so.18

/usr/local/mysql/lib/libmysqlclient.so.18.1.0

# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

# ldconfig

# service zabbix_server restart

--------------------------------------------------------------

# service zabbix_agentd restart

8.安装zabbix web界面(server)

复制ZABBIX PHP源码文件

zabbix的服务端程序是用php写的。因此须要一个支持LAMP架构的server平台

如今将ZABBIX安装文件夹下 frontends/php 以下的php源码文件复制到webserverhtml文件文件夹以下。

这里建议用子文件夹替换APACHE HTML根文件夹或使用APACHE虚拟主机

这里測试环境我为了方便就选择了前者。

先建立一个子文件夹。将zabbix终端php文件复制到该子文件夹里面,运行以下的命令:

# mkdir /usr/local/apache2/htdocs/zabbix

# cd frontends/php

# cp -a . /usr/local/apache2/htdocs/zabbix

安装前端

step 1

在你的浏览器中,输入url:http://192.168.7.201/zabbix,你将看到前端安装向导的第一个画面。

step 2

确保全部依赖的软件都正确安装。

查看到几处不符合要求

需改动该PHP文件配置文件參数:

# vi /usr/local/php5/lib/php.ini

查找例如以下參数并改动为:

----------------

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

----------------

载入PHP下gettext模块

# cd /root/php-5.4.13/ext/gettext

# /usr/local/php5/bin/phpize

# ./configure --with-php-config=/usr/local/php5/bin/php-config

# make && make install

载入该模块

# vi /usr/local/php5/lib/php.ini

加入例如以下行:

extension = "/usr/local/php5/lib/php/extensions/no-debug-zts-20100525/gettext.so"

重新启动apache服务

# service httpd restart

刷新页面:

step 3

输入之前在MYSQL后台设置的zabbix数据库信息:

DBName=zabbix

DBUser=zabbix

DBPassword=123456

測试连接时若报错。加入例如以下命令:

# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

step 4

输入zabbixserver端的具体信息

step 5

检查一下设置情况。

step 6

下载配置文件,并把他放置在/usr/local/apache2/htdocs/zabbix/conf/ 文件夹下 

step 8

zabbix前端已经安装就绪。默认的username是Admin。password是zabbix。

注:例如以下报错是由于zabbix数据未导入MYSQL数据库:

zabbix主界面如图,server端配置完成。

手动加入主机

大功告成。

。。

注:

1.显示中文简体界面

点击:右上角Profile

依照如图选择Chinese(zh_CN),保存:

2.解决zabbix画图中出现中文乱码问题:

a.从windows下控制面板->字体->选择一种中文字库。比如“微软雅黑”

b.把它复制到zabbix的web端的fonts文件夹下比如:/usr/local/apache2/htdocs/zabbix/fonts,而且把TTF后缀改为ttf

c.改动zabbix的web端 include/defines.inc.php

# cd /usr/local/apache2/htdocs/zabbix

# vi include/defines.inc.php

搜索 'DejaVuSans'

用"//"凝视掉系统默认行。并加入新的字体參数行。

当中msyh为字库名字,不包括ttf后缀

----------------------

//define('ZBX_FONT_NAME', 'DejaVuSans');

define('ZBX_FONT_NAME', 'msyh');

//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');

define('ZBX_GRAPH_FONT_NAME', 'msyh');

3.监控windows主机:

下载地址:http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.win.zip

在C:\Program Files\下创建zabbix目录

解压zip包后:将包内bin/win64/下的全部文件拷贝到 C:\Program Files\zabbix下

并在该文件夹下创建一个zabbix_agentd.conf文件,内容为

-------------------

LogFile=C:\Program Files\zabbix\zabbix_agentd.log

Server=192.168.7.11

UnsafeUserParameters=1

-------------------

进入cmd命令行:

# cd C:\Program Files\zabbix

安装zabbixclient:

# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -i

启动zabbix服务:

# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -s

參数含义:

-c    制定配置文件所在位置

-i    安装client

-s    启动client

-x    停止client

-d    卸载client

如图:

在服务端加入client主机监控同上。。

---------------大功告成-----------------

zabbixconfigure时候遇到的问题(CentOS)为你解答:

在CentOS系统中。安装zabbix进行configure时会遇到下面4个主要问题

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl

1 configure: error: MySQL library not found

the problem is not installed mysql-devel

  1. #yum install mysql-devel

2 configure: error: Jabber library not found

the problem is not installed jabber lib

  1. #wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz

下载完毕后解压、配置、安装:

  1. tar zxvf iksemel-1.4.tar.gz
  2. cd iksemel-1.4
  3. configure
  4. make
  5. make install

之后对zabbix进行configure还是会遇到这个问题。那么将jabber文件夹指定就可以:#./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber=/usr/local/ --with-libcurl

3 configure: error: Not found curl Library

  1. #yum install curl-devel (此项未经測试)

4 configure: error : Not found NET-SNMP library

  1. yum install net-snmp-devel

看完上方四点不在一起也遇到了同样的问题,然后按上解决问题的方法!

版权声明:本文博主原创文章,博客,未经同意不得转载。

CENTOS安装部署zabbix的更多相关文章

  1. centos 安装部署zabbix

    Zabbix_server初始安装部署 各模块要安装的模块 Server:server+nginx+mysql+php Agentd:agentd Proxy:proxy+mysql 1.准备环境: ...

  2. CentOS 6.5安装部署Zabbix监控系统

    CentOS 6.5安装部署Zabbix监控系统 先说一点废话,我没有用centos7做实验,讲真,centos 7我也不常用,喜欢新版本的同学其实可以尝试下,注意一点的就是centos 6.5只支持 ...

  3. RHEL6 最小化系统 编译安装部署zabbix (mysql)

    RHEL6 最小化系统 编译安装部署zabbix (mysql)官方说明详细见:https://www.zabbix.com/documentation/4.0/manual/installation ...

  4. CentOS操作系统部署zabbix agent服务

    CentOS操作系统部署zabbix agent服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看zabbix的官方手册 1>.点击下载 2>.查看Ubunt ...

  5. Centos 7安装部署zabbix 3.0LTS

    1.环境准备 OS:CentOS 7.2 64bit Zabbix版本:3.0.12 MySQL版本:5.6 注意:zabbix3.0相关要求 mysql5.0以上版本.apache1.3以上版本.p ...

  6. centos6.5安装部署zabbix监控服务端和客户端

    部署zabbix服务端需要LNMP环境(nginx,mysql,php),其它数据库也可以,我这里使用mysql,关于LNMP环境部署,可以参考我的另一遍文章:http://www.cnblogs.c ...

  7. 离线安装部署zabbix

    一. 安装好CentOS安装过程中添加php,mariadb等所需要的依赖 二. 准备好所有所需的rpm压缩文件包在centos中解压,这里放在根目录下zabbix_rpms文件夹下 三. 安装所需r ...

  8. CentOS安装部署jumperserver(堡垒机)

    可以参考官方的文档:http://docs.jumpserver.org/zh/docs/introduce.html 测试环境 系统: CentOS 7 IP: 192.168.244.144 设置 ...

  9. Centos/Rhel7部署Zabbix监控(部署篇之服务器篇)

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

随机推荐

  1. 如何在github中贡献自己的力量

    如何参与github的开源项目? 1.找一个发出“pull requests”的项目.有以下几个方法:最简单的方式是,读项目的readme文件.它会告诉你,项目的拥有者是否急切的需要协助.如果read ...

  2. Handler和HandlerThread

    1.什么是Handler? SDK中关于Handler的说明例如以下: A Handler allows you to sendand process Messageand Runnable obje ...

  3. ExtJs4 笔记(3) Ext.Ajax 对ajax的支持

    本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事件操作封装,还有扩展的常用函数等.Ajax服务端交互式操作是提交到.NET MVC.后续服务端交互都采用这一方式实现. ...

  4. Delphi结构中使用String时遇到的内存泄露问题(没有利用String的引用计数自动销毁字符串的功能)

    先定义一个结构: TUserInfo = record  UserID: Integer; // 用户编号  UserName: string; // 用户名end; 然后编写如下代码: proced ...

  5. eclipse Maven构建的project无法公布lib到tomcat的解决方法

    问题: eclipse导入基于Maven的web项目时,公布到tomcat中.发现lib文件夹及jar包没有公布过去. 解决方式: eclipse中,选择项目属性Properties --> D ...

  6. codeforces 577

    codeforces 577A 题目链接:http://codeforces.com/problemset/problem/577/A 题目大意:给出一个n*n的表格,每个表格对应的值为横坐标*纵坐标 ...

  7. Delphi Windows API判断文件共享锁定状态(使用OpenFile来判断)

    一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定 ...

  8. How to write simple HTTP proxy with Boost.Asio

    How to write simple HTTP proxy with Boost.Asio How to write simple HTTP proxy with Boost.Asio Russia ...

  9. oschina 建站系统

    建站系统 分类网站程序(9) 众筹平台(2) 团购网站系统(14) 开源轻博客系统(8) 开源博客系统(279) 视频网站系统(9) 开源微博工具(93) 论坛系统BBS(129) 建站系统CMS(5 ...

  10. hdu5179(数位dp)

    传送门:beautiful number 题意:令 A=∑ni=1ai?10n?i(1≤ai≤9)(n为A的位数).若A为“漂亮的数”当且仅当对于任意1≤i<n满足a[i]≥a[i+1]且对于任 ...