码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix server部署

时间:2015-10-09 08:10:19      阅读:500      评论:0      收藏:0      [点我收藏+]

标签:zabbix

zabbix简介

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

zabbix由zabbix server与可选组件zabbix agent两部门组成。 

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

主要功能:

CPU负荷 、 内存使用 、 磁盘使用 、 网络状况 、 端口监视 、 日志监视 

zabbix有两部分组成,zabbix server 和zabbix agent 

zabbix 支持很多监控方式,agent,agent主动,简单监控,snmp,snmp trap等

项目-iterm 定义被监控的数据的项,如收集被监控的主机的内存使用情况等

集合-application 定义一些项目的汇总,目录和文件的关系

触发器-trigger 通过项目获取的数据来判断主机状态的定义

图像-graph 通过项目获取的数据,以图形的方式显示

模板-template 将项目,集合,触发器,图形汇总为一个模板,直接链接到一类主机进行批量定义

主机-host 被监控对象,服务器或其他网络设备

主机组-host group 一类主机可定义到一个主机组

动作-action 触发器自动发现或自动注册状态改变触发的动作

自动发现-discovery 通过定义自动发现条件,结合动作批量添加监控主机

自动注册-auto-registration agent 向server发送注册请求,server定义自动注册添加批量添加主句

低级自动发现(low_discovery):通过低级自动发现可以简单定义一种类型有多个项的的 情况

            如:对磁盘容量监控,通常磁盘会有多个分区,我们通过一次定义可以监控磁盘  上的所有分区

维护(maintenace):定义主机何时出于维护状态

拓扑图(map):主机直接的拓扑

屏幕(Screents):多种类型显示到一个screent 里

IT 服务(IT service):有时一台主机宕掉可能不会影响服务,IT 服务定义服务容忍的限 度 

仪表盘(dashboard):监控的整体状态显示

总览(overview):显示所有机器的数据或者触发器状态

web:通过定义场景监控web 服务器

最新数据(last data):可查看主机项目获得的最新数据

事件(Event):触发器状态改变的记录


Zabbix Server 安装

一、安装依赖包

yum install  gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm *gettext* *gd* *libpng* *freetype* *libgpeg* gd-devel mysql-devel

二、 server端部署

  1. 安装数据库

mysql的安装此处略....

部署安装mysql数据库,并建立相应的zabbix用户

create database zabbix character set utf8;

grant all on zabbix.* to zabbix@‘%‘ identified by ‘zabbixpass‘;

flush privileges;

2.安装apache

apache的安装此处略...

3.编译安装PHP

部署zabbix2.4时,需要的PHP环境如下

PHP版本5.3.0以上,gd库在2.0以上,libxml 2.6以上; zabbix需要gettext.so 和bcmath.so两个模块

./configure --prefix=/usr/local/php \    PHP安装目录

--with-apxs2=/usr/local/apache/bin/apxs \    apache扩展插件

--with-libxml-dir=/usr/local/libxml2 \    libxml2是一个xml的C语言的解析器,不仅支持c语言,还支持c++ php ruby等

--enable-sockets \    支持socket

--with-mysql=mysqlnd \   mysqlnd是一个php扩展,使用了php memory management system,在内存使用方面效率相当高

--with-mysqli \    PHP连接数据库模块

--with-gettext=/usr/lib64 \    gettext模块

--enable-bcmath \    数学函数模块

--enable-mbstring \    mbstring库,字符串函数模块,解决编码的问题

 --with-png-dir=/usr/lib64    \    png图片格式

--with-jpeg-dir=/usr/lib64 \    jpeg图片格式

--with-freetype-dir=/usr/lib64 \    字体

--with-gd=/usr/local/gd \   GD 是一个开源的图像处理库,支持 PNG/JPEG/GIF以及其他格式的图像。

                                        GD一般被用来创建图表、图形、缩略图以及其他图    像相关的处理操作

make && make install

添加php.ini文件

cp php.ini-development /usr/local/php/lib/php.ini

修改PHP相关参数

vim php.ini

max_execution_time = 300

max_input_time = 300

memory_limit = 128M

post_max_size = 32M

date.timezone = Asia/Shanghai

注:需要单独部署gd库,下载然后进行编译安装(测试安装的位置是/usr/local/gd)

