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 安装成功
资料