1.zabbix学习笔记:zabbix的安装

zabbix的安装

为什么需要监控

随着互联网公司业务不断增长,硬件规模不断扩大,作为SA我们需要清楚每一台服务器的状态(温度、CPU使用率、内存使用率、磁盘使用率等),如果使用人为的方式将会极大增加工作量而且难免会有所疏露,所以我们需要更加自动化的方式进行监控,这里就必须要使用更加专业的监控软件。

监控系统基本分为两个部分:数据采集部分(客户端)数据存储分析并且显示部分(服务器端),常见的架构是C/S架构。关于数据的采集分为两种模式:主动模式被动模式

主动模式:客户端主动收集数据信息并且上传到服务器端。
被动模式:服务器端到客户端采集数据。

:从效率和压力分布上来看,当然采用主动模式服务器端的压力会小很多。

关于采集数据的协议可以分为两种:客户端采集(agent)公共网络协议采集(ssh、snmp等)

常见的架构有c/s架构c/p/s架构,其中c/s架构即客户端—服务器架构,适用于较小的监控环境,当监控的规模非常巨大时就得采用c/p/s架构,p即为代理(proxy)的意思。

c/s架构如下图所示:

1.zabbix学习笔记:zabbix的安装_第1张图片

c/p/s架构如下图所示:

1.zabbix学习笔记:zabbix的安装_第2张图片

监控软件的市场分布

目前活跃的监控软件非常的多,包括:cacti、nagios、zabbix。这些软件在企业中用的比较多一些,除了这些之外,还有其他更多的运维软件,例如Smokeping、ntop等内容。

为什么是zabbix

在这里我们极力推广zabbix作为互联网监控软件的首选,这里列出itnihao的观点,作为zabbix的资深使用者,他的观点鞭辟入里:

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:itnihao
链接:http://www.zhihu.com/question/19973178/answer/19666150
来源:知乎

我比较看好zabbix这款监控软件,理由如下:
1.分布式监控,天生具有的功能,适合于构建分布式监控系统,具有node,proxy2种分布式模式
2.自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分组,是天生的自动化运维利器的首选,当然于自动化运维工具搭配,puppet+zabbix,或者saltstack+zabbix,那是如鱼得水。
3.自定义监控比较方便,自定义监控项非常简单,支持变量,支持low level discovery,可以参考我写的文档自动化运维之监控篇—利用zabbix自动发现功能实现批量web url监控
4.触发器,也就是报警条件有多重判断机制,当然,这个需要你去研究一下,这也是zabbix的精华之处,
5.支持多种监控方式,agentd,snmp,ipmi,jmx,逻辑图如下
1.zabbix学习笔记:zabbix的安装_第3张图片
6.提供api功能,二次开发方便,你可以选用zabbix来进行二次深度开发,结合cmdb资产管理系统,业务管理系统,从而使你的自动化运维系统达到新的高度。

zabbix的安装

我们这里采用两个节点来搭配服务:

192.168.3.246 (zabbix-server、zabbix-agent)
192.168.3.245 (zabbix-agent)

zabbix服务器端安装

首先进行服务器端的安装,这里采用rpm的安装方式,首先得下载rpm的安装包:

zabbix通过php将mysql内存储收集的信息进行显示,所以首先要找到php相关的包,php相关rpm如下:

php-bcmath-5.3.3-40.el6_6.x86_64.rpm
php-5.3.3-40.el6_6.x86_64.rpm
php-cli-5.3.3-40.el6_6.x86_64.rpm
php-pdo-5.3.3-40.el6_6.x86_64.rpm
php-devel-5.3.3-40.el6_6.x86_64.rpm
php-common-5.3.3-40.el6_6.x86_64.rpm
php-snmp-5.3.3-40.el6_6.x86_64.rpm
php-gd-5.3.3-40.el6_6.x86_64.rpm
php-mbstring-5.3.3-40.el6_6.x86_64.rpm
php-mysql-5.3.3-40.el6_6.x86_64.rpm
php-xml-5.3.3-40.el6_6.x86_64.rpm

zabbix相关rpm:

zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-java-gateway-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-get-2.4.5-1.el6.x86_64.rpm
zabbix-sender-2.4.5-1.el6.x86_64.rpm
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-mysql-2.4.5-1.el6.x86_64.rpm