4.安装zabbix软件

a.添加zabbix用户

 ! id zabbix && groupadd zabbix && useradd zabbix || echo "zabbix is exist!"

b.下载软件包

wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.6/zabbix-2.4.6.tar.gz

c.导入初始数据:安装顺序导入

 mysql -uroot -p zabbix <schema.sql

 mysql -uroot -p zabbix <images.sql          

 mysql -uroot -p zabbix <data.sql

d.编译安装

./configure \

--prefix=/usr/local/zabbix \

--with-mysql \    使用mysql做数据库服务器

--with-net-snmp \    支持snmp

--with-libcurl \    支持curl,用户web监控

--enable-server \    安装zabbix server

--enable-agent \    安装zabbix agent

--enable-proxy    安装zabbix proxy

make && make install

5.修改配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log    //日志文件位置

DBHost=127.0.0.1    //数据库IP

DBName=zabbix    //数据库

DBUser=zabbix    //用户

DBPassword=zabbixpass    //密码

DBPort=3306    //数据库密码

ListenIP=192.168.36.130    //zabbix监听IP,默认监听端口10051

vim /usr/local/zabbix/etc/zabbix_agentd.conf    

LogFile=/tmp/zabbix_agentd.log    //日志文件位置

Server=192.168.36.130    //zabbix服务器IP

ServerActive=192.168.36.130    //开启主动监测

Hostname=slave30    //agent端的主机名或IP

EnableRemoteCommands=1    //允许执行远程命令

6.通过定义新的虚拟主机或者通过alias别名来配置zabbix页面文件

cd zabbix-2.203/frontends/

cp -rf php /home/httpd/zabbix   #虚拟主机目录

7.客户端浏览http://IP/zabbix,然后安装提示逐步执行安装操作

8.启动zabbix

/usr/local/zabbix/sbin/zabbix_server    //启动服务器端

/usr/local/zabbix/sbin/zabbix_agentd    //启动客户端

9.netstat -unltp | grep zabbix //查看是否启动

10.添加启动脚本 

进入zabbix的源码目录下的misc/init.d下选择相应的系统

cp zabbix_agentd /etc/init.d/

cp zabbix_server /etc/init.d/

chmod +x zabbix*

11.修改页面显示字体

可以在win7上C:\Windows\Fonts 的新宋体替换zabbix 的字体

[root@zabbix_server ~]# cd /var/www/zabbix/php/fonts     //zabbix页面文件目录

[root@zabbix_server fonts]# ls

DejaVuSans.ttf_bak  simsunb.ttf

[root@zabbix_server fonts]# mv simsunb.ttf DejaVuSans.ttf


问题

1.configure: error: Not found mysqlclient library

解决办法:yum install mysql-devel

2.configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /usr/local/gd2

解决办法:安装gd2.1.1或以上版本,在编译Php时指定gd的安装目录即可

3.报表中出现中文乱码

解决办法:从C:\Windows\Fonts 取出"华文楷体 常规" 文件放入/var/www/zabbix/php/fonts(zabbix 的页面文件目录)

                字体的名字stkaiti.ttf

                cd /var/www/zabbix/php/include

                sed -i ‘s/DejaVuSans/ stkaiti/g‘ defines.inc.php

4.Zabbix discoverer processes more than 75% busy   使用zabbix时开启了discovery功能,就有此报警! 

解决方法:

     cat zabbix_server.conf | grep  -ni  StartDiscoverers

    166:### Option: StartDiscoverers

    172:StartDiscoverers=5  ##原来为1,修改为5,问题即可解决,具体修改为多少,根据自己的系统性能来决定

5.不可探索项,可在数据库删除,找item_discovery表的ts_delete字段不为0的行

use zabbix;delete from item_discovery where ts_delete>0;

6.配置文件zabbix_agent.conf 和zabbix_agentd.conf 的区别是什么?

    zabbix_agent.conf是用超级服务(xinetd)的方式来启动的

    zabbix_agentd.conf是以独立进程的方式来启动的.

本文出自 “咚咚的博客” 博客,谢绝转载!

zabbix server部署

标签:zabbix

原文地址:http://weadyweady.blog.51cto.com/3012956/1701041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!