线上应用: ZABBIX监控部署安装

本文出自 “dongyahu_blog” 博客,请务必保留此出处http://www.dongyahui.cn

 

 

本人已操作完成。。操作过程 如有疑问或者错误无法解决,可留言本文,谢谢配合

 

一、 Zabbix简介

Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。

官方网站:http://www.zabbix.com

Zabbix 1.8官方文档:http://www.zabbix.com/documentation/1.8/start

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

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

Server端:通过收集SNMPagent发送的数据,写入MySQL数据库,再通过php+apacheweb前端展示。

Zabbix运行条件:

Server

Zabbix Server需运行在LAMPLinux+Apache+Mysql+PHP)环境下,对硬件要求低

Agent

目前已有的agent基本支持市面常见的OS,包含LinuxHPUXSolarisSunwindows

SNMP

支持各类常见的网络设备

 

二. Zabbix功能

具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)

支持自动发现网络设备和服务器

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

扩展性强,server提供通用接口,可以自己开发完善各类监控

 

三、 优劣势

优点:

开源,无软件成本投入

Server对设备性能要求低(实际测试环境:虚拟机Redhat EL AS52GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)

支持设备多

支持分布式集中管理

开放式接口,扩展性强

缺点:

全英文,界面不友好

无厂家支持,出现问题解决比较麻烦

需在被监控主机上安装agent

 

部署安装:

 

一、 服务端环境准备

Zabbix Server需要运行在CentOSRedHat LinuxDebainLinux系统上,这里以RHEL AS5作为部署环境。

Root用户安装必须的包,建议配置好yum,通过yum安装下列包,解决包的依赖关系。

编译环境安装:

#yum -y install gcc openssl-devel zlib-devel pcre-devel libjpeg-devel libpng-devel libtool-ltdl-devel
#yum groupinstall "Development Tools" "Development Libraries" -y

LAMP环境

#yum install mysql-server httpd php

其他需要用到的包:

#yum install mysql-devel gcc net-snmp-devel libcurl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml

下载最新的Zabbix安装包(官网:http://www.zabbix.com)到本地,解压

#tar zxvf zabbix-1.8.1.tar.gz

增加zabbix用户和组

#groupadd zabbix

#useradd –g   zabbix –m zabbix

 

一、 数据库准备

启动MySQL数据库:

#service mysqld start

修改MySQL root用户密码(默认密码为空)

# mysqladmin -u root -p password   redhat

输入这个命令后,需要输入root的原密码,然后root的密码将改为redhat

测试能否正常登陆数据库

#mysql –uroot –proot

创建Zabbix数据库

Mysql> create database zabbix character set utf8;

导入数据库sql脚本

#cd zabbix-1.8.1

# cat ./create/schema/mysql.sql |mysql -uroot -predhat zabbix

# cat ./create/data/data.sql |mysql -uroot -predhat zabbix

# cat ./create/data/p_w_picpaths_mysql.sql |mysql -uroot -predhat zabbix

 

编译安装

配置编译,prefix是安装后程序目录

# ./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix

# make install

 

配置文件及web前端文件修改

添加服务端口,添加后如下

# grep zabbix /etc/services

#vi /etc/services

添加以下配置

zabbix-agent    10050/tcp                       # Zabbix Agent

zabbix-agent    10050/udp                      # Zabbix Agent

zabbix-trapper  10051/tcp                       # Zabbix Trapper

zabbix-trapper  10051/udp                      # Zabbix Trapper

 

添加配置文件

# mkdir -p /etc/zabbix

# cp ./misc/conf/* /etc/zabbix

# chown -R zabbix:zabbix /etc/zabbix

 

修改Server配置文件

基本不用修改,用默认配置即可,只需修改一项DBPassword=密码

# vi /etc/zabbix/zabbix_server.conf

 

修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了

#vi /etc/zabbix/zabbix_agentd.conf

 

添加web前端php文件

# cd frontends/

# cp -rf php /var/www/html/

# cd /var/www/html

# mv php zabbix

# chown -R zabbix:zabbix zabbix

 

一、 web前端安装配置

修改php相关参数

# vi /etc/php.ini    找到如下几项,改成下面的值,前面有;号的要删掉

date.timezone = Asia/Shanghai

post_max_size = 32M

upload_max_filesize = 16M

max_execution_time = 600 ; Maximum execution time of each script, in seconds

max_input_time = 600 ; Maximum amount of time each script may spend parsing request data

memory_limit = 256M ; Maximum amount of memory a script may consume

重启apache

#service httpd restart

在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://ServerIP/zabbix

按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。

Step 4 填入Zabbix Server 登陆mysql的用户和密码

Step 7 按提示下载配置文件到Server/var/www/html/zabbix/conf下,名字一定要是zabbix.conf.php

注: 此处需生成文件 zabbix.conf.php  拷贝至/var/www/html/zabbix/conf/

配置完成后,出现登陆界面,默认的用户为:admin,密码为:zabbix

 

PS:小技巧....ZABBIX支持中英文切换,选择Chinese(CN)即可

 

 

启动Server服务

安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动

 

#/usr/local/zabbix/sbin/zabbix_server

 

为了便于启停Server,我们做一些小配置

 

复制控制程序

# cp ./misc/init.d/redhat/zabbix_* /etc/init.d/

 

修改配置目录文件zabbix_server_ctl和 zabbix_agentd_ctl

/etc/init.d/zabbix_server_ctl

/etc/init.d/zabbix_agentd_ctl

两个文件中的BASEDIR=改为/usr/local/zabbix

# vi /etc/init.d/zabbix_server_ctl

修改其中ZABBIX_SUCKERD所在行:

ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server

修改后:

# base zabbix dir
BASEDIR=/usr/local/zabbix
# PID file
PIDFILE=/var/tmp/zabbix_server.pid
# binary file
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server

 

# vi /etc/init.d/zabbix_agentd_ctl

修改其中ZABBIX_AGENTD所在行:

ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

 

修改后:

# base zabbix dir
BASEDIR=/usr/local/zabbix
# pid file (as of 1.0 beta 10)
PIDFILE=/var/tmp/zabbix_agentd.pid
# binary file
ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

 

加入开机启动

# echo '/etc/init.d/zabbix_server_ctl start &'  >>/etc/rc

# echo '/etc/init.d/zabbix_agentd_ctl start &'  >>/etc/rc

 

创建快键方式

# ln -s /etc/init.d/zabbix_server_ctl /usr/bin/zabbix_server_ctl

# ln -s /etc/init.d/zabbix_agentd_ctl /usr/bin/zabbix_agentd_ctl

 

启动ServerAgentd(可以通过start stop restart来操作)

# zabbix_agentd_ctl start

# zabbix_server_ctl start

检查启动是否正常,查看进程是否起来,serveragentd

#ps –ef|grep zabbix

如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log

至此Zabbix Server的安装已完成

 

 

 

 在hosts上配置agent

 

Zabbix需要在被监控的host上安装agent,在zabbix官网上下载相应平台的agent包到各被监控端,按如下方式在被监控上运行agent

注:官网上下载的agent包里没有运行agentd所必须的配置文件,可以从zabbix server上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的

LinuxUX

LinuxUX上的agent是编译好了的,不用安装

 

#cd /usr/local/zabbix

#tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz

 

取一份server上的zabbix_agnetd.conf到本地,然后按说明修改,一般我们只需修改如下3个参数:

Hostname=本机名

Server=Zabbix Server IP

LogFile=本机agentd日志保存文件

 

修改完成后,运行agentd

 

#/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &

#ps –ef|grep zabbix_agentd

 

如果进程没起来,可查看agentd.log日志来排查问题。

注:启动时建议用全路径,否则可能会出错)

 

