56gt 发表于 2019-1-22 06:58:18

分布式监控软件Zabbix

1.1 Zabbix的概念
Zabbix是一款监控各类网络参数、服务器健康状况与整体性能的软件。Zabbix利用一套灵活的通知机制使系统管理员能够为任何可触发的事件配置例如基于邮件报警功能,这样有助于对服务器各种问题的快速响应。同时Zabbix还提供了非常优秀的数据报告功能与数据可视化特性,可以通过Zabbix web管理界面直接访问所有的Zabbix报告、数据统计、配置参数,这使得Zabbix成为企业生产规划的理想选择。

1.2 Zabbix架构
Zabbix环境是由多个主要软件搭建完成的,每个软件所提供的功能如下:

[*]Server:Zabbix Server可以通过SNMP、Zabbix agent、ping、端口监视等方法提供对远程服务器/网络状态的监视、数据收集等功能,与Agent配合实现两种监视的方法:
- polling:Zabbix Server轮询Zabbix Agent主动接收监视数据
- trapping:Zabbix Server被动接受来自Zabbix Agent发送的数据
[*]Database storage:所有Zabbix的配置信息以及获取的数据都存储在数据库中
[*]Web Interface:通过Web管理接口,可以方便从任何地方管理Zabbix
[*]Proxy:Zabbix Proxy可以替代ZabbixServer收集数据,是Zabbix环境的一种扩展方式,更为受益的是可以(实现地域性部署)减轻单一Zabbix Server的负载
[*]Agent:Zabbix Agent安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存、CPU、服务等信息的收集,并报告给Zabbix Sever

1.3 Zabbix特点与功能
Zabbix的主要特点如下:

[*]安装与配置简单,学习成本低
[*]支持多语言
[*]开源
[*]自动发现服务器与网络设备
[*]分布式监视及Web集中管理功能
[*]可以无Agent监视
[*]用户安全认证和柔软的授权方式
[*]通过Web界面设置或查看监视结果
[*]具有E-mail等报警功能

Zabbix主要功能如下:

[*]CPU负荷
[*]内存使用
[*]磁盘使用
[*]网络状况
[*]端口监视
[*]日志监视

1.4 Zabbix部署实施
从被监控服务器的规模、扩展性、维护性上来讲,Zabbix架构模型可供选择:

[*]服务端 - 客户端(C/S)
[*]服务端 - 代理端 - 客户端(Server -Proxy - Client)

这里先介绍第一种架构模型,及C/S。

实验环境如下:
主机名                IP地址                         系统版本                              服务器角色
server.test.com    192.168.100.19         CentOS 6.5 x86_64               ZabbixServer,集成LNMP架构
web.test.com       192.168.100.20         CentOS 6.5 x86_64               ZabbixAgent,提供httpd服务
mysql.test.com    192.168.100.21            CentOS 6.5 x86_64               ZabbixAgent,提供mysql服务

1.4.1 搭建LNMP环境
具体安装过程请查看文档"LNMP环境搭建(持续更新)"。

1.4.2 安装并初始化Zabbix Server
1. 安装设置Zabbix Server
创建zabbix用户及工作组,并安装相关依赖包:
# groupadd zabbix
# useradd -g zabbix zabbix
# yum install net-snmp-devel mysql-devel curl-devel


从官网http://www.zabbix.com/download.php下载zabbix源码包,目前最新版本是zabbix-2.2.5.tar.gz,下载解压后向MySQL数据库导入相关数据:
# tar zxf zabbix-2.2.5.tar.gz
# cd zabbix-2.2.5
# /usr/local/mysql/bin/mysql -u root -p
Enter password:
mysql> create database zabbixcharacter set utf8;
mysql> grant all privileges onzabbix.* to 'zabbix'@'192.168.100.19' identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.2.5/database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.2.5/database/mysql/images.sql
mysql> source /usr/local/src/zabbix-2.2.5/database/mysql/data.sql
mysql> exit


