lua-resty-dogstatsd

使用 statsd datadog 提供程序发布指标。

$ opm get dailymotion/lua-resty-dogstatsd

lua-resty-dogstatsd

DogStatsD 的客户端,它是 Datadog 的 StatsD 指标服务器的扩展。使用 nginx cosocket API。

安装

    $ luarocks install lua-resty-dogstatsd

使用

    -- Require Library
    local resty_dogstatsd = require('resty_dogstatsd')
    
    -- Initialize
    local dogstatsd = resty_dogstatsd.new({
      statsd = {
        host = "127.0.0.1",
        port = 8125,
        namespace = "nginx_lua",
      },
      tags = {
        "environment:develop",
        "application:lua",
      },
    })
    
    -- DogStatsd Functions
    dogstatsd:event('Anything happened', ngx.req.raw_header())
    dogstatsd:service_check('lua', 0)
    
    -- Statsd Functions
    dogstatsd:gauge('lua.users', 100)
    dogstatsd:counter('lua.events', 5)
    dogstatsd:increment('lua.events', 1)
    dogstatsd:decrement('lua.events', 3)
    dogstatsd:timer('lua.page_render', 105)
    dogstatsd:histogram('lua.page_render_time', 105)
    dogstatsd:meter('lua.page_load', 1)

初始化函数

  • dogstatsd.new(config)

DogStatsd 函数

  • dogstatsd:event(title, text, meta)

    • title (字符串) -- 事件标题。

    • text (字符串) -- 事件文本。支持换行。

    • meta (表) -- 可选。

      • date_happened (时间) -- 为事件分配时间戳。(例如:1469106024)

      • hostname (字符串) -- 为事件分配主机名。(例如:example.com)

      • aggregation_key (字符串) -- 为事件分配聚合键。

      • priority (字符串) -- 可以是“normal”或“low”。

      • source_type_name (字符串) -- 为事件分配源类型。

      • alert_type (字符串) -- 可以是“error”、“warning”、“info”或“success”。

      • tags (字符串表) -- 标签表(例如:{'file:sample.lua','line:100'})

  • dogstatsd:service_check(name, status, meta)

    • name (字符串) -- 服务检查名称字符串。

    • status (整数) -- OK = 0,WARNING = 1,CRITICAL = 2,UNKNOWN = 3。

    • meta (表) -- 可选。

      • timestamp (时间) -- 为事件分配时间戳。(例如:1469106024)

      • hostname (字符串) -- 为事件分配主机名。(例如:example.com)

      • message (字符串) -- 描述服务检查当前状态的消息。

Statsd 函数

  • dogstatsd:gauge(stat, value, sample_rate, tags)

    • stat (字符串) -- 指标的标识符。

    • value (整数) -- 值是与指标关联的数字。

    • sample_rate (浮点数) -- 采样率。

  • dogstatsd:counter(stat, value, sample_rate, tags)

  • dogstatsd:increment(stat, value, sample_rate, tags)

  • dogstatsd:decrement(stat, value, sample_rate, tags)

  • dogstatsd:timer(stat, ms, tags)

    • ms (整数) -- 计时器以毫秒为单位测量操作完成所需的时间。

  • dogstatsd:histogram(stat, value, tags)

  • dogstatsd:meter(stat, value, tags)

  • dogstatsd:set(stat, value, tags)

许可证

GPL v3

作者

作者

mediba-system - https://github.com/mediba-system & yoshida-mediba - https://github.com/yoshida-mediba

许可证

gpl3

版本