3.0.1 • Published 3 months ago

@myunisoft/loki v3.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

🚧 Requirements

🚀 Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn

$ npm i @myunisoft/loki
# or
$ yarn add @myunisoft/loki

📚 Usage

import { GrafanaApi } from "@myunisoft/loki";
import { LogQL, StreamSelector } from "@sigyn/logql";

const api = new GrafanaApi({
  // Note: if not provided, it will load process.env.GRAFANA_API_TOKEN
  apiToken: "...",
  remoteApiURL: "https://name.loki.com"
});

const ql = new LogQL(
  new StreamSelector({ app: "serviceName", env: "production" })
);
const logs = await api.Loki.queryRange(
  ql, // or string `{app="serviceName", env="production"}`
  {
    start: "1d",
    limit: 200
  }
);
console.log(logs);

You can also provide a Loki pattern to automatically parse logs (and infer the right type with TypeScript)

const logs = await api.Loki.queryRange(
  `{app="serviceName", env="production"}`
  {
    pattern: "<verb> <_> <endpoint>"
  }
);
for (const { verb, endpoint } of logs) {
  console.log({verb, endpoint });
}

API

GrafanaAPI

export interface GrafanaApiOptions {
  /**
   * Grafana API Token
   */
  apiToken?: string;
  /**
   * Remote Grafana root API URL
   */
  remoteApiURL: string | URL;
}s

Sub-class

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):

License

MIT

3.0.1

3 months ago

3.0.0

6 months ago

2.1.0

9 months ago

2.0.0

9 months ago

1.2.0

10 months ago

1.1.0

10 months ago

1.0.0

10 months ago