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

    zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix由2部分构成,zabbix server与可选组件zabbix agent。

    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

一、Server

1、安装

第一步,搭建好yum,我这里搭建的是163的网络yum源。

# yum install -y php-common

# yum install -y gcc gcc-c++ autoconf httpdphp mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysqlphp-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbcmysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel 


2、修改php.ini

# vim /etc/php.ini

440 max_execution_time = 300

449 max_input_time = 300

457 memory_limit = 128M

729 post_max_size = 32M

946 date.timezone = Asia/Shanghai

1587 mbstring.func_overload = 2

 

3、启动mysqldhttpd

 

4、zabbix server配置

# groupadd -g 201 zabbix

# useradd -g zabbix -u 201  zabbix

# tar xf zabbix-2.2.1.tar.gz

# cd zabbix-2.2.1

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

# make

# make install

# tail -4 /etc/services

zabbix-agent  10050/tcp #Zabbix Agent

zabbix-agent  10050/udp #Zabbix Agent

zabbix-server  10051/tcp #zabbix Trapper

zabbix-server  10051/udp #zabbix Trapper

5、导入数据库

# mysql -uroot -p

mysql> create database zabbix characterset utf8;

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

# mysql -uzabbix -pzabbixzabbix<./database/mysql/schema.sql

# mysql -uzabbix -pzabbixzabbix<./database/mysql/p_w_picpaths.sql

# mysql -uzabbix -pzabbixzabbix<./database/mysql/data.sql

6、创建链接

# mkdir /var/log/zabbix

# chown zabbix.zabbix /var/log/zabbix

# ln -s /usr/local/zabbix/etc /etc/zabbix

# ln -s /usr/local/zabbix/bin/* /usr/bin/

# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

7、加入系统服务

# cp misc/init.d/fedora/core/zabix_*/etc/init.d/

# vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

 

# vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

 

8、修改zabbix server配置文件

# vim /etc/zabbix/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

LogFile=/var/log/zabbix/zabbix_server.log

9、配置监控本身

# vim /etc/zabbix/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

Server=127.0.0.1,x.x.x.x    (x.x.x.x  是zabbix服务的的ip)

ServerActive=x.x.x.x:10051

Hostname=主机名  (本地主机名)

UnsafeUserParameters=1

10、拷贝网页至apache目录

# cd zabbix-2.2.1     //zabbix的压缩目录

# cp -r ./frontends/php//var/www/html/zabbix

# chown -R apache.apache /var/www/html/zabbix

11、设置zabbix_server和zabbix_agentd自动启动

12http://x.x.x.x/zabbix根据向导安装


二、Agent

# groupadd -g 201 zabbix

# useradd -g zabbix -u 201  zabbix

# yum install -y gcc gcc-c++

# ./configure --prefix=/usr/local/zabbix--enable-agent

# make

# make install

# mkdir /var/log/zabbix

# chown zabbix.zabbix /var/log/zabbix/

# cp misc/init.d/fedora/core/zabbix_agentd/etc/init.d/

# chmod 755 /etc/init.d/zabbix_agentd

# ln -s /usr/local/zabbix/etc /etc/zabbix

# ln -s /usr/local/zabbix/bin/* /usr/bin/

# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

# tail -4 /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

# cd /etc/zabbix/

# vim zabbix_agentd.conf

# grep -Ev '^$|^#' zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

Server=127.0.0.1,192.168.20.10

ServerActive=192.168.20.10:10051

Hostname=Zabbix server

UnsafeUserParameters=1

# chkconfig zabbix_agentd on

# vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

# service zabbix_agentd start


三、中文显示出现乱码的解决方法:

1、在windows 上复制字体或者是到网上下载字体。。我们这里以 “楷体”为例,文件名为simkai.ttf(必须要以.ttf结尾的字体文件才行)

将字体复制到webfonts目录   /var/www/html/zabbix/fonts

2、修改zabbixweb  /include/defines.inc.php

vim /var/www/html/zabbix/include/defines.inc.php

修改如下两处配置文件中的默认字体

//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name

efine('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

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

define('ZBX_FONT_NAME', 'simkai');

保存退出,刷新一下就可以了。


Zabbix知识

Zabbix使用icmp  ping来判断主机是否存活的问题

 

zabbix中,判断主机是否存活最简单的方法就是使用simple check中的icmp ping,尤其适用于那些无法安装zabbix客户端的主机,如网络打印机,esxi主机等。在zabbixsimple check 中有三个key是用到了icmp ping,分别是icmppingloss,icmppingsecicmpping.

1、  设定fping程序的目录

Fping的默认安装目录在/usr/local/sbin/下,而在zabbix_server.conf配置文件中fping程序的目录是/usr/sbin/,这里可以做链接文件或者修改zabbix_server.conf配置文件中的FpingLocation的值,总之一个目的,让zabbix知道fping程序的位置

2、  更改fping程序的权限

Zabbix运行时是以普通用户的身份运行的,而普通用户是没有权限构建icmp包的,因此需要给fping程序加上强制位 setuid,让普通用户运行该程序时以root的身份来运行,命令如下: chmod u+s /usr/local/sbin/fping

 

完成以上操作后,就可以使用icmp包来快速检测主机是否存活(防火墙不能阻止相关的icmp)了。

 

 

Zabbix 使用snmp 添加交换机接口监控

使用snmp监控交换机接口需要在交换机上开启snmp。命令如下:

<Quidway>system-view 

Enter system view, return user view withCtrl+Z. 

[Quidway]snmp-agent 

[Quidway]snmp-agent local-engineid800063A203000FE207F2E0 

[Quidway]snmp-agent community read public

[Quidway]snmp-agent sys-info versionall 

[Quidway]snmp-agent target-host informaddress udp-domain 133.96.7.248 udp-port 161 params securitynamenetwork(securityname) v2c 

[Quidway]snmp-agent trap enablebasetrap 

注释: 

udp-domain 133.96.7.248      //zabbix服务器ip地址 

udp-port 161                 //监听端口 

snmp-agent community read public //社团名称public


在linux上安装net-snmp net-snmp-utils包,测试snmp访问

    #snmpwalk -v 2c -c public 14.1.8.1 1.3.6.1.2.1.2.2.1.10.2 #查看端口2的计数(交换机ip是14.1.8.1  后面的数字是OID)

    iso.3.6.1.2.1.2.2.1.10.2 = Counter32:3497833695

 

添加主机,snmp介面ip地址填写需要监控的交换机管理Ip地址。端口161

添加模块Template SNMP Interfaces

添加巨集 {$SNMP_COMMUNITY}  168duan—此处填写的是交换机的snmp-agent明文密码

 

添加好后,选择探索项目原型,选中incoming traffic on interface ,operational status of interface ,outqoing traffic on interface只需要将这三个开启,其余的全部停用。