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

     创建——>报表