加入开机运行

#echo ‘/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &'     >>/etc/rc

 

 

Windows:

Windows下解压客户端包到c:,

下载修改好的zabbix_agentd.conf文件也放到c:,

打开cmd命令行,执行

 

C:>zabbix_agentd –-install

 

安装后会在系统服务里添加一个zabbix_agentd服务,会自动开机运行

 

如果需要将客户端和配置文件放在其他目录,请执行

 

C:>DIR/zabbix_agentd –c DIR/zabbix_agentd.conf –-install

 

启动agentd服务

 

C:>zabbix_agentd –-start

 

或是通过管理->服务找到zabbix_agentd来启动

 

配置使用

 

通过本地浏览器访问http://ServerIP/zabbix来开始配置和使用zabbix

使用zabbix进行监控之前,要理解zabbix监控的流程。

一次完整的监控流程可以简单描述为:

Host Groups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控项)->Triggers(触发器)->Actions(告警动作)->Medias(告警方式)->User Groups(用户组)->Users(用户)

 

一、 添加 Hosts

HostZabbix监控的基本载体,所有的监控项都是基于host的。

通过Configuration->Hosts->Create Host来创建监控设备

 

 

按提示填入NameGroupsIP ,其他选项默认即可,Link Templates 处选择一个模板,save即可成功添加设备。

注:如果host上没安装agent,添加后的状态会是unmonitor,会采集不到值,Zabbix自带大量的设备监控模板,我们添加主机时通过link到这些模板,就可以快速添加主机的监控项和告警触发条件。

一类的hosts可以归属到同一个Host Group,便于分类管理同一类设备,在Configuration->Host Group->Create Host Group 可以添加设备组

 

 

 

二、 添加 Items

Item是监控项,是监控的基本元素,每一个监控项对应一个被监控端的采集值。

Configuration->Hosts界面,我们能看到每个host所包含的items总数,点击对应主机的items项,可以看到具体的每个item信息,这些items可以引用自templates,也可以自己创建。

通过点击具体item名字可以修改已有监控项的属性,点击Satus的链接可以禁用/启用这个监控项。(注:我们可以通过新建一个template,在template中禁用掉所有不需要用到的items,然后把同一类hosts link to这个template,就不用一台台主机去更改items

新增item可以通过点击右上角的create item来创建

 

 

 

 

 

 

 

 

 

 

按提示逐项填入相关信息即可,其中keyzabbix已经自带的取值方法,Application类似于host groups,是item的组。(item key也可以自定义,后面会讲到如何自定义监控项

Zabbix自带非常多的监控采集项及方法,基本能满足当前所有的监控功能,这些都包含在item的 item key中了,更多的typekey的解释请参考:

http://www.zabbix.com/documentation/1.8/manual/config/items

 

三.添加 Triggers

Trigger是触发器,当Items采集值满足triggers的触发条件时,就会产生actions

每一个trigger必须对应一个item,但一个item可以对应多个trigger

同样,通过点击Configuration->Hosts->Triggers中某个trigger的名字,可以修改trigger的属性。(注意:引用自templatetrigger触发值是不能单独修改的,必须在template中修改,或是复制一个同样的trigger再修改,然后禁用掉之前的

新增trigger可以通过点击右上角的create trigger来创建

 

 

 

 

Expression中选择对应的item、触发方式及触发值,Severity是告警级别,根据trigger的严重性来选择。

Zabbix 提供多种trigger触发方式供选择,常用的我们可以选择last value </>/=/#/N(最近一次采集值),或是选择maximal value for period of time (一段时间内的最大值),等等。可以根据实际需要来设定触发方式。更多的解释请参考:

http://www.zabbix.com/documentation/1.8/manual/config/triggers

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章