Fork me on GitHub

LogStash 日志搜集

 

安装

配置

  • bin目录添加logstash.conf
  • input { file { path => "E:/software/ELK/logs/file.log" //被采集的日志文件 start_position => beginning //采集位置 从开始 } }filter { //过滤为空 } output { stdout {}//标准输出显示 }

注: 配置文件必须utf8 without BOM格式编码 本机配置文件放在如下目录,建议是使用notepad++编辑配置

测试

`cd E:\software\ELK\logstash-2.4.0\bin`
`logstash.bat -f logstash.conf -t`
  • Configuration OK 证明配置成功
  • 启动:logstash.bat -f logstash.conf
  • 打开并编辑E:/software/ELK/logs/file.log文件,会自动搜集内容

导入

  • 配置如下: ` input { file { path => "E:/software/ELK/logs/file.log" start_position => beginning } } filter {

} output { elasticsearch { hosts => ["0.0.0.0:9200"] } }`

  • 启动:logstash.bat -f logstash.conf
  • 编辑日志文件,即可把日志到入es
  • 如果遇到这个问题:ut Elasticsearch appears to be unreachable or down! {:error_message=>"Connection refused: connect", 很可能是你的配置有问题:hosts,最好使用IP:端口的形式

 

为了更好地看到效果:

 static void Main(string[] args)
        {
            while (true)
            {
                StreamWriter sw = File.AppendText("E:\\software\\ELK\\logs\\log.txt");
                string w = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                sw.WriteLine(w);
                sw.Close();

                System.Threading.Thread.Sleep(2000);
            }

            Console.ReadKey();
        }

不断地向指定目录中写入内容,es中结果如下:

 

问题:

当搜集的内容中包含中文,就会出现上面的问题!需要在logstash 中配置编码格式:

 

 

 

5 安装logstash 为windows服务

cd到logstash文件夹下bin目录

创建一个run.bat

logstash.bat agent -f logstash.conf

下载nssm

https://nssm.cc/release/nssm-2.24.zip

解压拷贝nssm-2.24\win64目录下nssm.exe到logstash bin目录

cmd 运行 nssm install logstash

在弹出的界面设置 Path为run.bat,Details选项卡设置显示名,Dependencies选项卡设置依赖服务 elasticsearch-service-x64

最后点击install service 安装成功

资料

 

posted @ 2017-05-09 14:32  迁梦余光  阅读(471)  评论(0编辑  收藏  举报