热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Grafana+Zabbix---部署分布式监控系统

阅读目录:1.关闭防火墙2.安装Zabbix下载源3.ZabbixClient---安装zabbix-agent代理4.ZabbixServer---

阅读目录:

1. 关闭防火墙

2. 安装Zabbix下载源

3. ZabbixClient  --- 安装zabbix-agent代理

4. ZabbixServer --- 安装zabbix-server服务

5. ZabbixServer --- 配置zabbix-server的数据库

6. ZabbixServer --- 配置zabbix-server的服务参数

7. ZabbixServer --- 使用zabbix-server

8. 登录Zabbix的Web端

9. 在Web配置zabbix监控agent

10. 安装Grafana以及Zabbix插件

11. 登录Grafana并且配置

序章:

        Zabbix的一个很优秀的分布式监控服务器, 它有两部分组成:

1. “zabbix-server”用来收集并且在web端展示数据

2. “zabbix-agent”用来采集数据,发送给server

 

        在安装Zabbix时,用了3台虚拟机来测试监控的数据是否正常采集、展示:

Server:

ZabbixServer --- IP : 192.168.246.133

Client:

ZabbixClient_1 --- IP : 192.168.246.134

ZabbixClient_2 --- IP : 192.168.246.135

 

1. 关闭防火墙

        Linux的防火墙是咱们新手的噩梦,很多情况会出现能ping通,但是访问不了Web页面。所以开始就干掉它!

// 关闭防火墙
[root@localhost ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]

// 开机关闭防火墙
[root@localhost ~]# chkconfig iptables off

 

2. 安装Zabbix下载源

        zabbix官方提供了下载源,直接执行下面命令,下载安装就可以了

# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        提示安装成功后,查看Linux下载源,是否正确安装,如果安装成功,Linux下会有zabbix.repo源文件

 
[root@localhost Desktop]# ll /etc/yum.repos.d/
total
28
-rw-r--r--. 1 root root 1991 Aug 4 00:13 CentOS-Base.repo
-rw-r--r--. 1 root root 647 Aug 4 00:13 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 Aug 4 00:13 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Aug 4 00:13 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug 4 00:13 CentOS-Vault.repo
-rw-r--r--. 1 root root 401 Sep 11 2014 zabbix.repo
 

3. ZabbixClient --- 安装zabbix-agent代理

       分别在ZabbixClient_1与ZabbixClient_2安装并配置如下设置:

       关闭防火墙

[root@localhost Desktop]# /etc/init.d/iptables stop
[root@localhost Desktop]# chkconfig iptables off

 

        安装Zabbix官方下载源

[root@localhost Desktop]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        安装zabbix-agent,在下载的时候,会自动安装zabbix-agent的基础依赖包

[root@localhost Desktop]# yum install zabbix-agent

 

        进入zabbix-agent的Config文件

[root@localhost Desktop]# vim /etc/zabbix/zabbix_agentd.conf

 

        配置zabbix-agent的参数,主要修改Server的IP和Hostname,

Server=192.168.246.133
Hostname
=localhost

 

      启动zabbix-agent

[root@localhost Desktop]# /etc/init.d/zabbix-agent start

 

4. ZabbixServer --- 安装zabbix-server服务

       关闭防火墙

[root@localhost Desktop]# /etc/init.d/iptables stop
[root@localhost Desktop]# chkconfig iptables off

 

        安装Zabbix官方下载源

[root@localhost Desktop]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        通过zabbix提供的下载源,下载并安装zabbix-server-mysql和zabbix-web-mysql,这个两个mysql数据库是用来存放采集到的数据,Zabbix的web端会通过这些数据,来展示绘图。而zabbix-get则是用来收集数据的指令。

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

        在下载这两个包的时候,会提示你安装基础依赖包,其中这些基础包中,还有zabbix-server的服务端的包,选择“y”继续即可。

// 以下是需要安装的基础依赖包
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
zabbix
-server-mysql x86_64 2.4.6-1.el6 zabbix 1.5 M
zabbix
-web-mysql noarch 2.4.6-1.el6 zabbix 14 k
Installing for dependencies:
OpenIPMI
-libs x86_64 2.0.16-14.el6 base 473 k
fping x86_64
2.4b2-16.el6 zabbix-non-supported 31 k
iksemel x86_64
1.4-2.el6 zabbix-non-supported 47 k
net
-snmp x86_64 1:5.5-54.el6_7.1 updates 308 k
php
-bcmath x86_64 5.3.3-46.el6_6 updates 39 k
php
-mbstring x86_64 5.3.3-46.el6_6 updates 459 k
php
-mysql x86_64 5.3.3-46.el6_6 updates 86 k
zabbix x86_64
2.4.6-1.el6 zabbix 161 k
zabbix
-server x86_64 2.4.6-1.el6 zabbix 22 k
zabbix
-web noarch 2.4.6-1.el6 zabbix 4.5 M
Updating for dependencies:
net
-snmp-libs x86_64 1:5.5-54.el6_7.1 updates 1.5 M
php x86_64
5.3.3-46.el6_6 updates 1.1 M
php
-cli x86_64 5.3.3-46.el6_6 updates 2.2 M
php
-common x86_64 5.3.3-46.el6_6 updates 529 k
php
-gd x86_64 5.3.3-46.el6_6 updates 111 k
php
-pdo x86_64 5.3.3-46.el6_6 updates 79 k
php
-xml x86_64 5.3.3-46.el6_6 updates 107 k

