Zabbix分布式集群监控
1.监控对象
1、分布式文件系统HDFS
2、分布式离线计算框架MapReduce
3、分布式流式计算框架Storm
4、分布式消息队列KafKa
5、分布式内存计算框架Spark
6、分布式列式数据库Hbase
2.常见分布式企业级监控?
1、Ganglia(无界面配置部署)/没有(电话,短信,微信,邮件)通知功能
2、Nagios(无界面配置部署)
3、Zabbix(界面配置部署)/企业中用的比较多
3.Zabbix介绍
zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix由两部分构成,zabbix server与可选组件zabbix agent
4.Zabbix特点
支持多语言(包括中文)
免费开源
主动发现服务器与网络设备
分布式监视以及web集中管理功能
可无agent监视
用户安全认证和柔软的授权方式
通过web界面设置或查看监视结果
email等通知功能,并且兼容各种通知(电话,短信,微信,邮件等等)
5.Zabbix安装部署
1、安装环境:两台以上的监控目标集群
2、先决条件:
YUM
PHP
MYSQL
HTTP-SERVER
3、安装Zabbix-server:选择监控目标集群中任意一台机器作为Zabbix的server端
4、将Zabbix的数据库文件导入到zabbix数据库中
5、编辑zabbix-server配置文件
6、安装zabbox Agent(在所有监控目标机器上安装)
7、配置zabbix-agent配置文件
8、启动zabbix-server和所有的zabbix-agent
9、通过网页打开http://zabbix-server-IP/,然后进行WEB配置
5.1.安装zabbix Server软件包
[root@node01 modules]# rpm -ql php
rpm -qa | grep php
rpm -qa | grep mysql
[root@node01 ~]# groupadd -r zabbix
[root@node01 ~]# useradd -g zabbix -s /sbin/nologin zabbix
rpm -ql zabbix
[root@node01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
[root@node02 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
[root@node03 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
[root@node04 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
5.2.安装Zabbix-server:选择监控目标集群中任意一台机器作为Zabbix的server端
[root@node01 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql
5.3.安装mysql
[root@node01 ~]# yum -y install mysql-server mysql-devel
5.4.启动mysql
[root@node01 ~]# service mysqld start
[root@node01 ~]# mysql
mysql> show databases;
%(除了localhost之外的客户端也可以登录进来)
grant all on *.*(所有库所有表) to zabbix(用户名)@'localhost' identified by '123456';
mysql> grant all on *.* to zabbix@'localhost' identified by '123456';
mysql> grant all on *.* to zabbix@'%' identified by '123456';
mysql> flush privileges
mysql> create database zabbix;
mysql> use zabbix;
[root@node01 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create
[root@node01 create]# ls
data.sql images.sql schema.sql
5.5.将Zabbix的数据库文件导入到zabbix数据库中
[root@node01 create]# mysql -uroot zabbix < schema.sql
[root@node01 create]# mysql -uroot zabbix < images.sql
[root@node01 create]# mysql -uroot zabbix < data.sql
5.6.编辑zabbix-server配置文件
[root@node01 ~]# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost(数据库所在节点ip)
DBName=zabbix(数据名称)
5.7.启动httpd服务
PHP文件存放目录
[root@node01 ~]# cd /usr/share/zabbix
[root@node01 zabbix]# vi include/locales.inc.php
[root@node01 share]# pwd
/usr/share
[root@node01 share]# cp -a zabbix/ /var/www/html/
[root@node01 share]# cd /var/www/html/
[root@node01 html]# ll
total 24
-rw-r--r--. 1 root root 15142 Jan 11 18:35 conf.php
-rw-r--r--. 1 root root 31 Jan 11 18:22 info.php
drwxr-xr-x. 10 root root 4096 Jan 11 21:13 zabbix
[root@node01 html]# service httpd start
5.8.启动zabbix-server服务
[root@node01 html]# service zabbix-server start
5.9.安装Zabbix Agent
1、当前server所在的机器
2、其他监控目标机器
[root@node01 ~]# yum -y install zabbix-agent
[root@node02 ~]# yum -y install zabbix-agent
[root@node03 ~]# yum -y install zabbix-agent
[root@node04 ~]# yum -y install zabbix-agent
5.10.启动zabbix-agent服务
[root@node01 ~]# service zabbix-agent start
[root@node02 ~]# service zabbix-agent start
[root@node03 ~]# service zabbix-agent start
[root@node04 ~]# service zabbix-agent start
5.11.查看启动服务情况
[root@node01 ~]# netstat -ntpl(tcp/udp监听)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.230.10:8019 0.0.0.0:* LISTEN 1785/java
tcp 0 0 192.168.230.10:8020 0.0.0.0:* LISTEN 1543/java
tcp 0 0 192.168.230.10:50070 0.0.0.0:* LISTEN 1543/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1065/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1141/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4599/zabbix_agentd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4132/mysqld
tcp 0 0 :::80 :::* LISTEN 4400/httpd
tcp 0 0 :::22 :::* LISTEN 1065/sshd
tcp 0 0 ::ffff:192.168.230.10:8088 :::* LISTEN 1922/java
tcp 0 0 ::1:25 :::* LISTEN 1141/master
tcp 0 0 ::ffff:192.168.230.10:8030 :::* LISTEN 1922/java
tcp 0 0 ::ffff:192.168.230.10:8031 :::* LISTEN 1922/java
tcp 0 0 ::ffff:192.168.230.10:8032 :::* LISTEN 1922/java
tcp 0 0 ::ffff:192.168.230.10:8033 :::* LISTEN 1922/java
tcp 0 0 :::10050 :::* LISTEN 4599/zabbix_agentd
5.12.通过网页打开http://zabbix-server-IP/,然后进行WEB配置
http://192.168.230.10/zabbix/setup.php
5.13.修改php timezone
[root@node01 ~]# ls /etc/httpd/conf.d/
ganglia.conf php.conf README welcome.conf zabbix.conf
[root@node01 conf.d]# vi zabbix.conf
php_value date.timezone Asia/Shanghai
[root@node01 conf.d]# service httpd restart
[root@node01 conf.d]# service zabbix-server restart
[root@node01 conf.d]# service zabbix-agent restart
5.14.登录Zabbix
zabbix默认用户名是Admin
默认密码是zabbix
6.Zabbix整合百度告警
zabbix监控平台监测到问题通过百度的告警平台打电话、发信息给你
1、装备工作
注册百度告警账号
拥有Zabbix-Server管理权限
2、配置联系方式
3、配置升级策略
4、查看服务管理的ID,KEY