第一章 Zabbix简介

Zabbix是一个基于Web界面提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

基本功能

数据采集方式:zabbix agentagent(active)SNMPSSH

数据存储方式:RDBMS,如MySQLPgsql

数据展示方式:phpwebgui

报警功能:支持报警升级

 

第二章 Zabbix构架

Zabbix主要由zabbix serverzabbix agent组成

server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警

agent端负责监控数据的采集,并发送给server

数据采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数

Zabbixproxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求

2.1 构架图

wKioL1WwxAHTY9lwAADHHLqEk-g773.jpg


2.2 实现过程

wKioL1WwxC_jdwVKAAC3cR-gS9s633.jpg

备注:以上构图来源于网友北城书生的分享。

第三章 Zabbix安装手册

 

3.1 .0 安装LAMP环境

#yum -yinstall make mysql-server httpd php mysql-devel gcc net-snmp-devel

 curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml unixODBC-devel OpenIPMI-devel libxml2-devel

 

3.1.1 创建zabbix账户

 #useradd zabbix -s /sbin/nologin

3.1.2 创建zabbix数据库并赋值给zabbix权限

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

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

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

3.1.3 安装编译zabbix,并解压导入数据。

wget http://v2.51cto.com/wyfs01/M02/53/CC/wKioJlMuX7GSIWDdAN62_ztwWDo5125.gz?skey=ZO3o50yrN5rYPoXZLN45lw&stime=1437465755&sname=51CTO%CF%C2%D4%D8-zabbix-2.2.2.tar.gz

解压编译安装

[root@reyzarsrc] #tar -zxvf zabbix-2.2.2.tar.gz

[root@reyzar src]# cd /usr/local/src/zabbix-2.2.2

[root@reyzar zabbix-2.2.2]# cd/usr/local/src/zabbix-2.2.2/database/mysql/

