码迷,mamicode.com
首页 > 其他好文 > 详细

10-28质量监控ELK

时间:2018-10-28 19:21:27      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:dock   std   faq   分享   ocs   内存调整   begin   output   stash   

质量监控平台ELK

1.安装方法:

2..启动elk

sysctl -w vm.max_map_count=262144

docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -d --name elk sebp/elk

3交互页面直接输入日志

此时会将input的内容,当作日志输出

方法1:进入elk终端,进入日志输入命令行

```#shell
docker exec -it e4d3aa4921b6 /bin/bash
/opt/logstash/bin/logstash --path.data /tmp/logstash/data -e ‘input { stdin { } } output { elasticsearch { hosts => ["localhost"] } }‘
此时输入任意文字
技术分享图片
在Kibana中进入DIscover,然后Create index pattern,写入他所发现的索引,设置时间字段就可以创建了
检索
技术分享图片

方法2:不进入终端,直接进入日志输入命令行

docker run -it --name logstash --rm logstash --path.data /tmp/logstash/data -e ‘input { stdin { type=> "doc"} } output { elasticsearch { hosts => ["172.16.40.200"] } }‘
注意:此处一定要填写IP,不能填写localhost或者127.0.0.1,否则错误如下
技术分享图片

4.批量传入本地数据

4.1新建配置文件conf/csv.conf,注意IP地址:ifconfig en0

input {
    file {
        path => "/data/*.csv"
        start_position => beginning
    }
}
filter {
   csv{
        columns =>[ "log_time", "user", "api", "status", "version"]
   }
  date {
        match => ["log_time", "yyyy-MM-dd HH:mm:ss"]
        timezone => "Asia/Shanghai"
    }
}
output {
    elasticsearch {
        hosts => ["172.16.40.200:9200"]
        index => "logstash-seveniruby-%{+YYYY.MM.dd}"
    }
}

4.2创建数据:data/demo.csv

2018-10-28 11:29:00,chenshanju,topics.json,200,7.4
2018-10-28 11:29:01,chenshanju,topics.json,200,7.4
2018-10-28 11:29:02,chenshanju,topics/3.json,200,7.4
2018-10-28 11:30:01,chenshanju,topics/4.json,200,7.4
2018-10-28 11:30:20,chenshanju,topics/1.json,200,7.4
2018-10-28 11:40:20,chenshanju,topics/5.json,200,7.4

4.3 执行

docker run -it --name logstash --rm -v $PWD/conf:/conf -v /Users/chenshanju/Desktop/docker/data/:/data logstash -f /conf/csv.conf

4.4注意

data和conf在同意目录下,命令也在该目录下执行

4.4持续日志

另开终端,执行以下脚本

#注意:此脚本不要忘记传入user
while true
do
version=$([ $((RANDOM%5)) -ge 1 ] && echo debug || echo test)
version=${version}_3.$((RANDOM%3))
userList=(chenshanju chenyi csj java python)
user=${userList[$((RANDOM%5))]}
api=api/$((RANDOM%5)).json
status=$((RANDOM%5))00
ip=192.168.0.1$((RANDOM%5))$((RANDOM%5))
echo $(date +"%Y-%m-%d %H:%M:%S"),${user},${ip},${api},${status},${version} | tee -a $(
date +%Y%m%d%H%M).csv
sleep 0.$((RANDOM%5))
done

FAQ:

1.elk启动成功,但传入data时失败。因为elk需要4G内存,但我给docker只提供了2G。将内存调整为4G即可

技术分享图片
技术分享图片

10-28质量监控ELK

标签:dock   std   faq   分享   ocs   内存调整   begin   output   stash   

原文地址:https://www.cnblogs.com/csj2018/p/9866292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!