自动化运帷之分布式监控-zabbix 安装
zabbix
关于zabbix介绍可能就不用再说了,到处都是文章,这里之前使用的时Nagios,这里开始尝试接触zabbix,因为几个重要原则选择作为未来可能替换掉线上的监控系统,所以这边理由如下网友的itnihao的文字中摘抄了如下:
1、分布式监控,天生具有的功能,适合于构建分布式监控系统,具有node,proxy2种分布式模式
2、自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分组,自动化运维工具搭配,puppet+zabbix,或者saltstack+zabbix,那是如鱼得水
3、自定义监控比较方便,自定义监控项非常简单,支持变量,支持low level discovery
4、提供api功能,二次开发方便,你可以选用zabbix来进行二次深度开发,结合cmdb资产管理系统,业务管理系统,从而使你的自动化运维系统达到新的高度。
5、all in one,报警,图形全部整合再一起,不用整合一堆插件,正是我不太喜欢Nagios的缘故,往往在各个插件的配置中损失了不少时间
6、其他理由在使用的过程中慢慢发掘吧。。。
安装步骤
这东西官网的文档早就是现成的了,这里加上自己的话整理如下
1、安装
这东西官网的文档早就是现成的了,这里加上自己的话整理如下
组件描述:
zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据以及操作数据均有其组织进行
database storage:专门用于存储所有的配置信息,以及zabbix收集的数据
web interface:zabbix的GUI接口,通常与server运行在同一台主机上
proxy:可选组件,常用于分布监控环境中,代理server收集部分被监控端的监控数据并统一发往server端
agent:部署在被监控主机上,负责收集本地数据并发往server端或者proxy端
术语:
主机(host):要监控的网络设备,可以由IP或者DNS名称指定
主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接
监控项(item):一个特定指标的相关数据,这些数据来自于被监控对象,每个item都由“key”进行标识
触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值
事件(event):即发生的一个值得关注的事情,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等
动作(action):指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)
报警升级(escalation):发送警报或者执行远程命令的自定义方法,如每隔5分钟发送一次报警,共发送5次等。
媒介(media):发送手段或者渠道,如email,jabber或者SMS等
通知(notification):通过选定的媒介向用户发送的有关某事件的信息
各组件依赖
zabbix.x86_64 //核心包,server端或者agent端都需要
zabbix-agent.x86_64 //agent端包
zabbix-java-gateway.x86_64
zabbix-proxy.x86_64
zabbix-proxy-mysql.x86_64
zabbix-proxy-pgsql.x86_64
zabbix-proxy-sqlite3.x86_64
zabbix-sender.x86_64 //agent端主动发送报文至server端
zabbix-server.x86_64 //server端
zabbix-server-mysql.x86_64 //server端连接mysql工具
zabbix-server-pgsql.x86_64 //server端链接pgsql工具
zabbix-web.noarch //web界面
zabbix-web-japanese.noarch
zabbix-web-mysql.noarch //web端连接mysql工具
zabbix-web-pgsql.noarch //web端链接pgsql工具
所以
server需要安装:zabbix、zabbix-server、zabbix-server-mysql,zabbix-get
agent需要安装:zabbix、zabbix-agent、zabbix-sender
web端:zabbix-web、zabbix-web-mysql
2、zabbix server installaction
step1:系统环境
Distribution : CentOS 6.5 minimal
zabbix version : 2.2
Init system : sysvinit
Database : MySQL Additional
Notes : In order to get a proper Ruby setup we build it from source
step2:before installing
1. 关闭selinx 2. 时间同步
step3:安装步骤包括如下内容
-Install the base operating system (CentOS 6.5 Minimal) and Packages / Dependencies
-Database
-zabbix-server
-zabbix-agent
step4:安装zabbix提供的yum源
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
step5:zabbix包
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix zabbix-server zabbix-web zabbix-get
step6:mysql中创建zabbix库和用户.
/etc/init.d/mysqld start
mysql_secure_installation
mysql -uroot
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> exit
step7:导入初始schema和data
cd /usr/share/doc/zabbix-server-mysql-2.2.2/create
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql
step8:启动zabbix
#Edit database configuration in zabbix_server.conf
#vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
#Start Zabbix server process.
/etc/init.d/zabbix-server start
chkconfig zabbix-server on
#zabbix server监听端口10051
step9:编辑zabbix前段的php页面展示参数
#Apache configuration file for Zabbix frontend is located in /etc/httpd/conf.d/zabbix.conf. Some PHP settings are alreadyconfigured.
#vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
#It's necessary to uncomment the “date.timezone” setting and set the right timezone for you. After changing the configuration file restart the apache web server.
php_value date.timezone Asia/Shanghai
具体查看时区的话可以查看这个地址 http://www.php.net/manual/en/timezones.asia.php
/etc/init.d/httpd restart
step10:浏览器中启动安装
Zabbix frontend is available at http://zabbix-frontend-hostname/zabbix in the browser.
Default username/password is Admin/zabbix.
3、zabbix agent安装
step1:install zabbix official repository
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
step2:install zabbix packages
yum install -y zabbix-agent zabbix zabbix-sender
step3:add monitor server ip
sed -i 's#^\(Server=\).*#\1server ip#' /etc/zabbix/zabbix_agentd.conf
sed -i 's#^\(Hostname=\).*#\1server name#' /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent start
#zabbix agent监听端口10050