第一章 Zabbix简介
Zabbix是一个基于Web界面提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
基本功能
数据采集方式:zabbix agent,agent(active),SNMP,SSH等
数据存储方式:RDBMS,如MySQL,Pgsql等
数据展示方式:php,web,gui
报警功能:支持报警升级
第二章 Zabbix构架
Zabbix主要由zabbix server和zabbix agent组成
server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警
agent端负责监控数据的采集,并发送给server端
数据采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数
Zabbixproxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求
2.1 构架图
2.2 实现过程
备注:以上构图来源于网友北城书生的分享。
第三章 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复制zabbix的php项目到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
配置完成
登陆默认账号密码:root:Admin passwd:zabbix
3.2.2中文汉化
3.2.3乱码解决
在自己的windows电脑找到本地C:\Windows\Fonts\simkai.ttf(楷体)上传到服务器zabbix网站目录fonts目录下。并且修改命名方式(不上传字体会照成乱码):
[root@reyzar-agent fonts]# mv simkai.ttfDejaVuSans.ttf
3.3 zabbix_agent客户端安装配置
client:192.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 |
[[email protected] ]# ./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix [[email protected] ]# make && make install |
3.3.3设置启动项和修改配置文件:
1 2 3 4 |
[[email protected]]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ [[email protected]]# chmod 700 /etc/init.d/zabbix_agentd [[email protected]]# 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)步骤
4.1.2套用模板
成功添加linux主机
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 \\接受来自监控主机的请求
界面添加交换机对象
给交换机加模板
设置巨集,定义团体名
监控主机展示如下:linux
交换机网卡流量图展示
2015-7-23 soul
备注:此文章来源于本人另一个博客下的博文,为方便管理,归纳到一起。