让我们使用Prometheus和mtail试着进行简单的日志收集吧

做的事情 (zuò de shì

尝试将 Prometheus 和 mtail 安装在同一实例上,并利用 mtail 统计 /var/log/messages 文件的行数结果,作为 Prometheus 的指标进行收集。

因为我第一次使用mtail,所以我在查找如何使用mtail的方法。

环境 ,译为 “环境”

    • Instance: t2.micro

 

    • OS: centos7

 

    • Prometheus: 2.01

 

    mtail: 3.0.0

准备mtail

我会从一个空白的状态开始。

安装Go

首先,安装Go(1.7以上版本)。

设置/创建GOPATH

sudo su -

编辑.bash_profile文件

vi .bash_profile
#以下の二行を追加する
export GOPATH=$HOME/go
PATH=$PATH:$HOME/bin:$GOPATH/bin

加载.bash_profile

source ~/.bash_profile

GOPATH的内容是在src文件夹中创建。

mkdir -p $GOPATH/src

安装Go和Git。

cd $GOPATH/src
yum install go git
go get github.com/google/mtail
cd github.com/google/mtail
make

创建程序文件

创建一个用于存储mtail操作配置文件的程序文件。
首先,创建一个用于存储程序文件的目录。
可以在任何地方创建,参考官方说明,在/etc目录下创建。

mkdir /etc/mtail

可以编写复杂的描述,但本次我们将创建最简单的程序文件。
这是一个仅用于计算日志文件行数的程序文件。
要指定目标日志文件,请在启动mtail时进行设置。
这时,line_count将成为在Prometheus上显示的指标名称。

cd /etc/mtail
vim test.mtail
# simple line counter
counter line_count
/$/ {
  line_count++
}

执行mtail

启动mtail,并读取已创建的程序文件。
使用-progs参数指定要读取的程序文件。
使用-logs参数指定要引用的日志文件。
值得一提的是,对程序文件的修改将动态地反映出来,无需重新启动mtail进程。

# /var/log/messages を対象に、行数カウントのプログラムファイルを指定してmtailを起動
mtail -progs /etc/mtail/test.mtail -logs /var/log/messages &

可以通过访问mtail的端点,在3903端口上获得mtail输出的度量指标数据。这些数据以json、prometheus和varz格式进行输出。

mtail的原始界面是这样的。

我访问了xx.xx.xx.xx:3903的界面。

ScreenShot 1.JPG
mtail on :3903
Build: mtail version v3.0.0-rc5-48-g6e17f80 git revision 6e17f8086ba73fe59c17e2156417bffdc4015d13 go version go1.8.3

Metrics: json, prometheus, varz

Debug: debug/pprof, debug/vars

Program Loader
test.mtail

No compile errors

Total load errors ; successes: 1

Log Tailer
/var/log

/var/log/messages

以JSON格式

xx.xx.xx.xx:3903/json 的内容,请用中文进行改写。

[
  {
    "Name": "line_count",
    "Program": "test.mtail",
    "Kind": 1,
    "Type": 0,
    "LabelValues": [
      {
        "Value": {
          "Value": 0,
          "Time": 0
        }
      }
    ]
  }
]

普罗米修斯格式

xx.xx.xx.xx:3903/metrics

xx.xx.xx.xx:3903/指标

# TYPE line_count counter
# line_count defined at test.mtail:2:9-18
line_count{prog="test.mtail"} 2

由於mtail順利啟動,現在我們準備prometheus。

普罗米修斯的准备

添加监视对象

为了让Prometheus引用mtail的端点,我们需要修改Prometheus的配置文件prometheus.yml。
在默认的prometheus.yml文件中,我们加入了localhost:3903的作业。

    static_configs:
      - targets: ['localhost:9090']
      - targets: ['localhost:3903'] ←追加した行

修改設定檔後,啟動Prometheus並確認能否收集到指標。

cd ~
cd prometheus-2.1.0.linux-amd64
./prometheus &
ScreenShot.JPG

检查指标

ScreenShot 2.JPG

Translation: 以上

广告
将在 10 秒后关闭
bannerAds