Zabbix 安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix 安装相关的知识,希望对你有一定的参考价值。

技术分享图片

Zabbix  


一、简介

1、 zabbix 简介 

    Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决

方案,由一个国外的团队续维护更新,件可以自由下使用,团队靠提供收的技支持   

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

           zabbix能监视种网络参数,保器系的安全运营提供活的通知机制以管理快速定位/解存在的各种问题

           zabbix主要由2部分成zabbix server和zabbix agent,可选组建zabbix proxy 

zabbix server可以通SNMP,zabbix agent,fping端口监视等方法对远程服器或网络状态完成监视据收集等功能

          支持Linux以及Unix平台,Windows平台只能安装客



2、Zabbix 功能

①具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库)

性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)

②支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)

③支持自动发现(low discoverykey 实现动态监控项的批量监控(需写脚本)

④支持分布式,能集中展示、管理分布式的监控点

⑤扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)编写插件容易,可以自定义监控项,报警级别的设置。

⑥数据收集

技术分享图片  可用和性能检测

技术分享图片  支持snmp(包括trapping and polling)IPMIJMXSSHTELNET

技术分享图片  自定义的检测

技术分享图片  自定义收集数据的频率

技术分享图片  服务器/代理和客户端模式

技术分享图片  灵活的触发器

技术分享图片  可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值

技术分享图片  高可定制的报警

技术分享图片  发送通知,可定制的报警升级,收件人,媒体类型

技术分享图片  通知可以使用宏变量有用的变量

技术分享图片  自动操作包括远程命令

技术分享图片  实时的绘图功能

技术分享图片  监控项实时的将数据绘制在图形上面

技术分享图片  WEB 监控能力

技术分享图片  ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间

Api 功能

技术分享图片  应用api 功能,可以方便的和其他系统结合,包括手机客户端的使用。

更多功能请查看


3、Zabbix 工作方式

Zabbix 通过C/S 模式采集数据,通过B/S 模式在web 端展示和配置。

被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据

Server 端:通过收集SNMP agent 发送的数据,写入数据库(mysqlORACLE 等),

再通过php+apache web 前端展示。


4、Zabbix 的运行条件

Server:Zabbix Server 需运行在LAMP(Linux+Apache+Mysql+PHP)环境下(或者

LNMP),对硬件要求低

Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、

windows

SNMP:支持各类常见的网络设备

