1.基本介绍
Graylog是一个开源的完整的日志管理工具,功能和ELK类似,但又比ELK要简单,相对ELK也有自己的优势,不足之处大概就是扩展性没有ELK架构好。这篇文章里对两者做了一些比较,大家可以参考。Graylog2.2详细部署安装
最吸引我的大概就是对多行日志的处理了。同时,由于Graylog部署起来相对简单,很适合规模不大的情况下使用。当然,这不是说Graylog功能不强大,相反,其支持多种数据收集方式,提供一些统计功能、日志的持久化、简单的告警和对外接口,UI也比较友好。
2.架构介绍
引用下官网的两张图。
基本架构
集群部署
从图中我们可以看到,大体上包括Elasticsearch、MongoDb和Graylog三部分,功能上一目了然,就不用多说了。需要注意的是,最新版的Graylog已经可以支持Elasticsearch 5.x版本了。
下面是一张比较完整的架构图。
完整架构
3.安装方式
Graylog提供的安装方式多种多样。最简单的就是利用官方提供的ovf模板导入,瞬间就安装好了,对我等懒(xiao)人(bai)十分友好,也支持Dock和各种手动安装方式。
安装方式
4.版本
Graylog有开源版本,官方也提供了企业版供土豪们使用,企业版提供了自动归档和日志审核两个高级功能和一些技术服务支持。
版本功能及价格对比
前文已经说过,Graylog支持多种安装方式,如果是在互联网联通的环境下,分组件部署还是很方便的,照着官方文档step by step就可以了。但是我部署的环境和互联网是隔离的,逐个部署起来还是很操蛋的,所以就采用虚拟机的方式部署,非常方便。缺点就是官方的OVF模板是一个最小安装,后期如果扩容起来肯定不如自己逐个部署的这么方便明了。
1.下载
在官网很容易就可下载到,速度还是很不错的。
下载地址
OVF模板下载地址
不方便下载的可以用百度网盘下载
百度网盘下载地址
值得高兴的是2.3之后的版本就已经支持 Elasticsearch 5.x了,不要下之前的版本了。
2.部署及修改虚拟机配置
OVF模板的导入很简单,直接通过部署OVF模板菜单就可以很容易的导入了。导入的时候可以根据情况选择Thin或者厚zhibei。官方的虚拟机是采用的Ubuntu 14操作系统。
- 虚拟机默认用户名和密码都是ubuntu ,默认虚拟机是采用的DHCP,根据情况修改。一般直接修改 配置文件比较方便一点/etc/network/interfaces 里如下内容就可以了
iface eth0 inet static *******定义为静态IP
address 192.168.2.29 *******所要设置的IP地址
netmask 255.255.255.0 *******子网掩码
gateway 192.168.2.1 *******网关(路由地址)
修改完/etc/init.d/networking restart 一下就可以了。
-
为了使用方便,我们再安装一下VMware Tools。不过虚拟机默认没有光驱,我们需要把虚拟机关机,然后添加光驱后再安装。安装过程就不再详述了,mount光驱,cp、解压然后./vmware-install.pl 一路回车和yes就可以了。有疑问可以参考VMware的文档。
VMware Tools安装文档 -
最后我们再修改下时区直接用tzselect根据提示选择就可以了。Asia是5、中国是9。
前面基础工作准备完了,现在正式开始进行Graylog本身的安装配置。
1.进行初始化
sudo graylog-ctl reconfigure
需要说明的是系统的admin用户的密码和相关配置是不能直接修改的,需要使用命令或者修改配置文件来修改。
sudo graylog-ctl set-admin-password <password>
sudo graylog-ctl set-timezone <zone acronym>
sudo graylog-ctl reconfigure
或者修改配置文件/opt/graylog/graylog.conf
初始化完毕或者重启动需要一小段时间,打开页面如果显示正在restarting不要着急,稍等两分钟就好了。
2. syslog配置
Graylog本身支持多种采集方式,现在我们先使用syslog的方式进行配置。
- 客户端配置
根据客户端操作系统不同,默认使用rsyslog或者syslog-ng,配置都必将常见。
rsyslog:UDP*.* @GraylogIP:5140;RSYSLOG_SyslogProtocol23Format
rsyslog:TCP*.* @GraylogIP:5140;RSYSLOG_SyslogProtocol23Format
syslog-ng比较麻烦,需要先分别指定SOURCES 、FILTERS 和DESTINATIONS,再组起来。log { source S1; source S2; ... filter F1; filter F2; ... destinationD1; destination D2; ... }
这里有一篇文章,讲的比较清楚,我就不赘述了。
syslog-ng内容讲解
也可以看下官方文档Sending syslog from Linux systems into Graylog
在配置syslog时有两点要注意,一是不要指定514端口,因为虚拟机本身已经使用了514端口,再指定这个端口可能会冲突;二是采用是尽量采用TCP协议吧。
- Inputs设置
这里设置也比较简单,输入IP地址访问页面,用户名admin密码默认admin,进去后选择菜单System——>Inputs——>下拉选择Syslog TCP——>Launch new input然后最简单的只需选择Node(当然现在只有一个供你选择了)、填写Title和Port就可以了。Port要填写前面客户端配置的端口。
到这里我就算搭建了最简单的一个Graylog日志服务器了,现在你就可以开始慢慢的看你的日志了。至于具体的运用,咱们再慢慢探索。
来源:CSDN
作者:jianlecn
链接:https://blog.csdn.net/jianlecn/article/details/84618642