个人GitHub地址 :https://github.com/LinMingQiang
###Splunk
- Splunk概念
Splunk 是机器数据的引擎。 使用 Splunk
可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的快速移动型计算机数据 。从一个位置 搜索并分析所有实时和历史数据。
使用 Splunking
处理计算机数据,可让您在几分钟内(而不是几个小时或几天)解决问题和调查安全事件。监视您的端对端基础结构,避免服务性能降低或中断。以较低成本满足合规性要求。关联并分析跨越多个系统
- 整体架构概念
- Splunk分为服务器(Splunk)和客户端(Splunkforwarder)。Splunk的服务器就是索引器和接收器。客户端就是数据的转发器。顾名思义就是数据可由客户端转发至server端进行索引。客户端只起到转发数据的作用。
- 安装装备
- 安装包两个:
- 服务器:splunk-6.5.2-67571ef4b87d-linux-2.6-x86_64.rpm
- 客户端:splunkforwarder-6.5.2-67571ef4b87d-linux-2.6-x86_64.rpm
- 下载地址:官网https://www.splunk.com/ 要先注册
- 服务器安装
- 安装(使用root权限): rpm -ivh –prefix=/home/splunk splunk_package_name.rpm
- –prefix=后面是你要安装的路径,不加这个默认是/opt/splunk
- 启动:$SPLUNK_HOME/bin/splunk start –accept-license
- 如果你要用非root启动需要将splunk安装路径赋予权限给新用户
- 设置开机启动:$SPLUNK_HOME/bin/splunk enable boot-start
修改索引位置设置(如果你要把索引放在其他指定的目录的话):
//拷贝元数据的日志到指定目录
cp -fr /opt/splunk/var/lib/splunk/* /…./….
- 修改$SPLUNK_HOME/etc/splunk-launch.conf 文件。
- 修改里面SPLUNK_DB=/新路径,重启splunk。
- 运行启动后在web输入:http://127.0.0.1:8000 查看server登录页面
- 更改许可证书;
- 初始账户密码是 admin 和 changeme
- 设置接收数据的端口:
- 点击页面右上角的设置里面的”转发和接收”。选择 “配置接收”那点“新增”。输入你要接收数据的端口如12345 到这里服务器就基本准备好了。
- 创建索引:
- 点击页面右上角的设置里面的 “索引” 。选择 “新增索引”。
- 客户端的安装
转发数据到哪你可以修改:$SPLUNK_HOME/etc/system/local/output.conf
- rpm -ivh –prefix=/home/splunk splunk_package_name.rpm
- ./splunk start –accept-license
- 修改客户端的密码:./splunk edit user admin -password ‘新密码’ -role admin -auth admin:changeme
- 设置客户端的输出(发送的服务器和端口):./splunk add forward-server server_ip:12345
- 查看你的输出设置:./splunk list forward-server
- 注册客户端到服务器:./splunk set deploy-poll server_ip:8089
- 你需要将这个客户端注册到服务器。你在web页面上就可以看到有哪些客户端。而且可以在页面上配置监控服务器
监控一个目录:
./splunk add monitor /your_dir_path
./splunk add monitor /var/log/\*.log
./splunk add monitor /your_dir_path -index indexname -sourcetype sourcetypename
删除
./splunk remove monitor /data/weblog/oem.v2.zhiziyun.com
- 显示有哪些被监控:./splunk list monitor
- 重启客户端
以上客户端的输入和输出配置都可以通过修改他的配置文件来生效。(怎么配置看官方文档)
监控哪些目录你可以修改:$SPLUNK_HOME/etc/system/local/input.conf
格式如下:
host = 本机的hostname
[monitor://日志地址(这里可以使用正则来过滤数据)] index=indexName sourcetype=sourceName [monitor://另一个] index=indexName sourcetype=sourceName [monitor:///xxx/xxx/log/xxx/xxx.log] index=xxxxxxxx sourcetype=xxxxxx
- 监控客户端的目录
- 选择页面右上角 ‘设置’ 里面的“数据输入”
- 点新建:选择你监控的服务器列表 -> 输入你的文件夹路径(可以用正则过滤文件) -> 选择索引和数据类型
- 到此你的客户端就配置完成了。你可以在web的搜索界面看到你索引的目录里面的日志文件了。
- 如果你要监控多个客户端。你只需按照以上客户端的配置就行了。当然Splunk不止只有这么点功能。你可以查看官方的文档说明。
- 邮件告警
- 设置发邮件的服务器:设置->服务器设置->电子邮件设置
- Splunk的一大特点就是可以根据你的设置监控你的日志,如果满足你的设置报警条件,它就可以发邮件到特点的邮箱
- 删除索引
- Splunk似乎是 没有索引过期自动删除机制的(至少我没看到)
- 官方给的删除索引的方式有两个
- 全部清空一个索引数据:停掉server然后运行命令./splunk clean eventdata -index “test”
- 部分或者全部清空:载web上创建一个新的用户user。赋予can_delete角色。然后用这个用户登录,在搜索页面输入你 的查询条件如:index=”test” | delete 那他会把你查出来的都删掉
- 控制index的大小。可以在创建index的时候知道大小范围,超过这个大小索引数据就会被清空
-
*注意点
企业版转免费版(free)。如果不买的话(其实free版对看日志来说完全够用了,一天怎么说也不会有500M的日志,例外就算了,网上有破解的脚本),建议刚装好的时候就把证书转为free。因为一开始的时候默认是企业 trit版,当你建用这个版本建index之后,等过期了想再转free可能会出现index不可用,新建也不行,这个时候你可能需要重新安装,所以建议是刚装好splunk就把真证书转为free版然后重启即可。
在授权里面更改证书组即可。
- 查看使用情况