SNMP(Simple Network Management Protocol,简单网络管理协议


5、监控逻辑图

技术分享图片


二、安装部署

1、环境准备

一台centos 6.5操作系统服务器,关闭防火墙,selinux,部署lamp平台

在这里采用的lamp环境是apache2.4+mysql5.6+php5.6

[[email protected] zabbix]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[[email protected] zabbix]# uname -r

2.6.32-431.el6.x86_64      


2、安装zabbix依赖包

yum install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel  java-devel curl-devel libxml2-devel iksemel-devel libevent-devel -y


个人习惯每安装的服务都会另创建目录,博主在这里创建的是/service/zabbix,安装包的位置安装的位置在/usr/local/zabbix下载zabbix软件包,并添加服务用户


useradd zabbix -s /sbin/nologin/ -M

mkdir  /service/zabbix   -p 

下载tar包

cd  /service/zabbix   &&  wget  http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.2.6.tar.gz

tar xf zabbix-3.2.6.tar.gz         解压

cd zabbix-3.2.6


3、安装包说明

[[email protected] zabbix-3.2.6]# ll

总用量 1392

-rw-r--r--  1 1000 1000  49137 7月  22 2016 aclocal.m4

-rw-r--r--  1 1000 1000     98 7月  22 2016 AUTHORS

drwxr-xr-x  4 1000 1000   4096 7月  22 2016 bin        zabbix的windows版本程序

drwxr-xr-x  4 1000 1000   4096 7月  22 2016 build

-rw-r--r--  1 1000 1000 687803 7月  22 2016 ChangeLog

-rwxr-xr-x  1 1000 1000   7333 1月   3 2014 compile

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 conf       zabbix的配置文件

-rwxr-xr-x  1 1000 1000  45297 8月  11 2013 config.guess

-rwxr-xr-x  1 1000 1000  35564 8月  11 2013 config.sub

-rwxr-xr-x  1 1000 1000 376528 7月  22 2016 configure

-rw-r--r--  1 1000 1000  46788 7月  22 2016 configure.ac

-rw-r--r--  1 1000 1000  17990 7月  22 2016 COPYING

drwxr-xr-x  7 1000 1000   4096 7月  22 2016 database   数据库文件

-rwxr-xr-x  1 1000 1000  23566 1月   3 2014 depcomp

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 frontends php文件,zabbix的web

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 include

-rw-r--r--  1 1000 1000     82 7月  22 2016 INSTALL

-rwxr-xr-x  1 1000 1000  13997 1月   3 2014 install-sh

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 m4

-rw-r--r--  1 1000 1000   3155 7月  22 2016 Makefile.am

-rw-r--r--  1 1000 1000  30553 7月  22 2016 Makefile.in

drwxr-xr-x  2 1000 1000   4096 7月  22 2016 man

drwxr-xr-x  5 1000 1000   4096 7月  22 2016 misc

-rwxr-xr-x  1 1000 1000   6872 1月   3 2014 missing

-rw-r--r--  1 1000 1000     52 7月  22 2016 NEWS

-rw-r--r--  1 1000 1000    188 7月  22 2016 README

drwxr-xr-x 10 1000 1000   4096 7月  22 2016 src     zabbix的核心程序文件

drwxr-xr-x  3 1000 1000   4096 7月  22 2016 upgrades


4、编译安装

./configure --prefix=/usr/local/zabbix \   #指定安装目录

--enable-server \                                             #安装服务端

--enable-agent \                                              #安装客户端

--enable-java \                                        #安装java模块

--enable-ipv6 \

--with-mysql=/usr/local/mysql/bin/mysql_config  \

--with-net-snmp \

--with-libcurl \

--with-libxml2 \

--with-openipmi \

--with-unixodbc \

--with-openssl 

make&&make install


查看编译位置

[[email protected] ~]# cd /usr/local/zabbix/

[[email protected] zabbix]# ll

总用量 20

drwxr-xr-x 2 root root 4096 8月  24 19:40 bin

drwxr-xr-x 4 root root 4096 8月  24 19:40 etc

drwxr-xr-x 2 root root 4096 8月  24 19:40 lib

drwxr-xr-x 2 root root 4096 8月  24 19:40 sbin

drwxr-xr-x 4 root root 4096 8月  24 19:40 share


5、导入zabbix文件到数据库进入mysql配置


mysql -u root p   #进入数据库

create database zabbix character set utf8;

注意,此处要特别注意数据库字符集的问题,如果数据库是非utf8 字符,则web 页面改

为中文,是会出现乱码的

grant all privileges on zabbix.* to [email protected]'%' identified by 'zabbix'; 创建管理MySQL用户

flush privileges;

mysql -u zabbix -pzabbix   #测试登录数据库


cd /service/zabbix/zabbix-3.2.6/database/mysql

mysql -u root -p    zabbix < schema.sql 

mysql -u root -p    zabbix < images.sql

mysql -u root -p    zabbix < data.sql


mysql -u zabbix -pzabbix  

use zabbix ;

show tables ;

登录数据库查看

技术分享图片


6、拷贝配置文件及授权用户我的apache数据保存目录在/htdocs/

拷贝配置文件及授权用户我的apache数据保存目录在/htdocs/

mkdir /htdocs/zabbix

cp -r /service/zabbix/zabbix-3.2.6/frontends/php/* /htdocs/zabbix/

chown -R apache.apache /htdocs/zabbix/



7、修改php.ini文件

vim  /usr/local/php/php.ini

date.timezone = Asia/ Hong_Kong      

max_execution_time = 300 

post_max_size = 32M

max_input_time=300

memory_limit = 128M

mbstring.func_overload = 2


重启:/etc/init.d/php-fpm restart 


8、修改虚拟主机配置

vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>        #端口

    ServerAdmin www.zabbix.com      #管理员登录网址

    DocumentRoot "/htdocs/zabbix"    #指定网页数据位置

    ServerName www.zabbix.com      #域名

       <Directory "/htdocs/zabbix">

       AllowOverride All             #访控

       Require all granted

       </Directory>

    ErrorLog "logs/dummy-host2.example.com-error_log"   #错误日志

    CustomLog "logs/dummy-host2.example.com-access_log" common   #日志

 ProxyRequests off    #代理请求off指运行代理

 ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/htdocs/zabbix/$1   #把凡是以结尾是.php的访问转发到本机的9000端口上

</VirtualHost>


service httpd restart 重启


9、zabbix 配置

路径:/usr/local/zabbix/etc/zabbix_server.conf

修改主要参数即可工作

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix 数据库

DBHost=127.0.0.1


修改客户端配置:/usr/local/zabbix/etc/zabbix_agent.conf

Server=192.168.2.100 //配置zabbix服器的IP地址 
Hostname=zabbix_server //配置主机名 
PidFile=/var/tmp/zabbix_agentd.pid //指定pid路
 
LogFile=/var/log/zabbix/zabbix_agentd.log //
指定日志文件 


9.1、配置启动脚本

cp /service/zabbix/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_{server,agentd}  /etc/init.d/

[[email protected] zabbix]# ll -h /etc/init.d/zabbix_*

-rwxr-xr-x 1 root root 2.2K 8月  24 15:15 /etc/init.d/zabbix_agentd

-rwxr-xr-x 1 root root 2.2K 8月  24 15:15 /etc/init.d/zabbix_server


9.2、修改启动脚本(不修改启动会报错)

vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix      #这里是安装服务的路径

vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix


启动

[[email protected] zabbix]# /etc/init.d/zabbix_server start       

Starting zabbix_server:                                    [确定]

[[email protected] zabbix]# /etc/init.d/zabbix_agentd start      

Starting zabbix_agentd:                                    [确定]


访问:因为我在本机改了hosts文件在这里我是直接域名加端口访问的

技术分享图片


修改安装时报错问题

1、PHP string function overloading must be disabled.  错误:

修改片php.ini文件 mbstring.func_overload = 1  修改完毕之后重启


2、PHP option "always_populate_raw_post_data" must be set to "-1"     

修改  /htdocs/zabbix/include/classes/setup/ CFrontendSetup.php

       添加 $current = -1;

        public function checkPhpAlwaysPopulateRawPostData() {

                $current = ini_get('always_populate_raw_post_data');

                $current = -1;

                return [

                        'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),

                        'current' => ($current != -1) ? _('on') : _('off'),

                        'required' => _('off'),

                        'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,

                        'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -1)

                ];

        }


填写数据库连接

技术分享图片



配置zabbix server端的主机名,端口号

技术分享图片


安装

技术分享图片


默认的账号和是admin  密码是zabbix

技术分享图片


登录成功(设置中文字体)

技术分享图片


监控本机

默认我们已经启动了zabbix客户段服务 所以在主机列表中可以查看到

如果没有启动可以执行/etc/init.d/zabbix_ agentd restart  启动zabbix客户端

还需要在网页配置,使zabbix起来

默认我们监控主机是没有启用的à双击停用的他就起来了

技术分享图片

显示绿色的ZBX则为成功

技术分享图片


监控一台新的主机

拷贝脚本到主机执行

vim  zabbix_client_install.sh

#!/bin/bash

#关于配置文件修改,如果是外网的客户端,需要把ServerActive和Server的值改为101.96.129.162,(已经做过外网映射)

Modify_configuration(){

    #IP=`ifconfig |grep -o '192\.168\.1\.[0-9]\{1,3\}' |grep -v 255 |head -1`

    IP=`ifconfig eth0 |grep inet |sed 's/^.*addr://g' |sed s/Bcast.*//g`

    sed -i "

       /# HostMetadataItem/a\

       HostMetadataItem=system.uname

       s/^ServerActive=127.*/ServerActive=10.27.72.243/

       s/^Server=.*/Server=10.27.72.243/

       s/Hostname=Zabbix server/Hostname=${IP}/

       " /etc/zabbix/zabbix_agentd.conf

}

CentOS_agent_install(){

    wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.6-1.el6.x86_64.rpm

    rpm -ivh zabbix-agent-3.2.6-1.el6.x86_64.rpm

    Modify_configuration

    rm -rf zabbix-agent-3.2.6-1.el6.x86_64.rpm

    chkconfig zabbix-agent on

    service zabbix-agent restart

}

Ubuntu_agent_install(){

    wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-agent_3.2.6-1%2bxenial_amd64.deb

    sudo dpkg -i zabbix-agent_3.2.6-1+xenial_amd64.deb

    Modify_configuration

    rm zabbix-agent_3.2.6-1+xenial_amd64.deb

    service zabbix-agent restart

}


cat /etc/*release |grep "CentOS" &>/dev/null

[ $? == 0 ] && CentOS_agent_install

cat /etc/*release |grep "Ubuntu" &>/dev/null

[ $? == 0 ] && Ubuntu_agent_install


效果图技术分享图片


在server端监控这台客户机

技术分享图片


技术分享图片

给监控的客户端添加一个监控模板

技术分享图片


技术分享图片


保存查看图形

技术分享图片

到这里就搭建完成,真心希望本篇博客可以帮助到您。



以上是关于Zabbix 安装的主要内容,如果未能解决你的问题,请参考以下文章

zabbix安装

linux12 - zabbix -- zabbix安装01

如何在windows下安装zabbix

Zabbix——Zabbix的安装和基本配置

zabbix安装后怎么添加监控

zabbix的基本安装