[root@reyzar mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql[root@reyzar mysql]# mysql -uzabbix -pzabbix zabbix < p_w_picpaths.sql 

[root@reyzar mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

[root@reyzar src]# cd /usr/local/src/zabbix-2.2.2

 

[root@reyzar zabbix-2.2.2]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --prefix=/usr/local/zabbix

[root@reyzar zabbix-2.2.2]# make && make install

3.1.4 编译http.conf支持index.php

#vim/etc/httpd/conf/httpd.conf

  DirectoryIndex index.php index.html

修改zabbix文件对应的数据库账号和密码:

能。

3.1.5 修改zabbix配置文件的数据库账号密码

[root@reyzar zabbix-2.2.2]# vim /usr/local/zabbix/etc/zabbix_server.conf

DBHost=127.0.0.1

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

3.1.6复制启动脚本,并修改相应选项

[root@reyzar zabbix2.2.2]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/

[root@reyzar zabbix2.2.2]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

修改两个配置文件把路径

[root@reyzar zabbix-2.2.2]# vim /etc/init.d/zabbix_agentd 

ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

[root@reyzar zabbix-2.2.2]# vim /etc/init.d/zabbix_server 

ZABBIX_BIN="/usr/local/sbin/zabbix_server"改成ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"

启动:

[root@reyzar zabbix-2.2.2]# /etc/init.d/zabbix_server start

[root@reyzar zabbix-2.2.2]# /etc/init.d/zabbix_agentd start

[root@reyzar zabbix-2.2.2]# chkconfig zabbix_agentd on

[root@reyzar zabbix-2.2.2]# chkconfig zabbix_server on

3.1.7修改php.ini文件支持

[root@reyzar zabbix-2.2.2]# vim /etc/php.ini 

max_execution_time = 300

max_input_time = 300

date.timezone =Asia/Shanghai

post_max_size = 32M

重启httpd使php配置生效

#servicehttpd restart

3.1.8复制zabbixphp项目到http目录下,并且给权限:

[root@reyzar zabbix-2.2.2]#mkdir/var/www/zabbix

[root@reyzar zabbix-2.2.2]#cp-rf /usr/local/src/zabbix-2.2.2/frontends/php /var/www/zabbix/

[root@reyzar zabbix-2.2.2]#chown -R apache.apache /var/www/zabbix/

3.1.9修改httpd默认访问路径

[root@reyzar zabbix-2.2.2]#vim/etc/httpd/conf/httpd.conf

  DocumentRoot "/var/www/zabbix/php"

 

配置完成,重启以上所有服务。

 

3.2.0防火墙配置

打开防火墙的服务应用端口

iptables -AINPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

iptables -AINPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

iptables -AINPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

iptables -AINPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

iptables -AINPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT

[root@reyzar]#serviceiptables save

[root@reyzar]#serviceiptables restart

3.2.1界面配置zabbix

浏览器打开http://192.168.10.1 or  http://192.168.10.1/zabbix

wKiom1WwwoXAvom5AAGok7m_YsQ012.jpg

wKioL1WwxIeTZNhaAAHWXfhPp5Q775.jpg

wKioL1WwxKrhvgCjAAFBTwpGvoc487.jpg

wKiom1Wwwt-SCVAzAAEcuvtci3w958.jpg

wKiom1Wwwv2QU2g7AAFE4Xi_w48655.jpg

wKioL1WwxPvRIfd-AADvv2PglVA464.jpg

配置完成

登陆默认账号密码:rootAdmin passwdzabbix

3.2.2中文汉化

         wKiom1Www2KTvPztAADe0kz17QI858.jpg

3.2.3乱码解决

在自己的windows电脑找到本地C:\Windows\Fonts\simkai.ttf(楷体)上传到服务器zabbix网站目录fonts目录下。并且修改命名方式(不上传字体会照成乱码):

[root@reyzar-agent fonts]# mv simkai.ttfDejaVuSans.ttf

 

3.3 zabbix_agent客户端安装配置

client192.168.10.10  (即在需要被监控的主机上安装)

3.3.1 添加账户

1

[root@reyzar-agent ~]# useradd zabbix -s /sbin/nologin

 

3.3.2编译安装zabbix_agent:

[root@reyzar-agent ]#tar -zxvf zabbix-2.2.2.tar.gz

[root@reyzar-agent ]#cd zabbix-2.2.2

1

2

[root@reyzar-agent-zabbix-2.2.2 ]# ./configure --with-net-snmp --with-libcurl 

--enable-agent --prefix=/usr/local/zabbix

[root@reyzar-agent-zabbix-2.2.2 ]#  make && make install

3.3.3设置启动项和修改配置文件:

1

2

3

4

[root@reyzar-agent-zabbix-2.2.2]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

[root@reyzar-agent-zabbix-2.2.2]# chmod 700 /etc/init.d/zabbix_agentd 

[root@reyzar-agent-zabbix-2.2.2]# vim /etc/init.d/zabbix_agentd 

ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

 

3.3.4修改zabbix指向的服务器:

1

2

[root@reyzar-agent]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.2,192.168.10.1

打开防火墙10050  10051端口

iptables  -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

iptables  -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

重启服务

[root@reyzar-agent]# service zabbix_agentd start  

[root@reyzar-agent]# chkconfig zabbix_agentd on 

 

第四章添加监控对象

 

4.1.1 添加监控主机(linux)步骤

wKioL1WwxXHgW4hiAAEO0yzicSU624.jpg

 

 

4.1.2套用模板

wKiom1Www6PQtJCMAAEWvmLD1vw937.jpg

 

成功添加linux主机

wKiom1Www73D2KBUAABhkHBHhsA624.jpg

 

4.1.3 添加交换机监控对象

以添加cisco交换机为例

启动cisco snmp 协议并配置团体名

Sw-config#snmp-server community abcd RW    \\ abcd为团体名

Sw-config snmp-server enables versionall       \\开启支持所有snmp版本

Sw-config #snmp-server enable traps 

Sw-config #snmp-server host 192.168.10.1version 2c  \\接受来自监控主机的请求

 

界面添加交换机对象

wKioL1WwxcLxMvqBAAEC7MgLlgE474.jpg

给交换机加模板


 wKioL1WwxeOi7MCEAAEkxMgBKkI787.jpg

设置巨集,定义团体名

wKioL1WwxfySqP4eAAEXu-I5kL4864.jpg

 

监控主机展示如下:linux

wKiom1WwxDHztUgcAAGarH6LXcI695.jpg

交换机网卡流量图展示

wKiom1WwxFaCtqg7AAFRUTaU9Yw654.jpg

2015-7-23 soul

备注:此文章来源于本人另一个博客下的博文,为方便管理,归纳到一起。