其他安装rpm:
snmptt-1.4-1.el6.noarch.rpm
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
libssh2-1.4.2-2.el6.x86_64.rpm

关于安装包的下载可以参考以下地址:
http://download.csdn.net/detail/linux_player_c/9265935

拥有rpm包后我们需要解决rpm的依赖性:
[root@server6 zabbix]# yum install createrepo -y

注:createrepo是生成rpm依赖关系的工具。

生成rpm的依赖关系:
1.zabbix学习笔记:zabbix的安装_第4张图片

将rpm所在的目录添加到yum的仓库中:
[root@server6 zabbix]# vim /etc/yum.repos.d/yum.repo
1.zabbix学习笔记:zabbix的安装_第5张图片

保存退出后刷新yum:
1.zabbix学习笔记:zabbix的安装_第6张图片

开始安装zabbix所需的rpm,我们这里只安装zabbix-server,不安装zabbix-proxy,采用的架构是c/s架构:

安装php:
1.zabbix学习笔记:zabbix的安装_第7张图片

安装zabbix:
1.zabbix学习笔记:zabbix的安装_第8张图片

安装mysql数据库:

修改mysql的配置文件:
[root@server6 zabbix]# vim /etc/my.cnf

设置mysqld为开机自启动,并且启动mysqld:
1.zabbix学习笔记:zabbix的安装_第9张图片

对mysql进行初始化:
1.zabbix学习笔记:zabbix的安装_第10张图片

配置zabbix的数据库:
创建zabbix数据库以及数据库用户zabbix,并且对zabbix用户进行授权
[root@server6 zabbix]# mysql -uroot -pwestos
1.zabbix学习笔记:zabbix的安装_第11张图片

将zabbix所需的数据导入mysql中:
[root@server6 create]# pwd
/usr/share/doc/zabbix-server-mysql-2.4.5/create
[root@server6 create]# ls
data.sql images.sql schema.sql

导入的顺序是schema.sql,再是images.sql,最后是data.sql文件:

配置/etc/zabbix/zabbix_server.conf,如下所示:
[root@server6 create]# vim /etc/zabbix/zabbix_server.conf
1.zabbix学习笔记:zabbix的安装_第12张图片

创建目录/etc/zabbix/alertscripts/etc/zabbix/externalscripts:

[root@server6 create]# mkdir /etc/zabbix/alertscripts
[root@server6 create]# mkdir /etc/zabbix/externalscripts

启动zabbix-server服务:
1.zabbix学习笔记:zabbix的安装_第13张图片
启动httpd服务:
1.zabbix学习笔记:zabbix的安装_第14张图片

防火墙与selinux的设定:
这里为了实验的方便期间,我们关闭防火墙iptables和selinux:
[root@server6 create]# iptables -F
[root@server6 create]# setenforce 0

修改php配置文件的设定:
[root@server6 create]# vim /etc/php.ini
1.zabbix学习笔记:zabbix的安装_第15张图片
我们修改timezone为Asia/Shanghai

修改web配置信息:
[root@server6 create]# vim /etc/httpd/conf.d/zabbix.conf
1.zabbix学习笔记:zabbix的安装_第16张图片

在浏览器上访问:192.168.3.246/zabbix,即可进入到zabbix的web界面,我们需要做一些初始化的工作。
1.zabbix学习笔记:zabbix的安装_第17张图片

进入准备页面,查看所有的请求是否符合要求:
1.zabbix学习笔记:zabbix的安装_第18张图片

设置数据库链接,确保“test connection”显示“ok”,进入下一步:
1.zabbix学习笔记:zabbix的安装_第19张图片

设置zabbix server的名称:
1.zabbix学习笔记:zabbix的安装_第20张图片

查看最终的列表清单:
1.zabbix学习笔记:zabbix的安装_第21张图片

结束配置并安装:

进入登陆界面,初始管理员admin密码是zabbix:
1.zabbix学习笔记:zabbix的安装_第22张图片

这个页面是zabbix的主监控界面:

小结

本章介绍了关于zabbix的安装过程,操作细节比较多,而且涉及了mysqld以及httpd等相关服务的配置,因为zabbix的界面显示采用php,所以我们也安装了php。可以看到zabbix 的界面相对比较复杂,所以在接下面的章节中我们将会着重介绍zabbix的各种组件的配置和管理。敬请期待!

你可能感兴趣的:(互联网,服务器,数据存储,自动化)