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
创建——>报表