Transaction Summary
================================================================================

 

5. ZabbixServer --- 配置zabbix-server的数据库

        启动mysql,我的CentOS在安装的时候,就把mysql的软件给安装了,如果没有mysql,则需要去安装mysql,我这里就直接启动mysql就可以了

# /etc/init.d/mysqld start

 

        成功启动mysql的话,输入mysql,就可以进入mysql的命令行了。进入命令行,创建zabbix数据库

[root@localhost ~]# mysql
mysql
> create database zabbix;
Query OK,
1 row affected (0.00 sec)

 

        在mysql中,查看刚刚创建的zabbix是否创建成功,如下图数据库中,有zabbix代表已经创建成功

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| zabbix |
+--------------------+
4 rows in set (0.00 sec)

 

        接下要要执行zabbix官方提供是sql语句。在安装基础依赖包的时候,已经在文件里面了。现在可以直接执行

[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/
[root@localhost create]# mysql
-uroot zabbix < schema.sql
[root@localhost create]# mysql
-uroot zabbix < images.sql
[root@localhost create]# mysql
-uroot zabbix

 

6. ZabbixServer --- 配置zabbix-server的服务参数

        配置在以下路径里面 :

# vim /etc/zabbix/zabbix_server.conf

 

        如果没有特殊需要的话,使用默认配置就可以了,我的mysql账户是root,所以需要修改DBuser

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize
=0
PidFile
=/var/run/zabbix/zabbix_server.pid
DBName
=zabbix
DBUser
=root
DBSocket
=/var/lib/mysql/mysql.sock
StartPollers
=5
CacheSize
=256M
SNMPTrapperFile
=/var/log/snmptt/snmptt.log
AlertScriptsPath
=/usr/lib/zabbix/alertscripts
ExternalScripts
=/usr/lib/zabbix/externalscripts

 

        修改zabbix的时区,有些系统并不是北京时间,如果是国外的时间,在展示出来的图的时间就是错的,为了保守起见,设置一下zabbix的时区

# vim /etc/httpd/conf.d/zabbix.conf

 

        修改以下字段

php_value date.timezone Asia/Shanghai

 

        修改zabbix的php的时区

# vim /etc/php.ini

 

        修改以下字段

date.timezOne= Asia/Shanghai

 

        启动Zabbix服务,启动httpd:

[root@localhost create]# /etc/init.d/zabbix-server start
[root@localhost create]#
/etc/init.d/httpd start

 

7. 使用zabbix-get

        安装好了zabbix-agent和zabbix-server。在Server端试试能不能收到agent端的数据,可以使用zabbix-get。在安装mysql的时候,已经将zabbix-get安装过了。可以使用zabbix_get -help命令来查看该命令怎么使用

[root@localhost create]# zabbix_get -help
Zabbix get v2.
4.6 (revision 54796) (10 August 2015)

usage: zabbix_get [
-hV] -s or IP> [-p ] [-I ] -k

Options:
-s --host or IP> Specify host name or IP address of a host
-p --port Specify port number of agent running on the host. Default is 10050
-I --source-address Specify source IP address

-k --key Specify key of item to retrieve value for

-h --help Display help information
-V --version Display version number

Example: zabbix_get
-s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"

 

        测试是否能收到数据,使用以下命令,发现是可以收到的。

// 测试是否可以收到系统的信息
[root@localhost create]# zabbix_get -s 192.168.246.134 -p 10050 -k "system.uname"
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64

// 测试是否可以收到CPU的数据
[root@localhost create]# zabbix_get -s 192.168.246.134 -p 10050 -k "system.cpu.load"0.020000

 

8. 登录Zabbix的Web端

        在Server端,启动Zabbix服务,启动httpd:

[root@localhost create]# /etc/init.d/zabbix-server start
[root@localhost create]#
/etc/init.d/httpd start

 

        登录Zabbix的Web客户端,在浏览器中输入“http://192.168.246.133/zabbix/index.php”,默认会跳转至Zabbix的setup引导页面:

image

        点击Next

image

        点击Next

image

        点击Test connection,否则无法点击Next,  测试连接成功后,点击Next

image

        设置端口,可以直接使用默认设置的端口10051

image

        点击Next

image

        点击Next

image

        点击Finish,完成初始化引导

image

        输入默认的账号密码,账号:admin, 密码zabbix

image

9. 在Web配置zabbix监控agent

        点击下图的Create host

var cpro_id = "u6885494";

推荐阅读
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
author-avatar
你不懂_de_笑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有