编译安装zabbix,并设置zabbix_server与zabbix_agentd为开机自启,开启agent是为了监控本机:
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql--with-net-snmp --with-libcurl --with-libxml2
# make && make install
# cp misc/init.d/fedora/core5/zabbix_* /etc/init.d/
# vi /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
# chkconfig --add zabbix_server
# chkconfig zabbix_server on
# vi /etc/init.d/zabbix_agentd
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
# chkconfig --add zabbix_agentd
# chkconfig zabbix_agentd on


设置Zabbix Server配置文件,并启动服务:
# cd /usr/local/zabbix/etc
# cp zabbix_server.conf{,.bak}
# > zabbix_server.conf
# vi zabbix_server.conf
ListenIP=192.168.100.19
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=192.168.100.19
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
DBPort=3306
# mkdir /home/wwwroot/zabbix
# cp -a /usr/local/src/zabbix-2.2.5/frontends/php/* /home/wwwroot/zabbix/
# chown -R www.www /home/wwwroot/zabbix/
# /etc/init.d/zabbix_server start
# cp zabbix_agentd.conf{,.bak}
# > zabbix_agentd.conf
# vi zabbix_agentd.conf
ListenIP=192.168.100.19
ListenPort=10050
LogFile=/tmp/zabbix_agentd.log
Server=192.168.100.19
ServerActive=192.168.100.19               # 主动向zabbix server发送监控内容
Hostname=server.test.com                     # 需要能够解析域名,可以设置DNS或者直接添加到/etc/hosts文件中
# /etc/init.d/zabbix_agentd start


2. 初始化Zabbix Server Web界面
访问网页http://192.168.100.19/zabbix/setup.php:
http://s3.运维网.com/wyfs02/M02/47/0D/wKiom1P18WvzugRzAAJZ-XzAKB0202.jpg
http://s3.运维网.com/wyfs02/M02/47/0D/wKiom1P18drwBKXAAALoJ7Ji2i4185.jpg
根据提示修改php.ini配置文件相关设置:
# cd /usr/local/php/etc/
# cp php.ini{,.bak}
# vi php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = "Asia/Shanghai"
# /etc/init.d/php-fpm reload



http://s3.运维网.com/wyfs02/M01/47/0D/wKiom1P18nCTdeaGAAL-F9tzySM867.jpghttp://s3.运维网.com/wyfs02/M00/47/0F/wKioL1P189iha7fSAAKQVlMDj9E356.jpghttp://s3.运维网.com/wyfs02/M01/47/0D/wKiom1P18wWiki48AAIZxUJ6Dw4044.jpghttp://s3.运维网.com/wyfs02/M00/47/0F/wKioL1P19GqRSxTlAAKXqe_-itY464.jpghttp://s3.运维网.com/wyfs02/M02/47/0F/wKioL1P19Mzgvh4cAAHm8h20ghA946.jpg


排错:如果有如下错误,原因是zabbix网页目录属主问题,使用chown命令修改属主即可修复:
http://s3.运维网.com/wyfs02/M01/47/0E/wKiom1P19DGjVueHAAJmL2TEWB4420.jpg
# chown -R www.www/home/wwwroot/zabbix/


安装完毕后,即可登录Zabbix管理页面。zabbix默认用户名为admin,密码为zabbix:
http://s3.运维网.com/wyfs02/M02/47/0F/wKioL1P19ZOjRbyAAAESXdMdqkI607.jpg


看到的管理界面如下:
http://s3.运维网.com/wyfs02/M00/47/0F/wKioL1P19efBNrsVAAN4hlexh_8584.jpg


3. 激活本地监控
接下来需要开启对Zabbix Server的本地监控,点击"Configure" -> "Hosts",可以查看到当前本机的状态为"not monitored":
http://s3.运维网.com/wyfs02/M00/47/0E/wKiom1P19TCi7KsgAAOqlV4UbgM649.jpg


点击该状态"Enable host",此时机器状态变为"Monitored":
http://s3.运维网.com/wyfs02/M02/47/0F/wKioL1P19p7AghsnAAPZm7xKt5c688.jpg
  

现在可通过点击相关标签来查看当前与本机相关的一些监控数据,稍后进行部分详解。
  




页: [1]
查看完整版本: 分布式监控软件Zabbix