ZABBIX 监控部署

 

 

 

ZABBIX 监控部署........................................................................................................... 1

1zabbix介绍........................................................................................................... 1

1.2,zabbix监控的特点和功能........................................................................... 1

2zabbix部署环境.................................................................................................... 1

2.2 通过yum安装lamp环境(源码安装太费时,不推荐)................................. 2

2.3 源码包安装zabbix server.......................................................................... 3

2.4 zabbix server目录结构介绍............................................................................ 4

3,数据库配置.......................................................................................................... 5

3.1 创建数据库 zabbix....................................................................................... 5

3.2 导入zabbix表结构和相关数据...................................................................... 5

4, zabbix server 配置文件详解.................................................................................... 6

5,配置php 文件........................................................................................................ 7

5.2通过浏览器去配置......................................................................................... 7

6 汉化..................................................................................................................... 13

7,添加常用监控模板.............................................................................................. 15

8,安装配置客户端................................................................................................. 16

8.1 安装客户端包............................................................................................. 16

8.3 添加监控主机............................................................................................. 17

9,添加自定义图形................................................................................................. 18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ZABBIX 监控部署

 

1zabbix介绍

 zabbix是一个基于WEB界面的,分布式的,自动化的企业级开源监控工具。

 

1.2,zabbix监控的特点和功能

A,能编译运行在多种OSAIX, FreeBSD,HP-UX, Linux, MacOS X, NetBSD, OpenBSD,

B,邮件短信报警,报警并按预期指令进行自动处理

C,多种数据库(sqlserver mysql)存储配置、性能等各种信息

D,Web interface 简单易用的访问

E,提供实时和历史的监控分析数据

F,高性能的监控代理 (UNIX, Win32)

G,监控 SNMP (v1,v2,v3) devices

H,自动发现

I,监控代理

J,Solaris, Tru64/OSF

 

 

2zabbix部署环境 和演示环境

   系统: centos 5.3

   DB mysql 5.5

  Zabbix_server: 2.2.2

  Php:5.3+

  nginx:2.2

   这里要注意zaabix_server的版本,1.8  2.0 2.2 之间界面相差有点大

   同时添加zabbix用户 useradd zabbix

 

演示环境:

 Zabbix server 192.168.230.130

 Zabbix agent 192.168.230.130

 

2.2 通过yum安装lnmp环境(源码安装太费时,不推荐)

 前提: 配置好linuxyum源,建议指到外网的公共源

 安装lnmp架构,包括nginxphpphp插件,mysql(安装略过)

 

 yum-y install php php-mysql  php-fpm  php-gd php-mysql php-bcmath  php-mbstring php-xm   nginx  php-cli php-common php-xml

安装完上面的工具后:

#/etc/init.d/php-fpm start       启用php-fpm

 

 配置nginx

 

  Vim/etc/nginx/conf.d/default.conf    #删除所有配置,加入下面这段

 

