分类: 架构设计与优化
2015-09-06 11:07:07
原文地址:运用 zabbix 构建企业大型监控系统 作者:china_Linux_hy
Zabbix 2.4 for RHEL6 or Centos6:
参考: />
Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据 Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等) ,再通过 php+apache 在 web 前端展示。 |
Zabbix 运行条件:
Server:Zabbix Server 需运行在 LAMP(Linux+Apache+Mysql+PHP)环境下(或者LNMP) ,对硬件要求低 Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows SNMP:支持各类常见的网络设备 |
监控过程逻辑如图示:
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)
支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)支持自动发现(low
discovery)key 实现动态监控项的批量监控(需写脚本)
支持分布式,能集中展示、管理分布式的监控点扩展性强,server 提供通用接口(api 功能) ,可以自己开发完善各类监控(根据相关接口编写程序实现)
编写插件容易,可以自定义监控项,报警级别的设置。
数据收集
可用和性能检测
支持 snmp(包括 trapping and polling),IPMI,JMX,SSH,TELNET
自定义的检测
自定义收集数据的频率
服务器/代理和客户端模式
灵活的触发器
您可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值通知可以使用宏变量有用的变量自动操作包括远程命令
实时的绘图功能
监控项实时的将数据绘制在图形上面
WEB 监控能力
ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间
Api 功能
应用 api 功能,可以方便的和其他系统结合,包括手机客户端的使用。
更多功能请查看:
3.1.配置yum源,并安装相关软件
# rpm -ivh />
安装lamp环境:
# yum install -y httpd php php-mysql mysql-server
安装zabbix所需的软件包
# yum install zabbix-server-mysql zabbix-web-mysql
安装一个agent
# yum install zabbix-agent
3.2.配置Mysql数据库
# service mysqld start
# mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@192.168.40.140 identified by 'westos'; # 这里如果是远程连接建议设置成ip
mysql> quit;
# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create
# mysql -uzabbix -pwestos zabbix < schema.sql
## stop here if you are creating database for Zabbix proxy ##
# mysql -uzabbix -pwestos zabbix < images.sql
# mysql -uzabbix -pwestos zabbix < data.sql
3.3. 配置zabbix server
# vi /etc/zabbix/zabbix_server.conf
DBHost=192.168.40.140
DBName=zabbix
DBUser=zabbix
DBPassword=westos
3.4.配置zabbix的php模块的相关参数
# vim /etc/httpd/conf.d/zabbix.conf
点击(此处)折叠或打开
# service httpd start
# service zabbix-server start
# service zabbix-agent start
# chkconfig httpd on
# chkconfig mysqld on
3.6.zabbix的防火墙设置
# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
# /etc/init.d/iptables restart
3.7.Selinux的设置
# chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
# setsebool httpd_can_network_connect=true
# semanage port -a -t http_port_t -p tcp 10051
如果semanage命令没有,先安装下面这个软件包
# yum install policycoreutils-python –y
如果对防火墙和Selinux不太了解,建议selinux and iptables disabled
3.8.登录web端进行设置:192.168.40.140/zabbix
配置完成后所有的前端配置都会写到这个文件里面:
# cat /etc/zabbix/web/zabbix.conf.php
点击(此处)折叠或打开
Username:Admin
Password:zabbix
3.9.添加一台agent(142)主机
在被监控端安装软件包
# yum install zabbix zabbix-agent –y
2.配置:
# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1,192.168.40.140 #被动模式,允许那台服务器可以连接Agent
ServerActive=192.168.40.140:10051 #主动模式,向那台服务器传送数据
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/
UnsafeUserParameters=1
# /etc/init.d/zabbix-agent start
# chkconfig zabbix-agent on
3.防火墙设置
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
4.SNMP监控方式的配置
# yum install net-snmp –y
# vim /etc/snmp/snmpd.conf
com2sec mynetwork 192.168.40.140 public_monitor
com2sec mynetwork 127.0.0.1 public
group MyROGroup v2c mynetwork
access MyROGroup "" any noauth prefix all none none
# chkconfig snmpd on
# /etc/init.d/snmpd start
在web端进行添加agent