Zabbix分布式集群监控

发布 : 2016-10-02 分类 : 大数据 浏览 :

Zabbix分布式集群监控

1.监控对象

1
2
3
4
5
6
1、分布式文件系统HDFS
2、分布式离线计算框架MapReduce
3、分布式流式计算框架Storm
4、分布式消息队列KafKa
5、分布式内存计算框架Spark
6、分布式列式数据库Hbase

2.常见分布式企业级监控?

1
2
3
1、Ganglia(无界面配置部署)/没有(电话,短信,微信,邮件)通知功能
2、Nagios(无界面配置部署)
3、Zabbix(界面配置部署)/企业中用的比较多

3.Zabbix介绍

1
2
zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
zabbix由两部分构成,zabbix server与可选组件zabbix agent

4.Zabbix特点

1
2
3
4
5
6
7
8
支持多语言(包括中文)
免费开源
主动发现服务器与网络设备
分布式监视以及web集中管理功能
可无agent监视
用户安全认证和柔软的授权方式
通过web界面设置或查看监视结果
email等通知功能,并且兼容各种通知(电话,短信,微信,邮件等等)

5.Zabbix安装部署

1
2
3
4
5
6
7
8
9
10
11
12
13
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软件包

1
2
3
[root@node01 modules]# rpm -ql php
rpm -qa | grep php
rpm -qa | grep mysql
1
2
3
[root@node01 ~]# groupadd -r zabbix
[root@node01 ~]# useradd -g zabbix -s /sbin/nologin zabbix
rpm -ql zabbix
1
2
3
4
[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

Markdown

5.2.安装Zabbix-server:选择监控目标集群中任意一台机器作为Zabbix的server端

1
[root@node01 ~]# yum -y install zabbix-server-mysql zabbix-web-mysql

Markdown

5.3.安装mysql

1
[root@node01 ~]# yum -y install mysql-server mysql-devel

Markdown

5.4.启动mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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;
1
2
3
[root@node01 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create
[root@node01 create]# ls
data.sql images.sql schema.sql

Markdown

5.5.将Zabbix的数据库文件导入到zabbix数据库中

1
2
3
[root@node01 create]# mysql -uroot  zabbix < schema.sql
[root@node01 create]# mysql -uroot zabbix < images.sql
[root@node01 create]# mysql -uroot zabbix < data.sql

Markdown

5.6.编辑zabbix-server配置文件

1
2
3
4
[root@node01 ~]# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost(数据库所在节点ip)
DBName=zabbix(数据名称)

Markdown

5.7.启动httpd服务

1
2
3
PHP文件存放目录
[root@node01 ~]# cd /usr/share/zabbix
[root@node01 zabbix]# vi include/locales.inc.php

Markdown

1
2
3
4
5
6
7
8
9
10
[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 root31 Jan 11 18:22 info.php
drwxr-xr-x. 10 root root 4096 Jan 11 21:13 zabbix
[root@node01 html]# service httpd start

Markdown

5.8.启动zabbix-server服务

1
[root@node01 html]# service zabbix-server start

Markdown

5.9.安装Zabbix Agent

1
2
3
4
5
6
7
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服务

1
2
3
4
[root@node01 ~]# service zabbix-agent start
[root@node02 ~]# service zabbix-agent start
[root@node03 ~]# service zabbix-agent start
[root@node04 ~]# service zabbix-agent start

Markdown

5.11.查看启动服务情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@node01 ~]# netstat -ntpl(tcp/udp监听)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp0 0 192.168.230.10:8019 0.0.0.0:* LISTEN 1785/java
tcp0 0 192.168.230.10:8020 0.0.0.0:* LISTEN 1543/java
tcp0 0 192.168.230.10:500700.0.0.0:* LISTEN 1543/java
tcp0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1065/sshd
tcp0 0 127.0.0.1:250.0.0.0:* LISTEN 1141/master
tcp0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4599/zabbix_agentd
tcp0 0 0.0.0.0:33060.0.0.0:* LISTEN 4132/mysqld
tcp0 0 :::80 :::*LISTEN 4400/httpd
tcp0 0 :::22 :::*LISTEN 1065/sshd
tcp0 0 ::ffff:192.168.230.10:8088 :::*LISTEN 1922/java
tcp0 0 ::1:25 :::*LISTEN 1141/master
tcp0 0 ::ffff:192.168.230.10:8030 :::*LISTEN 1922/java
tcp0 0 ::ffff:192.168.230.10:8031 :::*LISTEN 1922/java
tcp0 0 ::ffff:192.168.230.10:8032 :::*LISTEN 1922/java
tcp0 0 ::ffff:192.168.230.10:8033 :::*LISTEN 1922/java
tcp0 0 :::10050:::*LISTEN 4599/zabbix_agentd

Markdown

5.12.通过网页打开http://zabbix-server-IP/,然后进行WEB配置

1
http://192.168.230.10/zabbix/setup.php

Markdown

Markdown

Markdown

5.13.修改php timezone

1
2
3
4
[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

Markdown

1
2
3
[root@node01 conf.d]# service httpd restart
[root@node01 conf.d]# service zabbix-server restart
[root@node01 conf.d]# service zabbix-agent restart

Markdown

Markdown

Markdown

Markdown

Markdown

Markdown

5.14.登录Zabbix

1
2
zabbix默认用户名是Admin
默认密码是zabbix

Markdown

Markdown

6.Zabbix整合百度告警

1
2
3
4
5
6
7
8
zabbix监控平台监测到问题通过百度的告警平台打电话、发信息给你

1、装备工作
注册百度告警账号
拥有Zabbix-Server管理权限
2、配置联系方式
3、配置升级策略
4、查看服务管理的ID,KEY

Markdown

Markdown

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2016/10/02/Zabbix分布式集群监控/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