fluentd聚合数据给Prometheus提供指标

有时,需要计数一分钟内WARN的日志出现了多少次,fluentd第三方插件fluent-plugin-grepcounter提供了这个功能,取到指标之后,再使用Prometheus收集处理就方便多了,fluentd同样也有第三方的prometheus插件fluent-plugin-prometheus 首先安装fluentd(alpine系统) apk update apk add gcc apk add ruby ruby-dev build-base ruby-irb gem install fluentd -v "~> 0.12.0" --no-ri --no-rdoc 安装需要的插件 gem install fluent-plugin-grepcounter gem install fluent-plugin-prometheus 添加fluentd配置文件/fld.conf <source> @type prometheus </source> <source> @type tail path /a.log pos_file /a.pos tag a.log format none </source> <match warn.count.**> @type prometheus <metric> name message_warn_counter type gauge desc The total number of count in message in 10s. »

prometheus export取jvm,json指标

jmx-exporter 当Java应用提供jmx端口时可以在不重启应用的情况下使用jmx_exporterh给Prometheus提供指标 下载jmx_exporter wget https://share.vinkdong.com/_category/ops/java/jmx_exporter_1.0.tar.gz 解压jmx_exporter_1.0.tar.gz tar -xzf jmx_exporter_1.0.tar.gz cd jmx_exporter/ 编辑config.yml,hostPort改为对应的jmx地址,javaapp替换为对应app的名字 --- hostPort: 127.0.0.1:9902 username: password: lowercaseOutputName: true blacklistObjectNames: ["com.alibaba.druid:type=DruidDataSourceStat"] whitelistObjectNames: ["java.lang:type=Memory","java.lang:type=ClassLoading","java.lang:type=Threading","java.lang:type=OperatingSystem"] rules: - pattern: 'java.lang<type=(Memory|ClassLoading|Threading|OperatingSystem)><.*>(\w+):' name: framework_jvm_$1 labels: javaapp: uatosp name: $2 编辑run.sh,5557可以改为合适的端口 #!/usr/bin/env bash # Script to run a java application for testing jmx4prometheus. # Note: You can use localhost:5556 instead of 5556 for configuring socket hostname. »

浅析网络请求时间

Stalled 等待资源可以请求,等待连接释放,请求端口不包含DNS检索的时间 Proxy negotiation 代理协商时间 Request sent 第一个字节以前到最后一个字节发出的时间(上传时间) Waitting(TTFB) 请求发出后到收到相应的第一个字节的时间 Conntent Download 下载时间 DNS look up 域名解析时间 »