flink+elk(2)-通过flink计算服务pv
flink+elk(2)-通过flink计算服务pv背景通过flink完成es中日志的格式化处理中说已经将 filebeat 抓取的日志通过 flink 进行了格式化。但是在这篇文章中,使用的还是类似批处理的思路,通过定时任务加 flink 的方式做处理。flink 更为出名的是他的流计算功能。本文将依托于 flink 的流计算功能,来演示如何实时计算应用的 pv,并通过 kibana 及 grafana 实时展示。
需求说明
实时通过 Kafka 读取日志数据。
将读取到的数据格式化,并放入 kafka 的另一个 topic 中。
读取格式化后的日志,实时计算 pv 。
将 pv 数据写入 es数据库 。
通过展示软件进行展示。
测试环境说明
系统版本
cpu
mem
ip
说明
ubuntu 22.04.1 LTS x86_64
2C
4G
10.13.13.111
flink服务器
ubuntu 22.04.1 LTS x86_64
2C
4G
10.13.13.111
zookeeper单节点服务器
ubuntu 22.04.1 LTS x86_64
2C
...
flink+elk(1)-通过flink完成es中日志的格式化处理
flink+elk(1)-通过flink完成es中日志的格式化处理背景使用flink完成应用日志的分类处理中说明了公司存在日志格式化等相关功能的需求。但是在实际应用中。处于稳定性和技术型考虑,打算将前文中的项目划分成多步骤实施。第一步就是编写一套程序,定时抽取es中的数据,对数据进行格式化处理,存入指定位置用于分析处理。
需求说明本项目需要完成以下三个需求。
定时读取 es 中指定 index 中的数据。
将数据进行格式化。
将格式化后的数据存入到指定数据源中。工具选择结合前文所说,后续此项目会被用于 kafka 与 es 之间,为了方便后续使用,本次直接使用 python + pyflink 进行开发。其中数据获取方便,尝试使用 pyflink 获取 es 中数据时,提醒我官方的连接器只支持 es 作为输出源,无法作为输入源。因为后续无需在 es 中获取数据,所以没有深究这里的使用方式,而是选择通过 requests 访问 es 来获取数据。
测试环境说明
系统版本
cpu
mem
ip
说明
ubuntu 22.04.1 LTS x86_64
2C
4G
10.13. ...
使用flink完成应用日志的分类处理
使用flink完成应用日志的分类处理需求说明公司日志使用的 elfk 架构,日志基本没用进行清理,直接存入到了 es 中。这样使得 es 的数据量极大。而且因为不同类型的日志都在一起,有些日志是有意义的,包含了交易信息,想要长久保留。但是有些非业务日志是不需要长久保留的,但是由于都在 es 的相同 index 中,清理起来很不方便。还有就是,由于某些原因,可能导致日志中有敏感数据,容易造成信息泄漏。基于上述几个原因,决定引入一个日志处理机制,可以将应用日志进行分类处理,并且在需要的时候可以对日志内容进行脱敏处理。
工具选择在上述需求基础上。设想了两种处理模式。
通过工具,定时处理 es 中的数据。
通过工具,直接在 kafka 与 es 之间进行流处理。第一种方法安全性更高,但是滞后性比较大,所以经过研究,决定使用第二种方法。
经过调研,找到如下几个工具。软件|官网|优点|缺点-|-|-|-flink|官网地址|性能好,可以无限扩展集群|需要额外安装,学习成本高filebeat|官网地址|配置简单,使用方便|功能简单,没有集群化,修改配置麻烦logstash|官网地址|功能丰富,系 ...
Nginx并发下限流基础知识以及一些思路
Nginx并发下限流基础知识以及一些思路文档tengine翻译文档
一些用到的变量123$binary_remote_addr 二进制格式的客户端地址。例如:\x0A\xE0B\x0E$remote_addr 客户端IP地址$server_name nginx内置变量,表示当前服务器
nginx限制请求数量
限速(比如下载文件的时候)
123456789location ~ \.php$ { #限制速度为10k limit_rate 10k; root /data/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;}
ngx_http_limit_req_module模块
1234567891011121314 ...
Docker 目录迁移
Docker 目录迁移背景因公司docker默认会将容器和镜像放在/var/lib/docker目录下,/var基本属性linux的主分区(类似windows的c盘存放了操作系统文件的分区)所以没过多久就占满了。需要转移docker到其他分区。
准备
确认迁移的目标目录空间是否充足12345678910# 查看分区使用情况df -lhT# 查看docker目录当前大小cd /var/lib/dockerdu -h --max-depth=1 ./# 建议新的存放目录使用lvm,这样方便后续扩容.# 这里使用 /data/docker 作为实际存储路径
备份 fstab文件
1sudo cp /etc/fstab /etc/fstab.$(date +%Y-%m-%d)
迁移
停止docker服务
1service docker stop
用rsync同步/var/lib/docker到新位置
1rsync -aqXS --progress /var/lib/docker/. /data/docker
将原有路径备份,并新建挂载点
12mv /var/lib/docker/ /da ...