系统运维
前段时间用奥赛克收集了一些系统的日志(系统日志、安全、邮件日志等),看了下麋鹿这个架构,发现很适合奥赛克,也很好玩。
一、介绍:
麋鹿官网https://www.elastic.co/downloads
麋鹿由elasticsearch、logstash和基亚巴纳三个开源工具组成。
二、奥赛克雷迪斯麋鹿架构图:
1、每个应用的功能:
奥塞梯:事件源、警惕源
redis:用于处理队列,防止数据丢失。缓冲数据。
日志存储:它用来对日志进行收集、分割、集中日志平台
弹性搜索:开源分布式搜索引擎,提供搜索功能,并用来存储最终的数据
基巴纳:网络页面展示,支持各种查询、统计和展示
2、工作流程:
(1)、奥赛克客户通过1514端口把日志发送给奥赛克服务器(存储在/var/logs/ossec/alerts/alerts。日志),日志存储-发货人把奥赛克服务器的所有日志分割,并将分割后的日志内容发给雷迪斯。
(2)、redis作为奥赛克服务器和日志存储索引器之间的缓冲区,用来提升系统性能与可靠性,当logstash提取数据失败时,数据保存在雷迪斯中,不至于丢失。
(3)、日志存储索引器提取雷迪斯的日志,将日志收集在一起(负责汇总数据)。
(4)、日志存储索引器再把数据交给弹性搜索,弹性搜索存储最终的数据,并提供搜索功能。
(5)、最后通过基巴纳提供日志分析的网界面。
三、安装麋鹿:
1、麋鹿包
麋鹿更新很快,版本众多,如果选择版本不一致,可能没办法使用。
如果安装最新版本elk,logstash3.x配置要更改,如果使用logstash2.52的配置,会报错。
麋鹿有3种安装方式,我这里选择tar.gz包来安装。
logstash-1.5.2.tar.gz
elasticsearch-1.6.0.tar.gz
kibana-4.1.1-linux-x64.tar.gz
redis-3.0.6.tar.gz
2、服务器互联网协议(互联网协议)
奥赛克客户:192.168.153.187
奥赛克服务器:192.168.153.172(安装奥赛克服务器和logstash,把这台服务器看成是logstash的客户端(即日志存储-发货人)
埃尔克雷迪斯:192.168.153.200(这个logstash是服务器,即索引器)
3、安装过程
(1)、192.168.153.187
安装ossecclient,安装见之前的博客
(2)、192.168.153.172
安装奥赛克服务器,安装见之前的博客
安装logstash
logstash依赖jdk的,安装jdk
[root@elk-redis ~]# yum安装java-1.8.0-openjdk
[root@elk-redis ~]# java版本
openjdk版本1.8.0_91
[root @ ossec-server ~]# wget https://下载。有弹性。co/log stash/log stash/log stash-15 .2 .焦油。地面零点
[root @ ossec-server ~]# tar-xf log stash-1 . 5 . 2 . tar . gz-C/usr/local/
后台运行logstash
[root @ ossec-server ~]#/usr/local/log stash-1。5 .2/bin/log stash-f/usr/local/log stash-1。5 .2/log stash-200。会议
Logstash启动完成
{
@ timestamp=2016-05-19t 02:03:22.746 z
@version=1,
ossec_group=pam,syslog,
reporting_ip=192.168.153.187,
reporting _ source=/var/log/secure,
规则编号=5502,
严重性=3,
签名=登录会话关闭。
@ message=May 19 10:03:57 localhost sshd[4623]:PAM _ UNIX(sshd:session):为用户根关闭会话,
@fields.hostname=agent15,
@fields.product=ossec,
raw _ message=* * Alert 1463623401.3764:PAM,syslog,\\n2016年5月19日10:03:21(代理15)192。168 .153 .187-
/var/log/secure\\\\nRule: 5502(第3级)- \\\ '登录会话已关闭\ \ \ ' \ \ \ \ n may 19 10:03:57 localhost sshd[4623]:PAM _ UNIX
(sshd:session):用户根的会话已关闭,
ossec_server=ossec-server
}
{
@ timestamp=2016-05-19t 02:03:58.846 z
@version=1,
ossec_group=syslog,sshd,身份验证_成功,
报告来源=192。168 .153 .172,
规则编号=5715
严重性=3,
签名=SSHD认证成功。
src_ip=192.168.153.1,
acct=root,
@ message=May 19 10:03:57 ossec-server sshd[22805]:从192.168.153.1端口31490接受根的密码
ssh3,
@fields.hostname=ossec-server,
@fields.product=ossec,
raw _ message=* * alert 1463623437.4008:-syslog,sshd,authentic ation _ success .\ \ \ \ n 2016年5月19日10时03分57秒ossc服务器-
192 . 168 . 153 . 172 \ \ \ \ n规则:5715(第3级)-(ss高清)认证成功)。\ \ ' \ \ \ \ nsrc IP:192。168 .153 .1 \ \ \ \用户:根\ \ \ \ nMay月19日10:03:57
奥赛克伺服器ss HD[22505]:接受192.168.153.1连接埠31490 ssh3的根密码,
ossec _ server=ossec伺服器
(3)192 168 153 200
(一)安装弹性搜索
弹性搜索是依赖JDK(JDK)的,所以先安装JDK(JDK)
[root@elk-redis ~]# yum安装java-1.8.0-openjdk
[root@elk-redis ~]# java版本
打开JDK 1号。8 .0 _ 91版
[root@elk-redis ~]# tar -xf弹性搜索-1.6.0.tar.gz -C /usr/local/
后台启动弹性搜索
[root @ elk-redis ~]#/usr/local/弹性搜索-1 .6 .0/箱/弹性搜索-d
访问192.168.153.200:9200端口,200表明是吗启动成功
[根@ elk-redis ~]# curl http://192。168 .153 .200:9200
{
状态:200,
名称:弹性搜索节点01,
群集名称:弹性搜寻,
版本:>
编号:1.6.0,
build _ hash:3828 CB 95 BBB 86 d0中的cdd 3 ac 4 dde 4 f 69524 ec 0至14,
build _ timestamp:2015-06-09 t1 13:36:34 z
build _快照:false,
lucene_version : 4.10.4版
},
标语:你知道,用于搜索
}
乙。_安装里雅斯特3.0.6
[root @ elk-redis ~]# tar zxvf redis-3。0 .6 .焦油。地面零点
[root @ elk-redis ~]# CD redis-3。0 .6
[root @ elk-redis ~]# make prefix=/usr/local/redis install
//这里纠结一下,重复如果不指定前缀(前缀)路径,那么默认会在你这个解压的文件夹中编译生成是我文件
[root @ elk-redis ~]# ln-SV/usr/local/redis/bin/redis服务器/usr/bin/redis服务器
[root @ elk-redis ~]# ln-SV/usr/local/redis/bin/redis-CLI/usr/bin/redis-CLI
[root @ elk-redis ~]# CP tmp/redis-3。0 .6/utils/redis _ init _ script/etc/RC。d/初始化。d/redis
配置再说一遍
[root @ elk-redis ~]# VI/etc/RC。d/初始化。d/redis。会议
//然后在第二行插入chkconfig配置,然后修改执行(执行)和CLI(命令行界面),我的这个文件前几行是这样的
#!/bin/sh
# chkconfig: 2345 90 10
#简单Redis init.d脚本专为在Linux操作系统系统上运行而设计
#因为它使用/proc文件系统。
再运动=6379
exec=/usr/local/redis/bin/redis服务器
CLI exec=/usr/local/redis/bin/redis-CLI
pifile=/var/run/redis _ $ { re sport } .管道仪表流程图
conf=/etc/redis/$ { re sport } .会议文件
[root @ elk-redis ~]# mkdir/etc/redis/
//这个目录用于放我们的配置文件
[root @ elk-redis ~]# mkdir/var/RDB/
//这个目录存放再说一遍的数据库文件
再说一遍源码包中自带redis.conf文件,但这个只是模版,具体配置根据自己的环境设置
[root @ elk-redis ~]# VI/etc/redis/redis。会议
启动再说一遍
[root @ elk-redis ~]#/etc/init。d/redis开始
启动重定向服务器.
1447年5月18日下午3时50分342秒*将打开文件的最大数量增加到10032(最初设置为1024)。
_,请参阅。_
_,请参阅。-是吗?_
_,请参阅。-什么?` _。\ \ ' \ \ '-。_ Redis 3.0.6 (00000000/0)位元。-什么?-什么?"\\/_"。_ \ \ ' \ \ '-。_
(\\)。-| `,'在独立模式下运行
|`-。[原件:英文]。-什么?_ | \ \ ' _ '-\ \ ' |端口:6379
| `-。_ `。_/_。S7-1200可编程控制器
-。_ `-。_ `-。/_。-\ \ ' _ '-\\ "
|`-。_`-。_ `-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' _ '-\ \ ' |
| `-。_`-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' | http://里亚尔。我
-。_ `-。_`-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' _ '-\\ "
|`-。_`-。_ `-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' _ '-\ \ ' |
| `-。_`-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' |
-。_ `-。_`-。_ _ _ _ _ _。-\ \ ' _ '-\ \ ' _ '-\\ "
-。_ `-。_ _ _ _ _ _。-\ \ ' _ '-\\ "
-。_ _ _ _ _ _。-\\ "
-。_ _ _ _ _ _。-\\ "
1447:M18 may 17:03:50.345 #警告:TCP积压设置511无法强制执行,因为/proc/sys/net/core/somxcon是
设置为128的较低值。
1447年5月18日17时03分50.346 #服务器已启动,redis 3。0 .6版
1447:M18 may 17:03:50.346 #警告超量提交_内存设置为0!后台保存可能在内存不足的情况下失败。要修复
此问题将\\\'vm.overcommit_memory=1\\\ '添加到/etc/sysctl.conf,然后重新引导或运行命令\\\'sysctl
vm.overcommit_memory=1\\\ '以使其生效。
1447年5月18日17时03分50.346 #警告您的内核中启用了透明大页面(THP)支持。这将创造
雷迪斯的延迟和内存使用问题。要解决此问题,请运行命令\\\ '从不回显
/sys/kernel/mm/transparent _ huge page/enabled \ \ \ '作为根用户,并将其添加到/etc/rc .本地中,以便在
重启。禁用推进马力推力功率(thrust horsepower)后,必须重新启动Redis .
1447年5月18日下午3时50分357秒*从磁盘加载数据库:0.011秒
1447年5月18日下午3时50分357秒*服务器现在准备好接受端口6379上的连接
1447年18月5日月17:21:03.197 * 1 900秒内的变化。正在保存…
1447年5月18日17时21分03.198秒* PID 1466启动后台保存
1466年5月18日17时21分3.202秒*数据库保存在磁盘上
RDB:写入时复制使用0 MB内存
1447年5月18日17时21分03.299秒*后台保存成功终止
1447年18月5日月17:26:04.090 * 10 300秒变化。正在保存…
1447年5月18日17时26分04.090秒* PID 1468启动后台保存
1468年5月18日17时26分数据库保存在磁盘上
[root@elk-redis]# redis-cli
127.0.0.1:6379监视器
好
1463623574.234636
blpop logstash:redis 0 1
1463623575.453969[0 192 .168 .153 .172:36662]r push log stash:redis { \ \ \ \ @ timestamp \ \ \ \:\ \ 2016-05-19t 02:03:58.848 z \ \,\ \ \ \ @版本
\\\\:\\\\1\\\\,\\\\ossec_group\\\\:\\\\pam,syslog,authentication_success,\\,\ \ \ \ reporting _ source \ \ \ \:\ \ 192。168 .153 .172 \ \ \ \,\ \规则编号\ \ \ \:
\\\\5501\\\\,\\\\严重性\\\\:3,\\签名\ \ \ \:\ \ \登录会话已打开\\\\,\ \ \ \ @ message \ \ \ \:\ \ \ \ 5月19日10:03:57 ossec-server sshd[22805]:
pam_unix(sshd:session):由(uid=0)\ \ \ \,\ \ \ \ @字段。主机名\ \ \ \:\ \ \ \ ossec-server \ \ \ \,\\\\@fields.product\\\\:
\\\\ossec\\\\,\ \ \ \ raw _ message \ \ \ \:\ \ \ \ * * Alert 1463623437.4316:PAM,syslog,authentication_success,\\\\n2016年5月19日10时03分57秒
服务器-192 .168 .153 .172 \ \ \ \ \ \ \ \ n规则:5501(级别3) - \\\ '登录会话已打开\ \ \ ' \ \ \ \ \ \ \月19日10:03:57 ossec-server sshd[22805]:PAM _ UNIX
(sshd:session):由(uid=0)\ \ \ \ \ \,\ \ \ \ ossec _ server \ \ \ \:\ \ \ \ ossec-server \ \ \ \ }为用户根打开的会话
1463623575.456066
blpop logstash:redis 0 1
blpop logstash:redis 0 1
1463623601.534860[0 192 .168 .153 .172:36662]r push log stash:redis { \ \ \ \ @ timestamp \ \ \ \:\ \ 2016-05-19t 02:05:17.007 z \ \,\ \ @版本
\\\\:\\\\1\\\\,\\\\ossec_group\\\\:\\\\pam,syslog,\\,\ \ \ \ reporting _ source \ \ \ \:\ \ \ \ 192。168 .153 .172 \ \ \ \,\ \ rule _ number \ \ \ \:\ \ 5502 \ \ \ \,\\severity\\\\:3
\\\\签名\ \ \ \:\ \ \ \登录会话已关闭\\\\,\ \ \ \ @ message \ \ \ \:\ \ \ \ 5月19日10:05:16 ossec-server sshd[22805]:PAM _ UNIX(sshd:session):
用户根\\\\,\ \ \ \ @个字段。主机名\ \ \ \:\ \ \ \ ossec-server \ \ \ \,\ \ \ \ @字段。产品\ \ \ \:\ \ \ \ ossec \ \ \ \,\\\\raw_message\\\\:\\\\**警报的会话已关闭
1463623516.4585:PAM,syslog,\\\\\\n2016年5月19日10:05:16 ossec-server-192。168 .153 .172 \ \ \ \ \ \ n规则:5502(3级)- \\\ '登录会话
关门了\ \ \ ' \ \ \ \ \ \月19日10:05:16 ossec-server sshd[22805]:PAM _ UNIX(sshd:session):用户根\ \ \ \,\\\\ossec_server\\\\的会话已关闭:
\ \ \ \ ossec-服务器\\\\}
1463623601.542622
1463623601.562655[0 192 .168 .153 .172:36662]r push log stash:redis { \ \ \ \ @ timestamp \ \ \ \:\ \ 2016-05-19t 02:05:43.092 z \ \,\ \ @版本
\\\\:\\\\1\\\\,\\\\ossec_group\\\\:\\\\syslog,sshd,authentication_success,\\,\ \ \ \ reporting _ IP \ \ \ \:\ \ 192。168 .153 .187 \ \,\\reporting_source\\\\:
\\\\/var/log/secure\\\\,\ \ \ \ rule _ number \ \ \ \:\ \ \ \ 5715 \ \ \ \,\\\\severity\\\\:3,\\signature\\\\:\\\\SSHD验证成功\\\\,\\\\src_ip\\\\:
\\\\192.168.153.1\\\\,\\\\acct\\\\:\\\\root\\,\ \ \ \ @ message \ \ \ \:\ \ \ \ 5月19日10:06:18 localhost sshd[4834]:接受的根口令来自
192.168.153.1端口31537 ssh3\\\\,\ \ \ \ @字段。主机名\ \ \ \:\ \ \ \代理15 \ \ \ \,\ \ \ \ @字段。产品\ \ \ \:\ \ \ \ ossec \ \ \ \,\\raw_message\\\\:\\\\**预警
1463623542.4820:syslog,sshd,authentication_success,\\\\\\n2016年5月19日10:05:42(代理15)192。168 .153 .187-/var/log/secure \ \ \
\\\\nRule: 5715(第三级)- \\\'SSHD验证成功\ \ \ ' \ \ \ \ \ \ nSrc IP:192。168 .153 .1 \ \ \ \ \ \ \ \ n用户:root \ \ \ \ \ \ \ \ n月19日10:06:18 localhost sshd
[4834]:从192.168.153.1端口31537 ssh3\\\\,\ \ \ \ ossec _ server \ \ \ \:\ \ \ \ ossec-server \ \ \ \ }接受的超级用户口令
c、redis设置密码访问
[root @ elk-redis ~]# VI/etc/redis/redis。会议编号此文件默认在根目录下。
# requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为
要求通行证