Grafana3.0.1+Zabbix3.0.4监控系统平台搭建
前言
- 本文的Zabbix部分知识只介绍它的基础安装,Zabbix的使用以及配置优化并不在本文的介绍范围之内。
- 本文只介绍在CentOS6系列下的安装和部署,其他发行版与其他版本号暂不涉及
- 本文默认使用MySQL作为后端数据库支持
CentOS 6.x 基础环境配置部分
基础环境介绍
- CentOS 6.7 64bit
- 8CPU
- 1G Mem
- MySQL InnoDB
基础依赖环境配置
Apache
1.Zabbix官方文档要求Apache的版本要在1.3.12之后
1 |
shell> yum install httpd -y |
我这里已经安装了httpd 2.2
版本,符合官方文档中的要求
2.启动httpd服务,并设置为开机自动启动
1 |
shell> service httpd start |
PHP
PHP的版本要求在5.4以上,但Linux 6.x系统自带repo中的PHP版本是5.3.3 不符合Zabbix官方文档的要求,需要使用Remi repo来安装更高版本的PHP
配置Remi Repo来安装高版本的PHP
1.下载Remi
1 |
shell> yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm |
2.配置Remi
1 |
使用习惯的文本编辑器(如 vim)打开 Remi 源配置文件 /etc/yum.repos.d/remi.repo |
3.安装PHP
1 |
shell> yum install --enablerepo=remi php php-gd |
因为php-gd和php版本可能有依赖,所以php-gd这个扩展也使用remi这个repo来安装
如果出现
Requires: libt1.so.5()(64bit)
这个报错,可以参考 http://docs.20150509.cn/2016/03/02/Requires-libt1-so-5-64bit/ 这篇文章解决
4.根据Zabbix官方文档需求安装PHP扩展
1 |
shell> yum install php-bcmath php-ctype php-xml php-xmlreader php-xmlwriter php-session php-net-socket php-gettext php-mbstring php-gettext php-ldap php-mysql |
Server
根据官方文档的要求,需要在服务器中安装一下软件支持
1 |
shell> yum install OpenIPMI OpenIPMI-devel libssh2 libssh2-devel fping libcurl libxml2 libxml2-devel net-snmp |
MySQL
官方文档要求MySQL的版本要在5.0.3以上,CentOS 6.7默认的repo里提供的MySQL版本为5.1.73 符合官方文档要求
1 |
shell> yum install mysql mysql-server mysql-devel |
Zabbix安装部分
Zabbix 3.0的安装参考了官方文档中源码编译安装的方式,软件包的方式比较简单,大家可以参考官方文档自行试验,时间关系,这里暂不介绍rpm包的安装方式,后续有时间会补充提供这种安装方式的说明
源码安装的方式
下载Zabbix 3.0源码包并解压
Zabbix 3.0 源码官方下载地址: http://www.zabbix.com/download.php
选择Zabbix Sources
下的Zabbix 3.0 LTS
进行下载
1 |
shell> tar -zxvf zabbix-3.0.0.tar.gz #解压缩 |
创建用户及组
1 |
shell> groupadd zabbix |
创建Zabbix数据库
1 |
shell> mysql -uroot -p<password> |
编译安装Zabbix Server和Zabbix Agent
1 |
shell> ./configure --help #可以查看编译的参数项 |
其他组件安装参考:
1 |
shell> ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2 #Zabbix Proxy安装参数参考 |
编辑配置文件
如果Server与Agent采用了AIO(All In One)的部署方式,作为测试,Agent的配置文件可以不修改
接下来修改Server的配置文件
1 |
shell> vim /usr/local/etc/zabbix_server.conf |
启动服务
1 |
shell> zabbix_server #启动Zabbix Server |
启动其他服务:
1 |
shell> zabbix_proxy #启动Zabbix Proxy |
安装Zabbix网站页面接口
1 |
shell> mkdir /var/www/html/zabbix |
配置Zabbix
- 在浏览器中打开如下网址: http://server_ip_or_name/zabbix
在打开的页面中看到“Welcome to Zabbix 3.0”几个大字就算成功了一半了!点击
Next step
第二个页面
Check of pre-requisites
会检查PHP的一些配置参数(第一列是变量名;第二列是PHP配置文件实际值;第三项是Zabbix强制要求的最低值或固定值),默认情况下这个页面所有的检查项应该都是“OK”的,如果有红色的错误项,根据前面提示的变量名,去找PHP的配置文件,修改成“REQUIRED”要求的值就可以啦(默认PHP的配置文件/etc/php.ini
)第三个页面
Configure DB connection
这一步骤会去尝试连接数据库。第一项数据库类型选择MySQL
;DB Host 保持默认的localhost
(因为这里采用了AIO的安装方式,数据库没有单独分离);DB Port修改成3306
;DB Name:zabbix
; User:zabbix
;Password:zabbix
。点击Next step
如果出现报错,根据报错信息排查是否是配置错误(这些配置都是在前面设置过的,3306是MySQL默认的端口号)第四个页面
Zabbix server details
保持默认的Host:localhost
和Port:10051
配置即可,Name可以自定义设置,为这套监控系统起个名字第五个页面
Pre-installation summary
总览一下前面所有的配置Next step
第六个页面
Install
我在进入到这个页面后,出现了报错,提示Can not create the configuration file
下方官方也给出了手动解决这个问题的方法。按照提示,第一步点击给出的连接,下载zabbix官方提供的配置文件;第二步,根据提示,放在指定的位置保存为指定的文件,我这里提示保存为:/usr/share/zabbix/conf/zabbix.conf.php
按照提示操作完成后点击Finis
h如果上面配置的都没有问题,第七个页面将会出现
congratulations! ...
点击Finish
第八个页面将会出现登陆页面,默认的登陆用户名为
Admin
密码为zabbix
Zabbix的使用简介
进入到Zabbix首页后,会发现3.0版本与之前的2.x版本的界面相比焕然一新,更养眼了,对解决2.x版本的审美疲劳起到了一定的作用。当然这只是最肤浅的外貌协会成员的结论,除了颜值高了,Zabbix还有50余项技术更新,变得愈发强大了~~~
- 在
Configuation
–>Hosts
–>status
中,将Disabled
变成Enabled
状态,稍等片刻,如果Zabbix Agent启动正常的话,ZBX
的图标就会亮起,表示Server与Agent之间通信正常 - 监控首页会是如下状态(各个模块可以拖拽移动布局)
- 再瞅一眼监控图表的效果~
那么问题来了,虽然3.0换了一层扁平简约的外观,但是图表展示还是一样的丑……为了解决这个问题,Grafana可以帮上大忙,接下来的部分就详细介绍如何使用Grafana给Zabbix监控图表披上一层华丽的外衣
RPM包安装方式
略
Grafana安装部分
截止至我写这篇文档的时候,Grafana的最新版本是2.6.0
而Grafana原生是不支持获取Zabbix数据的,需要通过grafana-zabbix插件来实现,grafana-zabbix插件的最新版本是2.5.1,github上写的很清楚,该插件服务于Grafana的2.5版本。经过测试,成功在2.6.0的Grafana上使用了grafana-zabbix的2.5.1版本。所以这里你可以任意选择2.5或2.6版本的Grafana来安装。
Grafana的下载及安装
1 |
shell> yum install https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0-1.x86_64.rpm #这里只提供了yum的安装方式,其他安装方式可以参考附录中的Grafana官方安装文档 |
Grafana Zabbix插件的下载及安装
1 |
#https://github.com/alexanderzobnin/grafana-zabbix/releases/latest #请到该网址下载2.5.1版本的grafana-zabbix插件 |
Grafana + Zabbix联通部分
- 在浏览器地址栏输入
http://IP:3000
就可以看到Grafana的登陆页面了。输入默认的用户名admin
密码admin
登陆 - 点击左侧的
Data Sourses
–>Add new
- Type下拉框中选择
Zabbix
- Name 可以自由发挥~~
- Http settings–>Url 填入
http://zabbix-server-ip/zabbix/api_jsonrpc.php
这里填入的是Zabbix API接口 - Http settings–>Access 选择
direct
使用直接访问的方式 - Zabbix API details–>User 填入
Admin
- Zabbix API details–>Password 填入
zabbix
- 点
Save
保存后再编辑,出现Test Connection
按钮,点击可测试API配置是否正确。出现:Success Zabbix API version: 3.0.0 配置成功
- Type下拉框中选择
Grafana配置部分
至此仅差最后一步,将Zabbix的数据读取到Grafana来以图表展示,就打完收工啦!
- 点击左侧的
Dashboards
–>Home
–>在下拉菜单的底部选择+ New
。这时新的页面中默认出现一个空的横行图表,左上角有绿色的竖线,右下角有+ ADD ROW
添加新行的按钮。 - 鼠标放在左上角的绿色竖线上,点击后弹出一个菜单,选择
Add Panel
。下面有五个选项,下面选择四个常用的分别介绍 - 记得点击上面的
保存
按钮以保存新建的页面
Graph
这个选项是创建一个图表,类似于Zabbix的监控图表,是最常用的类型之一。
- General-Title:设置该图表的名称
- Metrics:在该项的右下角,选择正确的数据源(之前在Data Sources配置的Name)
- Metrics-Group/Host/Application/Item:这些项目是必填项目,需要依次下拉选择
如果一张图需要展现两条线的数据,可以在左下角点击+ Query
- Display Styles-Chart Options:这里可以选择以
竖线
展示,以折线
展示或以点
来展示数据
Table
表格展示,类似于Excel表格的展现形式
- 点击
- +
号可以调整该模块的大小(横向伸缩) - 点击
Edit
可以重新编辑该模块的数据源
Single stat
单统计模块,从字面意思就可以知道,该种模块仅可以展示一种数据,统计一种数据。这里需要重点说明就是Option
选项下的参数
以统计磁盘使用大小一项来举例
- Unit:要选择
data
下的bytes
单位来统计 - Decimals:小数设置保持默认的auto即可
- Coloring:这里可以选择渲染背景色或字体色
- Colors控制着三个颜色,可以自由发挥,一般绿色代表正常,黄色代表预警,红色代表警告
- Thresholds可以设置以逗号分隔的三个数字,分别表示三个状态的阈值
- Spark lines有两种显示模式,
Show
会在数据的下方展示折线;Background mode
会在整个模块的背景展示折线
Text
这个模块很好理解,就是一个现实文字的模块,支持markdown语法,可以放在每个页面的头部,标记当前图表信息的归类。
Dashboards list
这个模块是用来展示页面列表用的。举个例子,如果一个监控系统中,涉及到了多个页面展示监控图表,就会用到这个功能,这个模块会列出你需要展示的页面的列表,方便在当前页面中,快速的切换到其他监控页面。
最终效果图
页面自动刷新
点击右上角Last 6 hours
, 在弹出的下拉框中,选择Time range
下的Refreshing every
选项,点击下拉框按钮,默认应该有off
和1m
两个选项。点击1m
然后Apply
设置。即为每一分钟刷新一次数据的意思。设置成功后,在原来Last 6 hours
的后面会出现Refresh every 1m
的橙色文字!
附录:参考文档
Grafana3.0.1+Zabbix3.0.4监控系统平台搭建的更多相关文章
- PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 安装
PHP 5.5.38 + mysql 5.0.11 + zabbix3.0 + nginx 1.首先在安装好环境下安装 zabbix3.0情况下 2. yum install mysql-devel ...
- 自动化监控系统(三) 搭建xadmin做网站后台
Django有个自带的admin后台,不过界面不怎么好看,这里我用xadmin 我的python版本是3.5,可以使用支持py3的xadmin:https://github.com/sshwsfc/x ...
- JavaCV 树莓派打造监控系统平台
使用树莓派搭建视频监控平台去年就简单的实现了,只不过功能比较简陋,最近抽时间重构了原来的平台. 环境搭建 环境部分,参考旧版的安装及配置: 树莓派搭建视频监控平台 树莓派视频监控平台实现录制归档 框架 ...
- cacti和nagios监控web平台搭建
在linux的运维中对服务器的监控,时刻了解服务器的状态是确保服务能够正常允许的条件,linux的服务监控平台有很多, cacti 下面对cacti(仙人掌),一种比较流行的开源监控软件做安装配置 具 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(1)
分布式监控系统Zabbix-3.0.3的安装记录 环境说明zabbix-server:192.168.1.30 #zabbix的服务端(若要监控本机,则需要配置本机的Zabbix agent, ...
- [Zabbix3.0 ]添加Nginx监控
通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加key信息等,然后在Server端配置Nginx的监控 ...
- zabbix系列(四)Zabbix3.0.4添加对Nginx服务的监控
Zabbix3.0.4添加对Nginx服务的监控 通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加ke ...
- zabbix3.0自动发现磁盘并监控磁盘IO
Zabbix 版本:3.0 操作系统:Ubuntu16.04 操作环境,在被监控的主机上安装zabbix agent.安装方式为源码包安装. 简要安装步骤: 参考:https://www.zabbix ...
- 安装zabbix-3.0.3+nginx-1.10.1+php-5.6.22
好久没有接触监控类的软件了,今天抽空搭建了下最新的版本 首先系统环境 zabbix-server-1 192.168.11.11 centos6.7 mysql-server 192.168 ...
随机推荐
- 月经贴:当落魄的.NET基佬遇上不可一世的JAVA派 developer
事先声明,这篇文章很没有营养,大家当笑话看就好,不要搞骂战污染博客园了谢谢. 背景: .NET(以下简称N)心里想:现在企业级应用.NET用的少,但起码.net的语法特性优美,IDE宇宙最强吧,啧啧. ...
- git从入门到放弃
到你想进行版本控制的文件所在的目录下(该目录即是工作区) 查看状态 git status 初始化 git init 添加到暂存区 git add 提交到版本库 git commit -m " ...
- Java的接口和抽象类
对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用, ...
- Mysql数据库 的库表简易操作
一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8; charset uft8 可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...
- input不可编辑且颜色不变
<input name="ly_qq" type="text" tabindex="2" onMouseOver="this ...
- Javascript经典算法学习1:产生随机数组的辅助类
辅助类 在几个经典排序算法学习部分,为方便统一测试不同算法,新建了一个辅助类,主要功能为:产生指定长度的随机数组,提供打印输出数组,交换两个元素等功能,代码如下: function ArraySort ...
- @EnableDiscoveryClient与@EnableEurekaClient 区别
Eureka依赖: <dependency> <groupId>org.springframework.cloud</groupId> <arti ...
- SpringMVC注解集合
@RequestMapper注解 绑定请求路径与处理方法例如: @RequestMapping("login.do") public String showLogin() { .. ...
- json 平面转树状 child [zhuan]
<script> /** * json格式转树状结构 * @param {json} json数据 * @param {String} id的字符串 * @param {String} 父 ...
- VMware 创建VMware9虚拟机及设置详细教程
创建VMware9虚拟机及设置详细教程 by:授客 QQ:1033553122 1.点击Create a New Virtual Machine图标按钮,或者file->new virtual ...