如何从Zabbix数据库中

如何从Zabbix数据库中,第1张

做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示。Zabbix监控数据主要分为以下两类:

历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据。

趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。

Zabbix可以通过两种方式获取历史数据

1.通过Zabbix前台获取历史数据

通过Zabbix前台查看历史数据非常简单,可以通过Monitoring->Lastest data的方式查看。也可以点击右上角的As plain test按钮保存成文本文件。

2.通过前台获取的数据进行处理和二次查询有很多限制,因此可以通过SQL语句直接从后台DB查询数据。

首先大家应该熟悉SQL语句Select 常用用法:

SELECT [ALL | DISTINCT] Select_List [INTO [New_Table_name]

FROM { Table_name | View_name} [ [,{table2_name | view2_name}

[,…] ]

[ WHERE Serch_conditions ]

[ GROUP BY Group_by_list ]

[ HAVING Serch_conditions ]

[ ORDER BY Order_list [ASC| DEsC] ]

说明:

1)SELECT子句指定要查询的特定表中的列,它可以是*,表达式,列表等。

2)INTO子句指定要生成新的表。

3)FROM子句指定要查询的表或者视图。

4)WHERE子句用来限定查询的范围和条件。

5)GROUP BY子句指定分组查询子句。

6)HAVING子句用于指定分组子句的条件。

7)ORDER BY可以根据一个或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号,ASC表示升序,DESC表示降序。

8)mysql聚合函数:sum(),count(),avg(),max(),avg()等都是聚合函数,当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到Having子句进行判断了,例如聚合函数的值是否大于某一个值等等。

linux下yum install的软件源位置是通过配置文件来配置的,可修改。

/etc/yum.repos.d为本地源位置

配置文件/etc/yum.conf中,详细定义了yum的工作方式和参数。

[root@bspdev etc]# cat /etc/yum.conf

[main] //主配置信息

cachedir=/var/cache/yum //保存缓存和数据库文件的位置

keepcache=0

debuglevel=2 //调试信息输出等级

logfile=/var/log/yum.log //日志位置

distroverpkg=redhat-release //yum使用的RPM包distribution版本;

tolerant=1 //默认为0,如果为1表示当安装多个包是,失败了继续安装其他;

exactarch=1 //精确匹配硬件平台,只有完全相同才更新;

obsoletes=1 //当使用升级模式时,一些包没有用了,可以删除(取值1)

gpgcheck=0 //安装时是否检查RPM包的PGP签名;

plugins=1//Yum插件是否可用

bugtracker_url=http://bugs.centos.org/yum5bug

# Note: yum-RHN-plugin doesn't honor this.

metadata_expire=1h

installonly_limit = 5

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d //定义可选的位置

Yum支持的源地址种类很多,有本地、FTP和Internet等。三种方式的差异仅仅在于客户端访问Yum的方式不同。本篇仅介绍本地Yum源的配置和使用。

2、配置本地Yum源库

目的是在本地目录上建立一个Yum源库,RPM包来自安装光盘。

使用Mount命令,将插入的光盘Mount到Linux的目录结构上。

[root@bspdev /]# mount /dev/cdrom /media //将光盘mount到/media目录上

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@bspdev /]# cd /media

[root@bspdev media]# ls –l //挂载CentOS版本;

total 484

dr-xr-xr-x 2 root root 432128 Mar 5 10:16 CentOS //CentOS RPM包位置

-r--r--r-- 1 root root 14 Mar 2 05:00 CentOS_BuildTag

-r--r--r-- 1 root root212 Oct 1 2009 EULA

-r--r--r-- 1 root root 18009 Oct 1 2009 GPL

dr-xr-xr-x 4 root root 2048 Mar 5 10:12 images

(篇幅原因,省略部分)

-r--r--r-- 1 root root 7058 Mar 5 10:22 TRANS.TBL

[root@bspdev media]#

[root@bspdev CentOS]# pwd

/media/CentOS

安装repository工具包。

[root@bspdev CentOS]# pwd

/media/CentOS

[root@bspdev CentOS]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm

warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...########################################### [100%]

1:createrepo ########################################### [100%]

将rpm包拷贝的准备好的/yum/server中去。

[root@bspdev CentOS]# cd /

[root@bspdev /]# mkdir /yum/server -p

[root@bspdev media]# cd CentOS

[root@bspdev CentOS]# cp * /yum/server/

You have mail in /var/spool/mail/root

[root@bspdev CentOS]#

这样,我们将所有的rpm包保存在了/yum/server上。

最后,我们建立reposity的索引。

[root@bspdev CentOS]# createrepo /yum/server

2669/2669 - totem-devel-2.16.7-7.el5_6.1.i386.rpm

Saving Primary metadata

Saving file lists metadata

Saving other metadata

3、配置参数文件

修改服务端文件,设置行为。

[root@bspdev CentOS]# vi /etc/yum.conf

[main]

cachedir=/var/cache/yum

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

distroverpkg=redhat-release

tolerant=1

exactarch=1

obsoletes=1

gpgcheck=0 //本地一般不需要设置该选项

plugins=1

bugtracker_url=http://bugs.centos.org/yum5bug

# Note: yum-RHN-plugin doesn't honor this.

metadata_expire=1h

installonly_limit = 5

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

~

在客户端,我们创建新的容器和配置文件。首先我们先将原有的信息备份保存。

-客户端

[root@bspdev CentOS]# cd /

[root@bspdev /]# mkdir /etc/yum.repos.d/bak

[root@bspdev /]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

[root@bspdev /]# cd /etc/yum.repos.d/bak/

[root@bspdev bak]# ls -l

total 36

-rw-r--r-- 1 root root 1926 Feb 25 16:20 CentOS-Base.repo

-rw-r--r-- 1 root root 631 Feb 25 16:20 CentOS-Debuginfo.repo

-rw-r--r-- 1 root root 626 Feb 25 16:20 CentOS-Media.repo

-rw-r--r-- 1 root root 6118 Feb 25 16:20 CentOS-Vault.repo

[root@bspdev bak]# cd /

[root@bspdev /]# vim /etc/yum.repos.d/localyum.repo

[localyum] //容器名

Name=localyum

baseurl=file://yum/server //目录

enable=1

gpgcheck=0

~


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9891855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存