沸点大火-blog

人生杂烩

splunk理论及安装配置

splunk是什么?

面向云的日志搜索引擎,是一款功能强大的日志管理软件。不仅支持通过多种方式添加本地或远程日志,而且能够产生图形化报表。最强大的功能是其搜索功能——因此被称为”Google for IT”.

功能特性:

1、支持多平台安装

2、任意源获取任意数据

3、从远程系统中得到转发数据

4、关联复杂事件生成可视化视图

5、专门大数据引擎,支持大数据检索

6、数据中心扩展

7、提供基于角色的安全性控制

常用的功能性视图:

1、splunk索引任何数据

2、搜索和审查

3、关联事件

4、检测和告警

5、出报表

6、自定义仪表盘

web界面默认端口:8000

安装部署

/opt  —— 建议/opt目录最好单独分区或者给/分区足够大

考虑:时间同步问题

内存:最好1G

一、安装配置

软件下载:

http://zh-hans.splunk.com/download

1、安装

# rpm -ivh splunk-5.0.2-149561-linux-2.6-x86_64.rpm

————————————————————————-

Splunk has been installed in:

/opt/splunk

To start Splunk, run the command:

/opt/splunk/bin/splunk start

To use the Splunk Web interface, point your browser to:

http://localhost.localdomain:8000

Complete documentation is at http://docs.splunk.com/Documentation/Splunk

————————————————————————-

2、启动服务

# /opt/splunk/bin/splunk start

//首次启动会有许可协议,按q,再输入y。

3、设置开机自启动

# /opt/splunk/bin/splunk enable boot-start

Init script installed at /etc/init.d/splunk.

Init script is configured to run at boot.

4、查看帮助

# /opt/splunk/bin/splunk help enable

可以使用/etc/init.d/splunk管理splunk的启停

# /etc/init.d/splunk status

5、访问web页面

firefox http://172.16.254.239:8000 &

首次访问,会提示用户名密码admin/changeme

登录后,设置新的密码

6、修改默认端口的配置文件

# vim /opt/splunk/etc/system/default/web.conf

httpport = 8000

splunk日志的导入

数据源可以是本地的、远程的、Linux的、Unix的、windows的、交换机的、路由器的等等。也可以是web服务器的,IIS服务器的、ftp服务器的等等。

一、向splunk中导入本地日志  messages

添加数据——>syslog——>使用此 Splunk 服务器上的任何 syslog 文件或目录——>服务器上文件的路径 /var/log/messages ——>默认——>默认 继续——>默认,保存

二、搜索想要的日志

开始搜索——>输入aborting

搜其他 host=”localhost”

练习:将secure日志导入到splunk中,并验证其搜索功能

 

三、向splunk导入远程日志

环境:

splunk server :172.16.254.239

remote apache:172.16.254.200  web.up.com

开始配置:

注意:导入远程日志需要远程主机安装通用转发器(splunkforwarder)。

1、设置splunk服务器允许接收splunk转发器发送来的数据

管理器——>转发和接收——>配置接收中“新增”——>9999(指定接收数据的端口)——> 保存

2、在远程服务器上配置

1)安装splunkforwarder包

# rpm -ivh splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

2)配置splunkforwarder转发apache的日志

# /opt/splunkforwarder/bin/splunk start

# /opt/splunkforwarder/bin/splunk add forward-server 172.16.254.239:9999

Splunk username: admin

Password: changeme

Added forwarding to: 172.16.254.239:9999.

# cd /opt/splunkforwarder/etc/system/local/

# vim inputs.conf

[default]

host = web.up.com

[monitor:///var/log/httpd]

sourcetype = access_common

3)重启splunk转发器服务

# /opt/splunkforwarder/bin/splunk restart

3、验证结果

如果在splunk服务器的web页面能够看到web.up.com的apache的日志,就成功了。

简单搜索:

host=”web.up.com”

host=”web.up.com” error

host=”web.up.com”  OR error    //OR 或者

 

生成视图

导入测试数据

将Sampledata.zip放到splunk服务器上

继续浏览器操作

管理器——>数据导入——>文件和目录“新增”——>跳过预览——>上载并索引文件 ——>保存

一、体验splunk强大的搜索功能

sourcetype=”access_combined_wcookie”

1、搜索源类型为access_combined_wcookie,并且IP为10.2.1.44的日志请求

——81条

sourcetype=”access_combined_wcookie” 10.2.1.44

2、进一步搜索关于“purchase”的请求 —— 63条

sourcetype=”access_combined_wcookie” 10.2.1.44 purchase

3、进一步搜索http返回码不是200的购买请求

sourcetype=”access_combined_wcookie” 10.2.1.44 purchase NOT 200

4、进一步搜索不是404错误的请求

sourcetype=”access_combined_wcookie” 10.2.1.44 purchase NOT 200 NOT 404

用关键字搜索

搜索买花时间

sourcetype=”access_combined_wcookie” 10.2.1.44 action=purchase category_id=flowers

|:前面的搜索结果作为后面的命令的输入

1、搜索最热卖的商品  使用命令top

sourcetype=”access_combined_wcookie” action=purchase | top category_id

2、有多少名不同的顾客买了鲜花

需要使用stats命令和dc函数实现

sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats dc(clientip)

3、每个顾客分别买了多少花?

sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats count by clientip

需要使用stats命令和count函数并且使用by子句

4、倒序显示每个顾客购买多少花?

sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats count by clientip | sort -count

sort -count:按照count字段倒序排序

sort count:按照正序排序

5、给数据列起别名

sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats count by clientip | sort count | rename clientip as “顾客” , count as “购花总数”

 

二、将搜索结果保存为仪表盘

1、创建一个空的仪表盘

仪表板和视图——>创建仪表板——>ID:001  名称:每个顾客购花总数 ——> 创建

2、将搜索结果保存到仪表盘

sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats count by clientip | sort -count | rename clientip as “顾客” , count as “购花总数”

搜索——>创建——>仪表板面板——>每个顾客购花总数——>现有仪表板——>下拉列表中选择需要的仪表板——> 默认

三、在收集结果时动态更新生成的图表

创建报表

搜索:sourcetype=”access_combined_wcookie” action=purchase category_id=flowers | stats count by clientip | sort -count

创建——>报表