splunk连mysql有什么限制

splunk连mysql有什么限制,第1张

环境设置完成后既可添加数据,本实例以MYSQL数据库为例.

在Manange>External Databases下点击NEW进入到"ADD new database"面板,选择MYSQL数据库,将数据库地址,服务端口(3306),数据库名称,用户名和密码!

Splunk DB Connect安装与其他Splunk

App有点不同,它需要java环境才可以跑起来,对于MSSQL,HyperSQL可以直接连接,但对于MYSQL和Oracle

JDBC则需要下载相应的drivers,下载地址:

MYSQL:

http://dev.mysql.com/downloads/connector/j/

The archive contains the JDBC driver: mysql-connector-java-*-bin.jar

Oracle JDBC:

ojdbc6.jar from http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-111060-084321.html

需要将下载的jar文件放在 $SPLUNK_HOME/etc/apps/dbx/bin/lib 目录下.

在Splunk

DB Connect configuration里设置本机的JAVA环境:

环境设置完成后既可添加数据库,本实例以MYSQL数据库为例.在Manange>External Databases下点击NEW进入到"ADD new database"面板,选择MYSQL数据库,将数据库地址,服务端口(3306),数据库名称,用户名和密码:

DB

info功能是可以查看以连接的数据库中各个表的结构信息,使用方法也是极其简单,找到选择的表,点击一下就可以看到此表的各种详细信息,包括各个字段,类型,长度等等,具体信息如下图:

而DB query也正如其字面意思,就是运行一句sql语句:

以上都是一些小功能,而其导入database中的各个表的数据才是核心功能.首先提供了两种方式来export

data,dump方式和tail方式,两种方式都可以以选择整张表或运行sql语句的方式来export.

dump方式即为一次性的将表的内容全部export出来,然后索引到splunk中.如下图.

tail方式类似于linux的tail -f命令,即为对特定表内的数据进行追加索引,这样可以时时同步splunk与database内的数据.导入方法与dump方式类似,只是在指定sql语句时,对于where的条件要确定

database内的数据在索引后,字段的名字也会自动按sql语句或是表的字段名提取出来,非常的方便

以下是一些个人的使用心得:

1.对于数据库内存储的时间戳,最好使用FROM_UNIXTIME换成日期格式这样对于一次性dump的数据可以按时间排列,暂时未找到数据在export时使用一个字段的时间作为_time.

2.我在export中,发现对于表内记录一些使用整数来记录stats字段时对于非bool型字段,针对0和1,在export到splunk时该字段全部都被认作了false/true,解决办法为使用cast函数把该数值转换成字符型,例如cast(

`statsitem` AS char ) AS statsitem.

3.Splunk

DB Connect是可以lookup字段的,不过我比较爱偷懒,在sql语句内用了两个inner

join来直接lookup字段,虽然流程,数据正确性都没问题,但悲剧的是,由于这两个inner join

对于一个70w数据的表的tail导入,不到6个小时就成功的将database拖垮掉-_-!.所以老老实实去用lookup吧


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

原文地址: http://outofmemory.cn/zaji/7393966.html

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

发表评论

登录后才能评论

评论列表(0条)

保存