通过Chef部署Rsyslog
本文档假设您对Chef有一定的了解,并且正在使用基于Debian的服务器,该服务器已经有Rsyslog。如果没有的话,这里是了解Chef的一个很好的起点:我们使用的DevOps工具以及我们如何使用它们
您将需要InsightOps上的帐户,您可以在InsightOps免费试用中创建一个免费帐户。
基本的
安装程序
假设您已经运行了Chef生态系统。
使用BerksShelf或LibraryChef,您需要将以下内容添加到本地计算机上的Chef文件或Berksfile中:
1.食谱“le_rsyslog”,:git=>'https://github.com/joeheung/le_rsyslog'
基本的
实例
在我们的用例中使用一个简单的Web服务器,我们将nginx和rsyslog设置为登录到logentries.com。
我们的web服务器有2个nginx日志:
1./var/log/nginx/access.log2./var/log/nginx/error.log
假设您有一个继承nginx和le_rsyslog的Web服务器cookbook,我们可以覆盖默认atributes文件中的以下内容。
1.节点['le_rsyslog']['logentries']['logs']
示例是在web服务器属性文件中包含以下内容。
1.重写['le_rsyslog']['logentries']['logs']=[{:name=>'nginxaccess',:log=>'/var/log/nginx/access.log',:token=>'012345670123012301233012345678901'},{:name=>'nginxror',:log=>'/var/log/nginx/error.log',:token=>'abcdefghabcdefghijkl}]
现在,每次将web服务器配置为web服务器时,Rsyslog都会使用属性文件中指定的令牌自动将其Nginx日志发送到logentries.com。
对于每个令牌,这将导致日志事件被传递到相关的logon日志条目。
在logentries.com中,日志的格式如下:
1.webserverA nginxaccess 66.249.67.87---[20/Nov/2014:16:46:02+0000]“GET/robots.txt HTTP/1.1”301 178“-”Mozilla/5.0(兼容;Googlebot/2.1+http://www.google.com/bot.html)"2.webserverB nginxaccess 66.249.67.87---[20/Nov/2014:16:46:02+0000]“GET/HTTP/1.1”301 178“-”Mozilla/5.0(兼容;Googlebot/2.1+http://www.google.com/bot.html)"3.网络服务器nginxaccess 70.115.128.218---[20/Nov/2014:16:53:10+0000]“GET/HTTP/1.1”301 178“-”Mozilla/5.0(Windows NT 6.3;Win64;x64;Trident/7.0;Touch;MAARJS;rv:11.0)与Gecko一样”4.webserverB nginxaccess 190.64.75.50---[20/Nov/2014:16:18:31+0000]“GET/HTTP/1.1”301 178“-”Mozilla/5.0(Macintosh;英特尔Mac OS X 10_10_1)AppleWebKit/537.36(KHTML,如Gecko)Chrome/38.0.2125.122 Safari/537.36”5.webserverB nginxaccess 71.80.102.213---[20/Nov/2014:16:18:46+0000]“GET/HTTP/1.1”301 178“-”Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/38.0.2125.111 Safari/537.36”6.网络服务器nginxaccess 195.224.113.195---[20/Nov/2014:16:29:51+0000]“GET/HTTP/1.1”301 178“-”Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/38.0.2125.111 Safari/537.36”
这页对你有帮助吗?