server {

      listen       80;

      #charset koi8-r;

 location / {

          root   /var/www/html;

         index  index.html index.htmindex.php;

       }

 location ~ .*\.php$ {

       root           /var/www/html;

       fastcgi_pass   127.0.0.1:9000;

       fastcgi_index  index.php;

       fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;#php文件存放路径

       include        fastcgi_params;

 

}

 

#/etc/init.d/nginx start

 

 

 

 环境部署好后,nginx的文档目录是/var/www/html ,我们可以测试下是否可以正常 访问php页面

 

Cd /var/www/html/;vim test.php

<?php

Phpinfo();

?>

保存退出

 

启用apache 默认监听在80 端口

service httpd start,

下面图示  mysql,主要是安装了php-mysql,让php支持了mysql接口和使用,如果安装此插件,zabbix可能不能通过页面把数据写到数据库

 

 

2.3 源码包安装zabbix server

Tar -zxvf zabbix-2.2.2.tar.gz

Cd zabbix-2.2.2

./configure --prefix=/usr/local/zabbix--enable-server --enable-agent --with-mysql

 

这里编译的时候添加的参数:

--enable-server    编译使用zabbix server功能,就是主监控

--enable-agent     编译使用client功能,是监控的客户端

--with-mysql      编译使用连接mysql功能,因为它支持多种数据库

还有后面会用到的参数

--enable-proxy     编译使用代理功能

通过不同参数,我们编译完后,会发现生成不同的命令

 

编译后,最后出现上图界面,提供了我们开启的功能信息和没开启的

 

最后,我们只需要按提示  ok

make install

 

 

2.4 zabbix server目录结构介绍

这里,zabbix编译到了/usr/local/zabbix 中了

这里可以看到有5个文件夹

Bin目录:

这里主要是zabbix 服务端用来测试client 拉取数据的二进制文件

这里直接执行,会提示使用的语法

 

Etc 目录:

[root@zabbix_server etc]# ls

zabbix_agent.conf  zabbix_agent.conf.d  zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d

客户端配置文件:

 Zabbix_agent.conf

 zabbix_agentd.conf

下面2个是目录,主要用来更精细或分类管理客户端的文件

 Zabbix_agentd.conf.d

 zabbix_agent.conf.d

2个文件的区别:

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

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

服务端配置文件:

 zabbix_server.conf

 zabbix_server.conf.d(目录)

 

Lib文件是一些库文件,我们这里因为编译的原因,所以是空的,不用管

Sbin目录:

这里主要是守护进程执行命令

Zabbix_server 是启用zabbix_serverd 命令

Zabbix_agent  是超级服务(xinetd)的方式来启动zabbixagent的,

Zabbix_agentd  是独立进程的方式来启动zabbix agent

 

Share目录:

这里主要存放一些zabbix使用文档和公共脚本

例如,我们现在想查看zabbix使用,只需要

可以看到,就能man一下zabbix_server的使用方法了。

 

 

 

3,数据库配置

  3.1 创建数据库 zabbix

  #Mysql -uroot -123

  >Createa database zabbix charset=utf8;

  >Exit

 

 

  3.2 导入zabbix表结构和相关数据

这里导入sql文件的时候是有顺序的,schema.sql是表结构,data.sql是数据,p_w_picpath.sql是插入的一些图片的二进制数据

创建数据库,并导入zabbix数据

#Mysql -uroot -p123--default-character-set=utf8 zabbix< schema.sql

#Mysql -uroot -p123--default-character-set=utf8 zabbix< p_w_picpath.sql

#Mysql -uroot -p123--default-character-set=utf8 zabbix< data.sql

 

 

数据导入完毕后,需要创建一个供zabbix连接的用户;

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

 

 

4, zabbix server 配置文件详解

Zabbix_server.conf

Server=zabbix_server#zabbix server的ip地址或者域名 

Hostname=Telcom_proxy#proxy主机名,在zabbix web会以这个名字为准 

#DB 设定档 

DBName=zabbix

DBUser=zabbix

DBPassword=zabbixpass

DBSocket=/var/lib/mysql/mysql.sock#前文主机设置为localhost,用户

连接数据库所用的sock位置,

DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置

ListenPort=10051#zabbix server的端口,默认是10051,可以自行修改,

LogFile=/tmp/zabbix_server.log#日志文件的存放位置

LogFileSize=1 #日志文件的大小,单位为MB,当设置为0时,表示不仅行日志轮询,

默认设置为1,默认即可

DebugLevel=3 #指定调试级别,默认即可

ProxyLocalBuffer=0 #设定为0小时,除非有其他第三方应用和插件需要调用 

ProxyOfflineBuffer=1#proxy或者server无法连接时,保留离线的监控数据的时间,单位小时 

ConfigFrequency=600#server和proxy配置修改同步时间间隔,设定5-10分钟即可。 

DataSenderFrequency=10#数据发送时间间隔,10-30s; 

#网络传输质量越好,可以设定间隔时间越短,监控效果也越迅速; 

StartPollers=10 #开启多线程数,一般不要超过30个; 

StartPollersUnreachable=1#该线程用来单独监控无法连接的主机,1个即可; 

StartTrappers=10 #trapper线程数 

StartPingers=1#fping线程数 

CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整; 

Timeout=10 #超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间; 

TrapperTimeout=30 #同上 

FpingLocation=/usr/sbin/fping#配合simple check icmp检测使用,如不需要可关闭;fping需要安装

zabbix_server 命令添加到自动启动服务中

# pwd

/root/zabbix/zabbix2.2.2/zabbix-2.2.2/misc/init.d/fedora/core

 

# mkdir -p /usr/local/sbin/

# cp /usr/local/zabbix/sbin/zabbix_server  /usr/local/sbin/

# /etc/init.d/zabbix_server start

Starting zabbix_server:                                    [  OK  ]

# chkconfig  --level345 zabbix_server  on

 

5,配置php 文件

 在源码包中有一个目录存放着web的所有配置界面

这个frontends 目录中就是存放的htmlphp等文件,将这个目录整个复制到apache的文档目录中/var/www/html/zabbix

#Mkdir -p /var/www/html/zabbix

#Cp -r frontends /var/www/html/zabbix

 

5.2通过浏览器去配置

访问:http://192.168.230.130/zabbix/php/setup.php

 

post_max_size = 8M

max_execution_time = 30

max_input_time = 60

date.timezone =

 

 

      Current value  Required

PHP option memory_limit     32M 128M      Fail

PHP option post_max_size    8M  16M Fail

PHP option max_execution_time   30    300  Fail

PHP option max_input_time  60    300  Fail=

PHP time zone       unknown       Fail

上面几个是php配置问题,修改配置文件为它推荐之后,重启apache

下面是缺一些安装包

PHP databases support   off         Fail     #这个 安装php-mysql,重启apache

PHP bcmath    off         Fail

PHP mbstring off         Fail

PHP gd   unknown 2.0   Fail

PHP gd PNG support     off         Fail

PHP gd JPEG support    off         Fail

PHP gd FreeType support      off         Fail

PHP xmlwriter       off         Fail

PHP xmlreader       off         Fail
安装缺少的包

#Yum -y install php-bcmath php-mysql php-gd php-mbstring php-xml*

#/ect/init.d/httpd restart

 

 

#ln -s /data/mysqldata/mysql.sock /var/lib/mysql/mysql.sock

 

点击页面上的downloadconfiguration file,文件保存到本地

然后上传到zabbix server服务器的/var/www/html/zabbix/php/conf/目录中

 

#Cd /var/www/html/zabbix/php/conf

# ls zabbix.conf.php

Zabbix.conf.php

#rz -bey

上传后,retry一下

默认用户名是admin 密码是zabbix

 

 

6 汉化

选择中文显示界面后,发现图片展示的时候会有乱码的

 

上传字体库到zabbix server

Simkai.ttf

#Cd /var/www/html/zabbix/php/fonts

#Rz -bey

# ls

DejaVuSans.ttf simkai.ttf

 

修改配置文件

# pwd

/var/www/html/zabbix/php/include

# ls defines.inc.php

#Sed -i  ‘s#DejaVuSans#simkai#g’  defines.inc.php

 

刷新下web界面,汉化乱码解决

 

 

 

7,添加常用监控模板

   添加监控磁盘IOmysql 模板

  

这里导入了2个模板,第一个是mysql模板,第二个是磁盘io模板

 

在组态-->模板-->最下面看到多了2个模板

 

8,安装配置客户端

   这里,以监控本机为例

8.1 安装客户端包

上传zabbix_agents_2.2.1.linux2_6.i386.tar.gz 到服务器

解压出来只有3个目录

# ls

bin  conf  sbin

目录主要存放东西类似zabbixserver,这里不解释了

 

8.2 配置zabbix agent配置文件

Cd conf

vim zabbix_agentd.conf

 

LogFile=/tmp/zabbix_agentd.log

DebugLevel=3   

 AllowRoot=1

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server  #这里的名字,与添加监控主机的名字要对应

 

配置完后,将配置文件复制到下面目录

# cp zabbix_agentd.conf /usr/local/zabbix/etc/

cp: overwrite `/usr/local/zabbix/etc/zabbix_agentd.conf'? y

启用zabbix agent

 

8.3 添加监控主机

这里,zabbix是默认监控了自己,只是没有配置和开启,  直接编辑

 

 

并保存

 

当右下角的z 样式图标变绿,表示监控成功了

 

 

通过图形,可以看到已经开始出现监控的图形了!

 

 

9,添加自定义图形

  上面导入了mysql和磁盘的模板,但是每个监控主机,需要脚本获取值后,传给server

 

这里有写好的mysql脚本,zabbix_mysql.conf,上传到agent机器

# cd /usr/local/etc/

# ls

zabbix_agentd.conf

# rz -bey

rz waiting to receive.

Starting zmodem transfer. Press Ctrl+C to cancel.

  100%      11 KB  11 KB/s 00:00:01       0 Errors

# ls

zabbix_agentd.conf zabbix_mysql.conf

 

修改客户端配置文件

 

Echo “Include=/usr/local/etc/zabbix_mysql.conf” >>/usr/local/etc/zabbix_agentd.conf

 

重启zabbix-agent

# pwd

/root/zabbix/sbin

# killall zabbix_agentd

# killall zabbix_agentd

zabbix_agentd: no process killed

# ./zabbix_agentd

 

配置完成后,再次看图,会发现之间模板监控的无数据,变为开始接受数据了