moooofly
moooofly
# 公司当前使用的 logstash 的 filter 配置 从公司使用的 [10-json-filter.conf.j2](https://git.llsapp.com/ansible-roles/ansible-role-docker-logstash/blob/master/templates/xpack/6.x/etc/logstash/conf.d/10-json-filter.conf.j2#L41) 配置文件中看到,其使用了如下三种 filter plugin : > plugin list 详见 https://www.elastic.co/guide/en/logstash/current/filter-plugins.html - [json](https://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html) - Parses JSON events ([github](https://github.com/logstash-plugins/logstash-filter-json)) - [mutate](https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html) - Performs mutations on...
# [ELK 最近的一些总结](https://blog.xizhibei.me/2017/04/08/elk--zui-jin-de-yi-xie-zong-jie/) - 你得**充分利用工具的力量**,`ansible`,`puppet`,`chef` 等之类的部署工具可以**将整个过程变为可重复执行的代码**,每次只要执行代码,就可以保证得到相同的结果,节省你还有他人的时间,如果这个过程是大家经常用的,不妨开源出去。 - 不要过分浪费时间在挖掘服务器的性能上:服务器调优的时间,完全可以去开发更多的业务功能或者更有价值的事情上去。 - 当你的老板觉得这个 ELK 日志集群服务器很花钱的时候,告诉他能得到什么: - **快速定位问题的能力**,日志里面记录着所有问题的蛛丝马迹; - **更多维度的监控能力**,也就是快速发现问题的能力。不妨计算下,宕机一小时,你们会损失多少钱; - **可用来分析用户行为**,作为个性推荐的基础数据; - **可用来反爬虫**,平台大了之后,总会有爬虫来爬你数据的,遇到恶意爬虫,甚至会造成服务器的不稳定,也是造成损失的因素; ELK 运维工具: - **Curator**:这个工具是用来运维的,包括**删除老的数据**,**备份数据**等等,可能是因为配置太复杂了,命令行确实太复杂,所以 Curator 提供了基于 yml 格式的配置文件来执行相关操作。 举个最常用的例子,删除旧的 indices,释放空间...
# [ElastAlert:『Hi,咱服务挂了』](https://blog.xizhibei.me/2017/11/19/alerting-with-elastalert/) - ElastAlert 是基于 Elasticsearch 的报警工具,假如你的日志是放在 ES 里面的,这个工具是你不错的选择。 - 报警系统对于线上服务稳定性的保障作用不用多说,很多情况下,作为监控中最重要的输出环节,假如监控探测到了问题,却无法通知到我们,或者干脆通知错了,通知太过频繁,都容易导致故障的出现。 - 好的报警系统功能,至少需要达到以下几点:及时,准确,少; - 现实中,这三点很难全部达到,往往我们做到的也就只是及时: 不管什么报警,统统通知给运维与开发人员,导致他们习惯性忽略报警通知。 - 报警规则 - **frequency** - 报警抑制:减少重复报警 - 报警聚合:相同报警,聚合为一条 - 报警格式化:突出重要信息 - **any**:这个是查到了什么便直接报警,属于自定义选项; - **spike**:API...
# [基于 ElasticSearch 的日志统计反爬虫策略](https://blog.xizhibei.me/2017/04/22/ji-yu--elasticsearch--de-ri-zhi-tong-ji-fan-pa-chong-ce-lve/) - **用 rate limit 的方式可以起到反爬虫的效果**,但是一旦遇到利用代理 IP 来爬你网站的时候,就会遇到问题了; - **用日志去解决爬虫**,也是一种简单而有效的做法,可以**使用 ElasticSearch 提供的 aggregate 功能**,去筛选出可疑的 IP 以及 UA ; - 对于这类的爬虫(利用代理 IP 来爬你网站),它仍会有显著的特征:在短时间内,只请求几个接口,而长时间里,它的请求量会非常高; - 得到结果后,配合 Nginx 或者 HAProxy,做...
# [关于生产环境日志收集](https://blog.xizhibei.me/2016/07/26/guan-yu-sheng-chan-huan-jing-ri-zhi-shou-ji/) - 日志收集的选型 - 收集工具 - 日志传输方式 - 日志规范 - 日志安全 - 其它作用
# [Docker ELK 搭建](https://blog.xizhibei.me/2016/04/22/docker-elk-da-jian/) ## 最简结构 ``` logstash => elasticsearch => kibana ``` 这个最简单,对于项目的早期来说,请求量不高,完全够了。 ## 加 Broker 缓冲结构 ``` logstash-shipper => broker => logstash-indexer => elasticsearch => kibana ``` 等用户量与请求量大了一个量级,就需要有一个...
# [Docker ELK 搭建经验总结之二](https://blog.xizhibei.me/2016/05/12/docker-elk-da-jian-jing-yan-zong-jie-zhi-er/) ## 禁止内存换出 memlock **在 docker 中运行 elasticsearch 有个很大的问题**就是 ``` bootstrap.mlockall: true ``` 这个选项不起作用,总是会报错,后来查了一下,在普通机器上需要运行这个命令: ``` ulimit -l unlimited ``` 但是如果你在 docker 里面运行这个命令,会报错,提示无权限; **解决方法是在运行的时候设置 ulimit**,我用的 `docker-compose`,于是可以这样设置: ``` environment:...
# [Filebeat + Elasticsearch + Kibana 轻量日志收集与展示系统](https://wzyboy.im/post/1111.html) - ELK (Elasticsearch + Logstash + Kibana) 不再是日志收集与展示系统的铁三角了。本文介绍用 Filebeat 代替 Logstash Shipper,用 Elasticsearch Ingest Node 代替 Logstash Indexer 实现一个更加轻量高效的日志收集与展示系统; - 与 Logstash 一样,Beats...
# [State of the event log architecture enhancements](http://www.ultrabug.fr/tag/syslog-ng/) 小结: - 介绍了 syslog 格式扩展,数据结构化的演进; - 说明了 **CEE-enhanced messages** and **Lumberjack** 的起源; - CEE-enhanced messages 通过定义称为 cookie 的标识符,扩展了日志消息格式,并保证了兼容性; - Lumberjack 定义了如何格式化上述 cookie...
# [Logging Best Practices](http://www.structlog.org/en/0.3.1/logging-best-practices.html) - Local Logging - Syslog - runit’s svlogd - Centralized Logging - Syslog (Again!) - Logstash with Lumberjack - [Graylog2](http://graylog2.org/) > - Lumberjack 是一种 log shipper...